1.4 Выбор вида помехоустойчивого кода и определение длины кодовой комбинации

Помехоустойчивое, или избыточное, кодирование применяется для обнаружения и(или) исправления ошибок, возникающих при передаче по дискретному каналу. Отличительное свойство помехоустойчивого кодирования состоит в том, что избыточность источника, образованного выходом кодера, больше, чем избыточность источника на входе кодера. Помехоустойчивое кодирование используется в различных системах связи, при хранении и передаче данных в сетях ЭВМ, в бытовой и профессиональной аудио- и видеотехнике, основанной на цифровой записи.

Если экономное кодирование сокращает избыточность источника сообщений, то помехоустойчивое кодирование, напротив, состоит в целенаправленном введении избыточности для того, чтобы появилась возможность обнаруживать и(или) исправлять ошибки, возникающие при передаче по каналу связи.

Чтобы посчитать вероятность ошибки кодовой комбинации найдем параметры кода. К ним относятся:

n=m+k – длина кодовой комбинации;

m – число информационных символов(разрядов);

k – число проверочных символов (разрядов);

Особую важность для характеристики корректирующих свойств кода имеет минимальное кодовое расстояние dmin, определяемое при попарном сравнении всех кодовых комбинаций, которое называют расстоянием Хемминга.

В безизбыточном коде все комбинации являются разрешёнными, и, следовательно, его минимальное кодовое расстояние равно единице - dmin = 1. Поэтому достаточно исказиться одному символу, чтобы вместо переданной комбинации была принята другая разрешённая комбинация. Чтобы код обладал корректирующими свойствами, необходимо ввести в него некоторую избыточность, которая обеспечивала бы минимальное расстояние между любыми двумя разрешёнными комбинациями не менее двух - dmin > 2.

Минимальное кодовое расстояние является важнейшей характеристикой помехоустойчивых кодов, указывающей на гарантируемое число обнаруживаемых или исправляемых заданным кодом ошибок.

При применении двоичных кодов учитывают только дискретные искажения, при которых единица переходит в нуль (1 → 0) или нуль переходит в единицу (0 → 1). Переход 1 → 0 или 0 → 1 только в одном элементе кодовой комбинации называют единичной ошибкой (единичным искажением). В общем случае под кратностью ошибки подразумевают число позиций кодовой комбинации, на которых под действием помехи одни символы оказались заменёнными на другие. Возможны двукратные (t = 2) и многократные (t > 2) искажения элементов в кодовой комбинации в пределах 0 < t < n.

Минимальное кодовое расстояние является основным параметром, характеризующим корректирующие способности данного кода. Если код используется только для обнаружения ошибок кратностью t0, то необходимо и достаточно, чтобы минимальное кодовое расстояние было равно

dmin > t0 + 1.(1.29)

В этом случае никакая комбинация из t0 ошибок не может перевести одну разрешённую кодовую комбинацию в другую разрешённую. Таким образом, условие обнаружения всех ошибок кратностью t0 можно записать в виде:

t0 ≤ dmin - 1.(1.30)

Чтобы можно было исправить все ошибки кратностью tи и менее, необходимо иметь минимальное расстояние, удовлетворяющее условию:

.(1.31)

В этом случае любая кодовая комбинация с числом ошибок tи отличается от каждой разрешённой комбинации не менее чем в tи + 1 позициях. Если условие (1.31) не выполнено, возможен случай, когда ошибки кратности t исказят переданную комбинацию так, что она станет ближе к одной из разрешённых комбинаций, чем к переданной или даже перейдёт в другую разрешённую комбинацию. В соответствии с этим, условие исправления всех ошибок кратностью не более tи можно записать в виде:

tи ≤ (dmin - 1) / 2 .(1.32)

Из (1.29) и (1.31) следует, что если код исправляет все ошибки кратностью tи, то число ошибок, которые он может обнаружить, равно t0 = 2∙tи. Следует отметить, что соотношения (1.29) и (1.31) устанавливают лишь гарантированное минимальное число обнаруживаемых или исправляемых ошибок при заданном dmin и не ограничивают возможность обнаружения ошибок большей кратности. Например, простейший код с проверкой на чётность с dmin = 2 позволяет обнаруживать не только одиночные ошибки, но и любое нечётное число ошибок в пределах t0 < n.

Длина кодовой комбинации n должна быть выбрана таким образом, чтобы обеспечить наибольшую пропускную способность канала связи. При использовании корректирующего кода кодовая комбинация содержит n разрядов, из которых m разрядов являются информационными, а k разрядов – проверочными.

Избыточностью корректирующего кода называют величину

,(1.33)

откуда следует

.(1.34)

Эта величина показывает, какую часть общего числа символов кодовой комбинации составляют информационные символы. В теории кодирования величину Bm называют относительной скоростью кода. Если производительность источника информации равна Ht символов в секунду, то скорость передачи после кодирования этой информации окажется равной

,(1.35)

поскольку в закодированной последовательности из каждых n символов только m символов являются информационными.

Если в системе связи используются двоичные сигналы (сигналы типа "1" и "0") и каждый единичный элемент несет не более одного бита информации, то между скоростью передачи информации и скоростью модуляции существует соотношение

,(1.36)

где V - скорость передачи информации, бит/с; B - скорость модуляции, Бод.

Очевидно, что чем меньше k, тем больше отношение m/n приближается к 1, тем меньше отличается V от B, т.е. тем выше пропускная способность системы связи.

Извеcтно также, что для циклических кодов с минимальным кодовым расстоянием dmin = 3 справедливо соотношение

k ³ log2(n+1).(1.37)

Видно, что чем больше n , тем ближе отношение m/n к 1. Так, например, при n = 7, k = 3, m = 4, m/n=0,571; при n = 255, k = 8, m = 247, m/n = 0,964; при n = 1023, k = 10, m = 1013, m/n = 0,990.

Приведенное утверждение справедливо и для больших dmin, хотя точных соотношений для связей между m и n нет. Существуют только верхние и нижние оценки, которые устанавливают связь между максимально возможным минимальным расстоянием корректирующего кода и его избыточностью.

Так, граница Плоткина даёт верхнюю границу кодового расстояния dmin при заданном числе разрядов n в кодовой комбинации и числе информационных разрядов m, и для двоичных кодов:

(1.38)

или

 при .(1.39)

Верхняя граница Хемминга устанавливает максимально возможное число разрешённых кодовых комбинаций (2m) любого помехоустойчивого кода при заданных значениях n и dmin:

,(1.40)

где - число сочетаний из n элементов по i элементам.

Отсюда можно получить выражение для оценки числа проверочных символов:


.(1.41)

Для значений (dmin/n) ≤ 0,3 разница между границей Хемминга и границей Плоткина сравнительно невелика.

Граница Варшамова-Гильберта для больших значений n определяет нижнюю границу для числа проверочных разрядов, необходимого для обеспечения заданного кодового расстояния:

.(1.42)

Все приведенные выше оценки дают представление о верхней границе числа dmin при фиксированных значениях n и m или оценку снизу числа проверочных символов k при заданных m и dmin.

Из изложенного можно сделать вывод, что с точки зрения внесения постоянной избыточности в кодовую комбинацию выгодно выбирать длинные кодовые комбинации, так как с увеличением n относительная пропускная способность

R = V/B = m/n(1.43)

увеличивается, стремясь к пределу, равному 1.

В реальных каналах связи действуют помехи, приводящие к появлению ошибок в кодовых комбинациях. При обнаружении ошибки декодирующим устройством в системах с РОС производится переспрос группы кодовых комбинаций. Во время переспроса полезная информация не передается, поэтому скорость передачи информации уменьшается.

Можно показать, что в этом случае


,(1.44)

где Poo - вероятность обнаружения ошибки декодером (вероятность переспроса):

;(1.45)

Рпп - вероятность правильного приема (безошибочного приема) кодовой комбинации ;

М - емкость накопителя передатчика в числе кодовых комбинаций

,(1.46)

где tp - время распространения сигнала по каналу связи, с;

tк – время передачи кодовой комбинации из n разрядов, с.

Знак < > означает, что при расчете М следует брать большее ближайшее целое значение.

Время распространения сигнала по каналу связи и время передачи кодовой комбинации рассчитываются в соответствии с выражениями

tp = (L/с);

tк = (n/B),

где L - расстояние между оконечными станциями, км;

с - скорость распространения сигнала по каналу связи, км / с (с = 3х105);

В - скорость модуляции, Бод.

При наличии ошибок в канале связи величина R является функцией Р0, n, k, В, L, с. Следовательно, существует оптимальное n (при заданных Р0, В, L, с), при котором относительная пропускная способность будет максимальной.

Для вычисления оптимальных величин n, k, m удобнее всего воспользоваться программным пакетом математического моделирования, таким как MathLab или MathCAD, построив в нем график зависимости R(n). Оптимальное значение будет в том случае, когда R(n) – максимально. При определении величин n, k, m необходимо также обеспечить выполнение условия:

,(1.47)

где - эквивалентная вероятность ошибки приема единичного разряда при применении помехоустойчивого кодирования с РОС.

Величину  можно определить воспользовавшись соотношением, что при передаче без применения помехоустойчивого кодирования вероятность ошибочной регистрации кодовой комбинации Р0кк длины n равна

.(1.48)

В тоже время при применении помехоустойчивого кодирования

,(1.49)

где  - вероятность необнаруженных ошибок


;(1.50)

 - вероятность обнаруженных ошибок

.(1.51)

Дополнительно к выполнению условия (1.47) необходимо обеспечить

V ³ Ht. (1.52)

Из казанного выше следует, что процесс поиска значений В, n, m, k является итерационным и его удобнее всего оформить в виде таблицы, образец которой приведен в табл. 1.2

Таблица 1.2

Ht = , Pдоп = .
to n m K

В V
1
2
3

Для обнаружения ошибок выбираем циклический код. Из всех известных помехоустойчивых кодов циклические коды являются наиболее простыми и эффективными. Эти коды могут быть использованы как для обнаружения и исправления независимых ошибок, так и, в особенности, для обнаружения и исправления серийных ошибок. Основное их свойство состоит в том, что каждая кодовая комбинация может быть получена путём циклической перестановкой символов комбинаций, принадлежащей этому же коду.

Циклические коды значительно упрощают описание линейного кода, поскольку для них вместо задания  элементов двоичной матрицы Ρ требуется задать (n-k+1) двоичных коэффициентов многочлена g(D). Кроме того, они упрощают процедуру кодирования и декодирования для обнаружения ошибок. Действительно, для осуществления кодирования достаточно выполнить перемножение полиномов, что реализуется с помощью линейного регистра, содержащего k ячеек памяти и имеющего обратные связи, соответствующие многочлену h(D) [4].

Циклический код гарантированно обнаруживает ошибки кратностью  и исправляет . Поэтому в системах с решающей обратной связью применяется кодирование циклическим кодом.

При обнаружении ошибки на приемной стороне по обратному каналу связи посылается запрос на блок, в котором она была обнаружена, и тогда этот блок передаётся повторно. Так продолжается до тех пор, пока данный блок не будет принят без обнаруженной ошибки. Такая система называется системой с решающей обратной связью (РОС), поскольку решение о приёме блока или о его повторной передаче производится на приёмной стороне. Система с РОС являются эффективным способом повышения помехоустойчивости передачи информации.

При описании процедуры кодирования и декодирования циклическим кодом удобно использовать математический аппарат, основанный на сопоставлении множества кодовых слов с множеством степенных полиномов. Этот аппарат позволяет выявить для циклического кода более простые операции кодирования и декодирования.

Среди всех полиномов, соответствующих кодовым словам циклического кода, имеется ненулевой полином P(x) наименьшей степени. Этот полином полностью определяет соответствующий код и поэтому называется порождающим.

Степень порождающего полинома P(x) равна n - m, свободный член всегда равен единице.

Порождающий полином является делителем всех полиномов, соответствующих кодовым словам циклического кода.

Нулевая комбинация обязательно принадлежит любому линейному циклическому коду и может быть записана как (xn Å 1) mod (xn Å 1) = 0. Следовательно, порождающий полином Р(x) должен быть делителем бинома xn Å 1.

Это даёт конструктивную возможности построения циклического кода заданной длины n: любой полином, являющийся делителем бинома xn Å 1, можно использовать в качестве порождающего.

При построении циклических кодов, пользуются таблицами разложения биномов xn Å 1 на неприводимые полиномы, т.е. полиномы, которые нельзя представить в виде произведения двух других полиномов (см. приложение А).

Любой неприводимый полином, входящий в разложение бинома xn Å 1, а также любое произведение неприводимых полиномов может быть выбрано в качестве порождающего полинома, что дает соответствующий циклический код.

Для построения систематического циклического кода используется следующее правило построения кодовых слов

,

где R(x) – остаток от деления m(x)×xn-m на Р(x).

Степень R(x), очевидно, меньше (n - m), а потому в кодовом слове первые m, символов будут совпадать с информационными, а последние n - m символов будут проверочными.

В основу процедуры декодирования циклических кодов может быть положено свойство их делимости без остатка на порождающий полином Р(x).

В режиме обнаружения ошибок, если принятая последовательность делится без остатка на Р(x), делается вывод, что ошибки нет или она не обнаруживается. В противном случае комбинация бракуется.

В режиме исправления ошибок декодер вычисляет остаток R(x) от деления принятой последовательности F¢(x) на P(x). Этот остаток называют синдромом. Принятый полином F¢(x) представляет собой сумму по модулю два переданного слова F(x) и вектора ошибок Eош(x):

.

Тогда синдром S(x) = F¢(x) mod P(x), так как по определению циклического кода F(x) mod P(x) = 0. Определенному синдрому S(x) может быть поставлен в соответствие определенный вектор ошибок Eош(x). Тогда переданное слово F(x) находят, складывая .

Однако один и тот же синдром может соответствовать 2m различным векторам ошибок. Положим, синдром S1(x) соответствует вектору ошибок E1(x). Но и все векторы ошибок, равные сумме E1(x) Å F(x), где F(x) любое кодовое слово, будут давать тот же синдром. Поэтому, поставив в соответствие синдрому S1(x) вектор ошибок E1(x), мы будем осуществлять правильное декодирование в случае, когда действительно вектор ошибок равен E1(x), во всех остальных 2m- 1 случаях декодирование будет ошибочным.

Для уменьшения вероятности ошибки декодирования из всех возможных векторов ошибок, дающих один и тот же синдром, следует выбирать в качестве исправляемого наиболее вероятный в заданном канале.

Например, для ДСК, в котором вероятность P0 ошибочного приёма двоичного символа много меньше вероятности (1 - P0) правильного приема, вероятность появления векторов ошибок уменьшается с увеличением их веса i. В этом случае следует исправлять в первую очередь вектор ошибок меньшего веса.

Если кодом могут быть исправлены только все векторы ошибок веса i и меньше, то любой вектор ошибки веса от i + 1 до n, будет приводить к ошибочному декодированию.

Вероятность ошибочного декодирования будет равна вероятности Pn(>i) появления векторов ошибок веса i + 1 и больше в заданном канале. Для ДСК эта вероятность будет равна

.

Общее число различных векторов ошибок, которые может исправлять циклический код, равно числу ненулевых синдромов – 2n-m - 1.

В курсовом проекте необходимо на основании вычисленного в предыдущем пункте значения k выбрать образующий полином по таблице приведенной в приложении А. По выбранному образующему полиному необходимо разработать схему кодера и декодера для случая обнаружения ошибки.


Информация о работе «Анализ и оптимизация цифровой системы связи»
Раздел: Коммуникации и связь
Количество знаков с пробелами: 29584
Количество таблиц: 2
Количество изображений: 3

Похожие работы

Скачать
103121
8
46

... эксплуатации (станционный сервер). Подключение выполняется посредством соединения через COM-порт или через соединение локальной сети Ethermet 100 Мбит/с. Связь сервера с терминалами центра управления осуществляется посредством локальной сети. 6. Цифровые системы уплотнения аналоговых линий Задача таких систем заключается в экономии физических линий связи, когда на одну пару телефонной линии ...

Скачать
30431
14
17

... *sin(0.1918t). Построим переходный процесс функции, изобразим график этого процесса на рисунке 2.3. Рисунок 2.3 – Переходный процесс в замкнутой системе с ПИД – регулятором. 3 ОПРЕДЕЛЕНИЕ ПЕРИОДА КВАНТОВАНИЯ ЦИФРОВОГО РЕГУЛЯТОРА И ПЕРЕСЧЕТ ЕГО ВАРАМЕТРОВ Необходимо выяснить соответствие коэффициентов неопределенногои цифрового регуляторов. Для выбора периода измерений ...

Скачать
108385
16
51

... аналоговой оперативно- технологической связи, а также оптимизированы для совместной работы с линейными комплектами цифровой сети. Пункты ППСЦ настраиваются на принимаемые вызывные комбинации аппаратным способом с помощью механических перемычек. При вызове абонентов, переключенных на цифровую связь, подается сигнал контроля посылки вызова – одночастотная посылка. Если контроль посылки вызова – ...

Скачать
119269
7
35

... за которым следует устройство дискретизации (рисунок 4.2), подастся известный сигнал s(t) плюс шум AWGN n(t). 4.4 Межсимвольная интерференция На рисунке 4.3 а) представлены фильтрующие элементы типичной системы цифровой связи. В системе - передатчике, приемнике и канале - используется множество разнообразных фильтров (и реактивных элементов, таких как емкость и индуктивность). В передатчике ...

0 комментариев


Наверх