Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Оптимальные методы передачи сигналов по линиям радиосвязи

..pdf
Скачиваний:
1
Добавлен:
12.11.2023
Размер:
14 Mб
Скачать

Г Л А В А 9,.

ПРИМЕНЕНИЕ ОПТИМАЛЬНОГО КОДИРОВАНИЯ КАК СРЕДСТВА СОГЛАСОВАНИЯ СПОСОБА ПЕРЕДАЧИ ДВОИЧНЫХ СИГНАЛОВ С ОСОБЕННОСТЯМИ РАСПРОСТРАНЕНИЯ РАДИОВОЛН

9.1. ОБЩИЕ СВЕДЕНИЯ О ПОМЕХОУСТОЙЧИВЫХ КОДАХ

Е сли рассмотренные до сих пор методы повышения надёжно­

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

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

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

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

!) Здесь и я дальнейшем для удобства читателя применяется система обо­ значений, принятая в §§ 22—27 монографии А. А. Харкевича «Борьба с помеха­ ми» {26], где вопрос об оптимальном кодировании рассмотрен достаточно под­ робно.

111

увеличения этого числа, как известно, в телеграфных аппаратах ис­ пользуется регистр.

Если число подлежащих передаче букв равно Л/'о = 2л, то все ко­ довые комбинации окажутся использованными и при искажении любого знака в месте приёма будет отпечатана ошибочная буква. Такой код никакой помехоустойчивостью не обладает, и любое ис­ кажение будет проявляться в отпечатывании неправильного знака.

Помехоустойчивостью может обладать только код, характери­ зующийся избыточностью, т. е. код, для которого N < 2 n.

Обозначим через N0=2n— число букв, которые можно было бы передать при полном использовании всех комбинаций. Фактически же для передачи используется меньшее число комбинаций и имен­ но неиспользуемые комбинации обеспечивают достижение требуе­ мой помехоустойчивости.

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

Проще всего понять принцип построения кода, обнаруживающе­ го одну ошибку в кодовой комбинации. Ошибка может проявиться либо в превращении 0 в 1, либо 1 в 0. Достаточно к пяти информа­ ционным знакам в кодовой комбинации (или вообще к к знакам) добавить один контрольный, вводимый с таким расчётом, чтобы сум­ ма единиц в шестизначной кодовой комбинации [или в общем слу­

чае в (/с+1)-значной комбинации]

была чётной, чтобы полу­

чить код, обнаруживающий

одну

ошибку. Действительно,

если один знак (безразлично,

информационный или контрольный)

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

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

112 —

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

flia2a3fl4a.Haiia7a8,

где разделительная черта отделяет информационные знаки от кон­ трольных.

Введём контрольные знаки с таким расчётом, чтобы при безо­ шибочной передаче буквы были бы чётными следующие три суммы:

аi +

я2-Ь я3

аА+ а й— чётное число '

(9-1)

f l2 +

а3 +

Я4 +

Я;, -J- Я?= четное число ■•

я3 + я4+

я3 +

ai + ан= чётное число ,

 

Если искажён один из восьми знаков, то одна, две или три сум­ мы становятся нечётными.

Если искажены два знака, то в зависимости от того, в какие суммы входят искажённые знаки, нечётными сделаются одна или две суммы.

Применяя правило сложения двоичных чисел по модулю 2 и

обозначая символ такого сложения через + , условие (9.1) можно представить в более компактной форме:

а\ +

Яг + я3 -г я4

~h ас, — О

 

(9-2)

я2 4

- я3 + я44

-

я5

-

0

• »

 

4 я7 =

 

я3 + я4 + аъ-f- Я| + я8= О

Напомним правило сложения по модулю два:

0 + 0 = 1 , 0 + 1 - 1 , 1 -f- 0 = 1 и 1 + 1 = 0.

Таким образом, 0 в двоичной системе счисления является символом чётного числа.

Заметим, что коды рассматриваемого типа (с добавлением оп­ ределённого, одинакового для всех букв числа контрольных знаков) получили название систематических. Они обозначаются символом (п, к), где п — полное число знаков, образующих кодовую комби­ нацию, а к — число знаков, несущих в себе информацию. Таким образом, в каждом кодовом обозначении содержится (пк) кон­ трольных (т. е. избыточных знаков). В таком обозначении рассмот­ ренные два кода следует выражать символами (6,5) и (8,5).

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

8—693

113

достигается путём введения в кодовые комбинации той или иной из­ быточности.

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

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

Расстояния между кодовой комбинацией 00000 и тремя комби­ нациями 00001, 00011 и 11111 равны соответственно 1, 2 и 5. В об­ щем случае кодовое расстояние может быть определено путём сум­ мирования по модулю 2 двух комбинаций и подсчёта числа единиц в сумме [26]. Например, для комбинаций 10101 и 00110 такое сум­ мирование даёт

. 10101

+ 00110

10011, т. е. d = 3.

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

Охарактеризуем с точки зрения кодового расстояния стандарт­ ный пятизначный код стартстопных телеграфных аппаратов, кото­ рый использует 32 комбинации от 00000 до 11111.

Всего имеет место С|2 =496 двухбуквенных сочетаний. Простой

подсчёт показывает, что кодовые расстояния между ними распреде­ лены так, как показано в табл. 9.1.

 

 

 

 

Т А Б Л И Ц А 9.1

Число двухбуквенных сочетаний

80

160

160

80

16

Кодовые расстояния

1

2

3‘

4

5

*) Здесь и в дальнейшем говорится о буквах, составляющих заданный ал­ фавит, с учётом того, что в общем случае роль букв могут играть любые симво­ лы, команды и т. д.

1/4 —

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

Если строят код, который обладал бы способностью исправлять все одиночные ошибки, то следует выбрать для букв алфавита та­ кие кодовые комбинации, которые отличались бы друг от друга не менее, чем на расстояние d = 3. В составленной для такого кода таблице типа 9.1 не встречалось бы кодовых расстояний меньше 3. Это явилось бы гарантией исправления всех одиночных ошибок. Действительно, если бы в двух кодовых комбинациях произошло по одной ошибке, то даже в наиболее неблагоприятном случае они не приблизились бы друг к другу более, чем на d= 1, и их всегда в месте приёма можно было бы уверенно различить.

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

ОООООЦОООО

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

100000000

010000000

• • • всего девять комбинаций. (9.3)

000000000

000000001

Приёмный телеграфный аппарат должен быть сконструирован таким образом, чтобы при воздействии на него правильной комби­ нации и любой из девяти перечисленных ошибочных, отпечатыва­ лась бы буква, соответствующая пятизначной кодовой комбинации 00000. Далее необходимо, чтобы любые одиночные ошибки в других кодовых комбинациях не приводили бы к комбинациям перечис­ ленным в (9-3), а также к неискажённой комбинации 00С000000.

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

Простые расчёты показывают, что, если для каждой буквы ал­ фавита необходимо располагать десятью разными комбинациями, то для 32-буквенного алфавита необходимо располагать, по край­ ней мере, 320 разными комбинациями, притом такими, чтобы кодо­ вые расстояния между этими комбинациями не были бы меньше <*=3.

8*

115

На рис. 9.1 графически показан принцип работы кода, исправ­ ляющего одну ошибку. Здесь через А\Аы обозначены кодовые

о

о

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

Определим теперь наименьшее коли­ чество знаков п в кодовой группе, необ­ ходимое для передачи N-буквенного ал­ фавита, при котором кодовое расстояние между комбинациями превышает задан­ ное значение d. В рассмотренном выше примере N=32, a d = 3. Докажем, что п

/ Л* действительно должно быть равным 9. Обозначим число исправляемых в ко­

довой комбинации ошибок через q. Тог­ да минимальное кодовое расстояние меж­ ду кодовыми комбинациями должно быть равно

<*-=2?+ 1,

(9.4)

т. е. это расстояние должно быть равно 3 в кодах, исправляющих одну ошибку, 5 в коде, исправляющем две ошибки, и т. д.

Обозначим через

\ = C qn

(9.5)

число ошибочных, подлежащих исправлению кодовых комбинаций, в л-значном коде, обладающем исправляющей способностью q, т. е. исправляющем q ошибок. В ЛУ-буквенном алфавите должно быть исправлено всего NXq ошибочных комбинаций. Это число должно быть меньше избыточных кодовых комбинаций, не используемых в качестве передаваемых правильных сигналов, т. е. согласно приня­

тым обозначениям

I

N \ K N 0- N t

(9.6)

где N0= 2я, тогда как N= 2К.

Напомним, что л — полное число знаков в кодовой комбинации, а к — число информационны^ знаков.

' Если код должен исправлять ошибки кратности 1,2 и т. д. до q включительно, то ф-ла (9.6) принимает вид

116

N \Х ,< Л Г „ — N.

(9,7)

1

 

Формулы (9.6) и (9.7) удобнее представить в виде

 

1 + ^q

(9.6а)

 

Nn

(9.7в)

-------- > " •

i + 21 ^

 

Задаваясь разными значения q, можно определить нижний пре­ дел N, т. е. число букв в алфавите, который может быть закодиро­ ван с помощью /г-значного кода.

В табл. 9.2, заимствованной из [45], приведены формулы для вы­

числения N для различных значений кодовых расстояний.

 

Формула для d= 1

получена из (9.6а)

и (9.5), принимая во вни­

мание, что при <7=0

Я9= 0.

 

 

 

 

 

 

 

 

 

 

Т А Б Л И Ц А 9.2

Кодовое

Число исправ­

 

 

 

 

 

ляемых ошибок

Число букв в алфавите

N

Примечание

расстояние

в ко овоЛ

ком­

d

бинации

ц

 

 

 

 

 

I

0

 

 

2п

 

Исправляющей

и обна­

 

 

 

 

 

 

руживающей способности

 

 

 

 

 

 

нет

 

2

 

 

2я -1

 

Обнаружение

одной

 

 

 

 

2п

 

ошибки

 

3

1

 

 

 

Исправление

одной

 

<

1 + л

 

 

 

 

 

ошибки.

 

 

 

 

 

пП—1

 

 

4

 

 

 

 

 

 

 

 

<

2

 

Исправление

одной и

 

 

 

 

п

 

обнаружение двух ошибок

 

 

 

 

 

 

2п

 

^

1 о

Исправление q ошибок

2<7+1

я

H - ^ + c J + - - + c *

 

 

 

Формула для d 3 получена из тех же формул при <7= 1 . Формула для d = 2 q + 1 получена из (9.7а) и (9.5).

117 —

Общие формулы для чётных значений d пока не найдены. Фор­ мулы для d = 2 и d = 4 получены из рассмотрения конкретных слу­ чаев кодирования.

Формула для d = 3 показывает, что при п = 9 число букв в алфа­ вите достигает значения /У=51,2, т. е. 32-буквенный алфавит дейст­ вительно может быть закодирован девятизначным кодом, исправ­ ляющим один знак.

В табл. 9.3 [4.6] приведены значения N в алфавите для равномер­ ных n-значных кодов, исправляющих q ошибок в каждой кодовой комбинации.

 

 

 

 

 

 

 

Т А Б Л И Ц А 9.3

п

 

 

 

*~>нсло исправляемых ошибок

 

 

1

2

3

4

5

6

 

3

2 , 0

 

 

 

 

 

4

3

. 2

 

 

 

 

 

5

5 . 3

2 , 0

 

 

 

 

6

9

, 1

2 9

 

 

 

 

7

1 6 , 0

4 , 4

2 , 9

 

 

 

8

2 8 , 4

6 , 9

2 , 8

 

 

 

9

5 1 . 2

И Л

3 . 9

2 , 0

 

 

10

9 3 , 1

1 8 . 3

5 , 8

2 . 7

 

 

1 1

1 7 0 , 7

3 0 , 6

8 , 8

3 . 6

2 , 0

 

12

3 1 5 , 8

5 1 . 8

1 3 , 7

5 , 2

2 , 6

 

13

5 * 5 . 2

8 9 , 0

2 1 , 6

7 , 5

3 , 4

2 , 0

14

1 0 9 2 , 3

1 5 4 , 4

3 4 , 9

1 1 . 1

4 , 7

2 . 5

15

2 0 4 8 . 0

2 7 0 , 8

7 6 , 8

1 6 , 8

6, 6

3 . 3

Из табл. 9.3 следует, что для исправления одного знака в 32-бук­ венном алфавите необходимо применять 9-значный код (см. рас­ смотренный выше пример), для исправления двух знаков—12-знач­ ный и, наконец, для исправления трёх знаков — 14-значный.

Более полно вопрос построения кодов, обнаруживающих и ис­ правляющих ошибки, изложен в книге Харкевича [26]. Там же при­ ведена обширная библиография по оптимальному кодированию за время с 1961 г. по июнь 1962 г. и дана ссылка на книгу, содержа­ щую исчерпывающую библиографию за предыдущие годы.

Теория оптимального кодирования достигла за последние годы высокой степени развития на базе линейной и коммутативной ал­ гебры, теории групп, теории множеств и математической логики. Предложено большое число кодов, удовлетворяющих специально поставленным требованиям. Достаточно отметить, что приведённая в [26] (по-вйдимому, ещё далеко не полная) классификация исправ­ ляющих кодов содержит 18 наименований.

118 —

■9.2. ПРАКТИЧЕСКИЕ СПОСОБЫ ИСПОЛЬЗОВАНИЯ ОПТИМАЛЬНЫХ КОДОВ ДЛЯ ПОВЫШЕНИЯ НАДЕЖНОСТИ РАБОТЫ КАНАЛА СВЯЗИ

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

При практическом использовании в каналах связи исправляю­ щих кодов могут встретиться два случая.

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

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

Здесь большую помощь может оказать принцип кодирования, предложенный в 1960 г. Э..Л. Блохом и А. А. Харкевичем [47]. Этот принцип заключается в том, что путём предварительной записи пе­ редаваемых знаков на магнитофонной ленте (или путём запомина­ ния с помощью какого-либо другого устройства) и ценой примене­ ния программного устройства отдельные знаки кодовых комбинаций передаются по каналу связи не в той последовательности, как они были записаны на ленте, а с разбивкой во времени через интервал

т, где т — время передачи элементарного знака.

Так, например, если подлежит передаче последовательность

| Q,^CLtCL^ . . . d-t | \ 2 • • • »

l<— т------>|

то по каналу связи передаётся последовательность ахап la2al

и т. д. Если, к примеру, импульсная помеха исказила знаки а?—а5 и при обычном способе передачи потребовалось бы применять код с исправлением пяти ошибок, то при новом способе передачи число

Л 9 —

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

Всё изложенное здесь имело целью показать, что принцип ко­ дирования действительно является весьма эффективным средством согласования способа передачи сигналов с особенностями среды, в которой происходит распространение радиоволн.