Главная страница  Дискретный канал связи 

[0] [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]

разгеление - на параллельные потоки

Серии

информационных ffumoB

Серии

принятых

битое

Проберк.а на наличие ойного

из меВугощих 1110 0 1

синоромов: / 11110 1

1110 0 0

1 10 0 0 1

0 0 10 11

10 10 0 1

1110 11

0 110 0 1

0 1110 1

Проверка из слЕйии

на наличие оЭного из слЕйагаших синВромое: 00000? 001001

110011 010001

0 0 0 0 1 1 10 0 10 1 0 0 0 10 1

1 0 0 0 0 1 1110 0 0

Ошметка о неисправляЕмой конфигурации оши(5Ьк

Рис. 12.20.ВДругой декодер для сверточного (12, 6)-кода.

кодовому слову. Для восстановления информации используется следующее соотношение:

1 = НОД [х + X + I, + I] = х(х + х + 1) + (х+ 1) (х + 1).

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

В заключение параграфа рассмотрим пример систематического сверточного (12,6)-кода. Этот код может исправлять две ошибки в блоке длины 12. В § 13.4 мы вернемся к изучению этого кода, рассматривая его как мажоритарно декодируемый код. Однако в настоящем параграфе используется синдромное его декодирование, таблица декодирования приведена на рис. 12.18. Синдромы,



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

12.7. СВЕРТОЧНЫЕ КОДЫ ДЛЯ ИСПРАВЛЕНИЯ ПАКЕТОВ ОШИБОК

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

Очевидно, что любой сверточный (п, )-код, исправляющий / ошибок, будет исправлять любой пакет ошибок длины t. Сверточный код для исправления более длинных пакетов может быть получен перемежением. Чтобы получить сверточный {рг, /)-код из {п, )-кода, возьмем / одинаковых (п, )-кодеров и построим кодовые слова, чередуя их выходные символы. Если исходный код может исправлять любой пакет ошибок длины /, то, очевидно, код-перемежение может исправлять пакет ошибок длины . Например, систематический сверточный (14,7)-код с длиной кодового ограничения 6 и порождающими многочленами

1 (х) = 1, 2 {х) = + }+х+\

может исправлять два любых ошибочных символа в любом интервале длины 14. Взяв четыре одинаковых (14,7)-кода и перемежая символы, можно получить (56,28)-код, который будет исправлять все пакеты ошибок длины 8.



\2Л. КОДЫ] ДЛЯ] ИСПРАВЛЕНИЯ ПАКЕТОВ ОШИБОК 429

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

gl (X) = I, g2 (х) = + х° + х+1.

Мы уже видели, что коды-перемежения для циклических блоковых кодов ведут себя аналогично.

Перемежая приведенные на рис. 12.13 короткие сверточные коды, исправляющие случайные ошибки, можно построить большое число сверточных кодов, исправляющих пакеты ошибок. Эти коды-перемежения будут исправлять не только пакеты ошибок, но и многие конфигурации случайных ошибок. Однако если требуется исправлять только пакеты ошибок; то можно получить лучшие характеристики, используя коды, предложенные специально для исправления пакетов ошибок. Классом таких кодов, способных исправлять любые пакеты ошибок длины не более Я,По, где X - конструктивный параметр, являются коды Ивадаре.

Определение 12.7.1. Пусть X и По-любые положительные целые числа. Кодом Ивадаре называется исправляющий пакеты ошибок двоичный систематический сверточный код со следующей порождающей ((По - 1) X По)-матрицей из многочленов:

G(x) =

дЛх) Siix)

1 i)(x)

где для матричных элементов gt,, (х) использовалось сокращенное обозначение gi (х) и

gi (х) = л;(+) (2«о-)-Ь»-з («0-О-1, 1=1, ..., По - 1.

Наибольшую степень, равную {% + 1) (2по ~ 1)-2, имеет порождающий многочлен gi (х). Поэтому коды Ивадаре являются сверточными ((/и -f 1) iIq, {т + 1) («о - 1))-кодами с числом кадров т, равным

т = (к + 1) (2по - 1) - 2.

Как мы увидим, этот код исправляет любые пакеты ошибок длины не более Хпр.

Проверочная матрица из многочленов такого кода равна Н {X) = [gl (х) g2 (х)... ё(„„ 1) (х) 1 ].




[0] [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]

0.0274