Главная > Алгебраическая теория кодирования
НАПИШУ ВСЁ ЧТО ЗАДАЛИ
СЕКРЕТНЫЙ БОТ В ТЕЛЕГЕ
<< Предыдущий параграф Следующий параграф >>
Пред.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
След.
Макеты страниц

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

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO

15.6. Сверточные коды — обзор

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

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

то выходом кодера является последовательность

где

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

Ясно, что

Многочлены

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

Сверточные коды впервые рассматривались Элайесом [1955]. Кроме этого, их изучали Хегельбергер [1959], Месси [1963], Вайнер и Эш [1963], Саллайвен [1966], Редди [1968] и др.

15.62. Пример (Хегельбергер [1959]). Пусть Память равна

шести блокам; кодовое ограничение равно 14. Кодер для этого кода показан на рис. 15.10.

Рис. 15.10. Кодер для сверточного кода.

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

Так как эти проверочные уравнения ортогональны на то этот код может быть декодирован с помощью порогового декодера, показанного на рис. 15.11. Полученный из канала информационный символ поступает в регистр сообщения. Поступающий из канала проверочный символ прибавляется к и запоминается в регистре синдрома. При подходе к выходу из буфера сообщения мажоритарный элемент выбирает символ Еголосованием по большинству среди символов синдрома Если три или четыре из них равны 1, то и принимается равным 1; если менее чем два равны 1, то полагаем Декодер сможет правильно декодировать символ, если в 26 последовательных позициях произойдет не более трех ошибок. Описанный декодер называется прямым, поскольку решение о символе принимается в результате анализа полученной конечной последовательности символов без учета прошлой работы декодера.

Другой тип декодера, так называемый декодер с обратной связью, получается из прямого декодера путем добавления в регистр синдрома обратных связей (пунктирные линии на рис. 15.11). Новые связи позволяют исправлять ошибки не только в информационных символах, но и в символах синдрома. Это позволяет увеличить вероятность правильного декодирования последовательных символов. Так, например, если декодер с обратной связью, показанный на рис. 15.11, правильно нашел то символ зависит только от 14 последовательных символов

Рис. 15.11. Пороговый декодер для кода с рис. 15.10. (Прямой декодер получается из декодера с обратной связью, если опустить обозначенную пунктиром связь.)

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

Используя метод проб и ошибок, Месси [1963] нашел много сверточных кодов, к которым применимы простые пороговые декодеры, аналогичные изображенному на рис. 15.11. Используя более систематические методы, основанные на разностных множествах, Робинсон и Бернстейн [1967] и Редди [1968] нашли еще много дополнительных кодов этого типа.

Хотя пороговое декодирование оказалось очень эффективным для декодирования многих частных кодов с малым и умеренным кодовым ограничением, оно представляет собой весьма слабый метод декодирования кодов с большим кодовым ограничением. Месси [1963] показал, что вероятность ошибки для лучших пороговых декодеров независимо от длины кодового ограничения отлична от нуля.

15.64. Отыскание «хороших» сверточных кодов. Все известные алгебраические процедуры декодирования для блоковых кодов основаны на ряде сведений о математической структуре этих кодов. К сожалению, среди известных сверточных кодов лишь очень немногие обладают известной структурой. Берлекэмп [1963] построил класс сверточных кодов с хорошо обозримой структурой, исправляющих пакеты стираний; однако эти коды не очень эффективны для каналов без памяти со случайными ошибками. Вайнер и Эш [1963] построили класс сверточных кодов, исправляющих одну ошибку при минимальном возможном защитном интервале. Эти коды аналогичны блоковым кодам Хэмминга, исправляющим одну ошибку. К сожалению, сверточные аналоги БЧХ-кодов, исправляющих несколько ошибок, пока не известны. Эпштейн [1958 b] и Бассгенг [1965] нашли «лучшие» двоичные сверточные коды для некоторых скоростей передачи и малых кодовых ограничений, однако для подобных результатов нет.

Несмотря на то что о методах построения «хороших» сверточных кодов почти ничего не известно, многое известно о «наилучших» сверточных кодах. Эти результаты получены на основе исследования случайно выбранных сверточных кодов. Элайес [1954] показал, что такие коды позволяют получать произвольно малую вероятность ошибки декодирования при всех скоростях, меньших пропускной способности канала. Месси [1963] показал, что для сверточных кодов справедлива граница, аналогичная границе Гилберта для блоковых кодов (см. разд. 13.7). Юдкин [1964] и Витерби [1967] получили точные границы вероятности ошибки для таких кодов. Результаты Витерби показывают, что вероятность ошибки для случайно выбранного сверточного кода с большой скоростью и кодовым ограничением существенно меньше, чем вероятность ошибки для лучших блоковых кодов с длиной

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

декодирования, известный под названием последовательного декодирования. Введенный Возенкрафтом и Рейффеном [1961], этот алгоритм был вскоре модифицирован и улучшен Фано [1963].

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

Последовательный декодер Фано [1963] декодирует сверточный код с бесконечным кодовым ограничением. При этом с вероятностью единица любой данный символ будет в конце концов декодирован правильно и с некоторого момента будет оставаться неизменным. К сожалению, число операций, необходимых для декодирования любого данного символа, — случайная величина, зависящая от шума в канале. Полученные Джекобсом и Верлекэмпом [1967], а также Джелинеком [1968] границы показывают, что распределение этой случайной величины примерно описывается равенством

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

Некоторые нежелательные свойства распределения числа вычислений при последовательном декодировании можно исключить с помощью гибридных схем декодирования, сочетающих сверточные коды и последовательное декодирование с другими способами кодирования и декодирования. Такие схемы были предложены Пинскером [1965] и Фэлконером [1967].

Подробное исследование последовательного декодирования можно найти у Возенкрафта и Джекобса [1965] или у Джелинека [1968].

15.66. Сверточные коды для исправления пакетов ошибок. Хотя для канала без памяти со

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

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

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

Берлекэмп [1964а] и Препарата [1964] построили затем класс кодов, достигающих границы Вайнера — Эша для пакетов с заданным фазовым расположением относительно блоков сверточного кода. Месси [1965] предложил простой алгоритм декодирования этих кодов. Экономи [1965] и Сю [1969] построили некоторые сверточные коды, исправляющие пакеты с меньшими фазовыми ограничениями по сравнению с кодами Берлекэмпа — Препараты. Однако общие методы построения фазово-независимых сверточных кодов, исправляющих пакеты ошибок и удовлетворяющих границе Вайнера — Эша, пока не найдены.

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

Задачи

(см. скан)

(см. скан)

1
Оглавление
email@scask.ru