Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
часть 7.doc
Скачиваний:
67
Добавлен:
07.06.2015
Размер:
1.02 Mб
Скачать

7.4 Повышение помехоустойчивости передачи

Для того чтобы охарактеризовать верность передачи информации при цифровых методах, используют коэффициент ошибок, численно равный отношению числа неправильно принятых символов к общему числу переданных. Реальные каналы обеспечивают значению коэффициента ошибок 10-4 – 10-5. В большинстве случаев, особенно при передаче командной информации, такое значение коэффициента ошибок слишком велико. В то же время, согласно теореме Шеннона, если скорость передачи информации не превышает пропускной способности канала, можно передать информацию в принципе вообще без ошибок. Как это сделать ?

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

В случае применения двоичных кодов коэффициент избыточности

(7.2)

где n – число информационных разрядов; l – число дополнительных проверочных разрядов.

Простейшим, хотя и не рациональным случаем введения избыточности для повышения верности передачи является повторение переданной комбинации. Очевидно, что в этом случае R = 2. Такой способ иногда используется при передаче командной информации.

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

Помехоустойчивоё кодирование. Суть этого метода заключается в кодировании передаваемой информации при помощи специальных корректирующих кодов.

Для двоичного кода длиной n разрядов общее число возможных комбинаций составляет К = 2n. Если все эти комбинации использовать в качестве разрешенных для передачи информации, то такой код будет безизбыточным. Но ни обнаружить, ни тем более исправить ошибки этот код не позволит, так как любая принятая кодовая комбинация является разрешенной.

Введем l дополнительных разрядов. Тогда общее число комбинаций станет Кобщ = 2n+l . Но разрешенными из них по-прежнему будут только 2n комбинаций. Поэтому, если будет принята запрещенная комбинация, то можно сделать вывод, что произошла ошибка.

Корректирующие коды определенным образом размещают 2n разрешенных кодовых комбинаций среди 2n+l возможных кодовых комбинаций, в результате чего появляется возможность при приеме обнаружить или исправить ошибки. Корректирующие коды различаются по их способности обнаруживать ошибки определенной кратности. Под кратностью ошибки понимают число разрядов кода, в которых произошла ошибка. Например, если был передан код 1001101, а принят 1101001, то кратность ошибки r=2.

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

Исправление ошибок основано на том принципе, что наиболее вероятными являются ошибки наименьшей кратности. В соответствии с этим, если принята какая-либо запрещенная комбинация, то считают, что была передана ближайшая к ней разрешенная комбинация, т. е. отличающаяся от нее наименьшим числом разрядов. Например, если разрешенными являются комбинации 1000000 и 1000111, а принята запрещенная комбинация 1000100, то считают, что была передана комбинация 1000000, в которой произошла одиночная ошибка.

Можно показать, что для обнаружения всех ошибок кратности rобн и исправления всех ошибок кратности rисп (причем rобн ≥ rисп) необходимо минимальное кодовое расстояние dmin = rобн + rисп + 1.

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

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

Рассмотрим некоторые коды, получившие наибольшее применение.

Матричные коды получили такое название в связи с тем, что подлежащие передаче кодовые комбинации располагаются в виде матрицы. Затем эта матрица подвергается нескольким проверкам на нечетность (или четность). В простейшем случае используется одиночная проверка, при которой каждая разрешенная комбинация дополняется одним разрядом таким образом, чтобы общее число единиц стало нечетным (т. е. сумма всех разрядов по модулю 2 равна единице). В табл. 7.1 приведен пример кодирования по нечетности 5-разрядных комбинаций. При приеме производится аналогичная проверка на нечетность каждой принятой 6-разрядной комбинации и, если в какой-либо из них обнаруживается четное число единиц, то данная комбинация считается принятой неверно. Очевидно, что такой код обнаруживает все ошибки нечетной кратности (одиночные, тройные и т. д.), а коэффициент избыточности его согласно (7.2) составляет: R=(5+1)/5= 1,2.

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

Теперь предположим, что в результате одиночной ошибки 3-я комбинация принята в виде 011000. Проверки на нечетность покажут, что неправильно приняты 3-я комбинация и 4-й разряд. Значит, ошибка произошла именно в 4-м разряде 3-й комбинации и можно восстановить переданную комбинацию 011100.

Нетрудно показать, что такая проверка обнаруживает двойные ошибки. Таким образом, матричный код с двойной проверкой позволяет исправлять все одиночные ошибки (во всем блоке) и обнаруживать ошибки кратности 2 и все нечётные ошибки большей кратности. Коэффициент избыточности (для данного примера):R= (5·7 + 7 + 6)/(5·7) ≈1,37. Ясно, что для уменьшения R надо увеличивать разрядность кода и длину блока. Но при этом возрастает вероятность необнаруживаемых ошибок высокой кратности.

Кодирующие и декодирующие устройства для матричных кодов строятся очень просто, так как при этом необходимо выполнить только одну простейшую операцию – суммирование по модулю 2.

Циклические коды получили широкое применение в телемеханике и при передаче данных для кодирования длинных блоков информации. Свое название они получили из-за того, что в качестве разрешенных используют комбинации, полученные циклической перестановкой специально подобранных двоичных последовательностей. Все разрешенные комбинации делятся без остатка на некоторое образующее число. В качестве образующих используют простые числа, число разрядов которых зависит от длины кодируемого блока. Так, согласно рекомендациям МККТТ передачу информации производят блоками по 240, 480 или 960 двоичных разрядов, для циклического кодирования которых используют 17-разрядное образующее число 10001000000100001. В кодирующем устройстве передаваемый блок информации делят на это число и по каналу связи передают сначала указатель длины блока (4 разряда), затем сам информационный блок (240, 480 или 960 разрядов) и в конце – остаток от деления блока на образующее число (16 разрядов).

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

Рассмотренный код позволяет обнаружить все одиночные, двойные и тройные ошибки и частично ошибки большей кратности, а также исправить все одиночные ошибки. В результате коэффициент ошибок снижается на 2 – 3 порядка, в то же время избыточность этого кода очень мала (для блока длиной 960 разрядов R=(960+4 + 16) /960 ≈1,02). Важным достоинством циклических кодов является также простота кодирующих и декодирующих устройств, состоящих из регистров сдвига и сумматоров по модулю 2. При передаче данных совокупность кодирующего и декодирующего устройств, предназначенных для помехоустойчивого кодирования, называют устройством защиты от ошибок (УЗО).

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

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

ИОС обеспечивает высокую помехоустойчивость передачи, но избыточность этого способа слишком велика. При ИОС R > 2, так как все блоки передаются дважды (туда и обратно), а если обнаружены ошибки, то и трижды, и обратный канал все время занят.

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

Кроме ИОС и РОС в чистом виде, используют их сочетание (например, ИОС – при передаче сигналов ТУ и РОС – при передаче сигналов ТИ), а также более сложные алгоритмы обмена между источником и приемником информации.

В современных систем ах телемеханики оптимальное использование различных способов повышения верности передачи позволяет снизить коэффициент ошибок до 10-7 (один ошибочно принятый символ на 10 миллионов переданных) и менее. Это требует применения довольно сложной и совершенной аппаратуры. Но современная микроэлектроника, в частности, использование встроенных микропроцессоров, позволяет решить эту задачу и обеспечить высокую надежность аппаратуры при сравнитёльно низких (по отношению, например, к стоимости канала связи) затратах.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]