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

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

Регулирующий Буфер

r-(W)-

Регулирующий Буфер

Длина койоеого огро.ничения=3

Длина койоеого ограничения=4

Рис. 12.9. Кодеры для двух сверточных кодов со скоростью 2/3.

представлены информационными многочленами di (х), i = = 1, или вектором-строкой таких многочленов:

d (X) = [di (Х), d2 {Х), db„ (X)].

Аналогично выходное кодовое слово может быть представлено По многочленами кодового слова Cj [х), j = \, щ, или вектором этих многочленов

с (Х) = [Cj (Х)] = [с, (Х), С2 (х), с„„ (х)].

Коэффициенты многочленов кодового слова перемежаются в порядке их прохождения по каналу.

Теперь операцию кодирования можно компактно описать с помощью векторно-матричного произведения

c(x) = d(x)G(x),

или, что то же самое,

сдх)=iidw.vw-

Проверочная матрица Н (х) из многочленов является [(Rq - - feo) X «о 1-матрицей, элементами которой являются многочлены и которая удовлетворяет условию

G(x) Н(х) = 0.

Вектор синдромных многочленов дается уравнением

s(x) =v(x) ПЦх).

Он является (Пд - Ао)-мерным вектором-строкой из многочленов.

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

G(x) = [I:P(x)],

где I - единичная матрица размера ко X ко, & Р (х) - матрица многочленов размера ко X {По - о)- Д-я систематических свер-



Серии

вхобных

битов

Cj (х) = d (x)gj (х), j = 1, По.

Регулирующий Буфер

в канал

Рис. 12.10. Систематический кодер с обратной связью для сверточного (6,3)-кода.

ТОЧНЫХ кодов проверочную матрицу из многочленов можно сразу записать в виде

где I - единичная матрица размера (пд -о) X («о- о)- Можно непосредственно проверить, что

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

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

Перейдем к обсуждению важного частного случая ko = I. Упростим обозначения, положив

G(x) = [1 (х) g2{x) ...g„ (х)]



Для систематического кода (х) = 1.

Определение 12.2.2. Сверточный код, порождающие многочлены gl (х), g„„ (х) которого удовлетворяют условию

НОД [1 (х), ...,g„, (х)] = х-

при некотором а, называется некатастрофическим сверточным кодом. В противном случае он называется катастрофическим сверточным кодом.

Без ограничения общности мы можем считать х°= 1, так как невыполнение этого равенства просто эквивалентно введению во все фильтры задержки, что, очевидно, бессмысленно.

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

«1 {х) Я1 (х) + ... + ап£п, {х) = \.

Поэтому если многочлен поступающих данных d (х) кодируется по формуле

Cj (х) = d {x)gj (х), / = 1, По, то d (х) можно восстановить, используя соотношение d (х) = ai (х) Cl (х) + ••• + (х) с„„ (х),

что легко проверить подстановкой.

На рис. 12.11 приведен пример. Многочлен поступающих данных вводится слева, а выводится в неизменном виде справа. Комбинированная посимвольная скорость в точках а и b равна удвоенной входной скорости, однако можно так скомбинировать символы, проходящие эти две точки, чтобы они образовывали передаваемое по каналу кодовое слово сверточного кода со скоростью 1/2. Вводимая избыточность используется для нахождения и исправления ошибок; чем больше ошибок, которые могут быть исправлены, тем лучше код.

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

В общем случае больше единицы. Некатастрофический код определяется через (ll) различных (о X "о)-подматриц матрицы G (х). Пусть для нумерации подматриц этого множества используется индекс /, и пусть А; (х)-определитель 1-й (feo X X «о)-подматрицы.




[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.0313