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

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

,.(х) = х" + х х + .хV х« + х + х\+ 1 е(х) = х" +х

i;(x) = x* + .x"+.x- + x"+.4-° + .x* + x. + x* + x+l 11001001ibiiiII

Tr,,,m СинйромныО -г„„„ СреЭний -г Нижний регистр аш pjp Такт рр

00000000

1 0 0 0 I 0 I 1

0 1 10 0 0 1 1

0 0 0 0 0 10 0

0 10 0 0 10 1

1 0 1 1 1 0 1 0

0 0 0 0 0 0 10

0 0 10 0 0 10

0 1-01 1 101

jooooooo Ij

10 0 110 10

1 0 I 0 0 I 0 1

00000000

1 10 0 0 1 10

1 1 0 1 1 0 0 1

0 1 10 0 0 1 1

1110 0 111

0 0 1 10 0 0 1

I I I 1 1 0 0 0

БезЭе только нули

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

23 24

0 111110 0 0 0 I I 1 1 I 0

38 39

0 0 0 0 0 110

0 0 0 11111

10 0 0 10 0 0

10 0 0 0 10 0

0 10 0 0 10 0

0 I 0 0 0 0 I 0

13

0 0 10 0 0 10

10 0 I 0 0 0 0 I (

10 0 1 10 10

0 0 0 1 0 0 0 0

I 10 0 0 1 10

0 0 0 0 10 0 0

Рис. 6.26. Пример вылавливания ошибок для (15, 7)-кода БЧХ.

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

Исправляемые конфигурации ошибок содержат не более двух ненулевых символов и задаются многочленом степени не выше 6. Их всегда можно циклически сдвинуть в многочлен степени не выше 3. Так как степень синдромного многочлена не превосходит 3, то можно применить декодирование с вылавливанием ошибок.

Такой декодер показан на рис. 6.27. В двоичной реализации восьмеричные разряды регистра сдвига представляют собой параллельные регистры с тремя двоичными разрядами. Все линии не-



Bxofl (7 восьмеричных

символов) 3 -i-

Цепь Веления на д{.х)=х!с№х ах+а?


восьмеричный разряэ

на наличие ломеньшей мере йвух нулевых foumoB

(ВьЕорка трех инфор-Дмационных байтов)

Всего 21 такт

Рис. 6.27. Вылавливание ошибок для (7, 3)-кода Рида-Соломона.

редачи данных в каждый момент времени передают три бита. Элементы умножения на z + 1 (т. е. на а) и на z (т. е. на а) в цепи обратной связи являются просто определяемыми устройствами двоичной логики с тремя входами и тремя выходами. Для исправления всех ошибок такому декодеру необходим всего 21 такт. Первые семь тактов уходят на вычисление синдрома; следующие семь тактов требуются на исправление хотя бы одной ошибки, а иногда и обеих ошибок. Последние семь тактов уходят на исправление второй ошибки (если она еще не исправлена).

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

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



«0=1

x) = x*+ ax + + ax +

c(x) = a*x* + ax* + ax" + a*x + a*

a = z

e(x)= a*x* + a

а = z + 1

i;(x) = a*x* + ax + a*x + a*

a = + г +

Такт

Информационный

регистр

регистр

0 0 0 0

0 0 0 0 0 0 0

1 aVl

а*0 0 0 0 0 0

0 а*0 0 0 0 0

0 0 «"0 0 0 0

аО 0 «0 0 0

aa aa

0 аО 0 а*0 0

aO 0 a*

аО аО 0 а*0

«•"О a-V синйром

а*а*0 аО 0 а"

«"ааО аО 0

a 1 a-a

0 aaa0 аО

10 11

a aa*! aO aa"

0 0 «"«"аО аО 0 а*а*а*0

, , Выловленная

0 аО 0 а*а*аб

а*0 еО 0 «"а*

0 c.-*0 0

а*а*0 аО 0 а*

15 16

0 0 a0 0

n n П 4 выловленная

ООО a* «-ошибка

ааО аО 0 ««а-О аО

0 а*

0 0 0 0

ааО а

а*0 а*

0 0 0 0

«"аО

аа-О

0 0 0 0

0 аа*

0 0 0 0

аО а

0 0 0 0

Рис. 6.28. Пример вылавливания ошибок.

фигурацию. К ним принадлежат ошибки, содержащие не более двух ненулевых символов, один из которых расположен в крайней правой позиции. Если произошло не более двух ошибок, то это случится хотя бы однажды в течение следующих семи тактов работы (в примере это случилось на 13-м такте). Следовательно, ошибка выловлена. Подчеркнем, что символы синдрома упорядочены в порядке возрастания слева направо. В момент вылавливания ошибки в синдромном регистре записан 4-символьный сегмент {е, 65, е, бо) сдвинутого многочлена ошибки. Поскольку




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