Главная страница Дискретный канал связи [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] ГЛАВА 7 КОДЫ БОУЗА-ЧОУДХУРИ-ХОКВИНГЕМА Коды Боуза-Чоудхури-Хоквингема (БЧХ) представляют собой обширный класс кодов, способных исправлять несколько ошибок и занимающих заметное место в теории и практике кодирования. Интерес к кодам БЧХ определяется по меньшей мере следующими четырьмя обстоятельствами: 1) среди кодов БЧХ при небольших длинах существуют хорошие (но, как правило, не лучшие из известных) коды; 2) известны относительно простые и конструктивные методы их кодирования и декодирования (хотя если единственным критерием является простота, то предпочтение следует отдать другим кодам); 3) коды Рида-Соломона, являющиеся широко известным подклассом недвоичных кодов, обладают определенными оптимальными свойствами и прозрачной весовой структурой; 4) полное понимание кодов БЧХ, по всей видимости, является наилучшей отправной точкой для изучения многих других классов кодов. В этой главе мы будем говорить о кодах БЧХ во временном представлении. Это будет отражать исторически первый подход к изучению кодов БЧХ. В гл. 8 мы изложим те же самые идеи при помощи частотной интерпретации полей Галуа. Мы сначала определим исправляющие t ошибок коды БЧХ над GF (q) длины q"" - 1, задавая порождающий многочлен g (х). Коды такой длины называют примитивными кодами БЧХ. Мы докажем, что эти коды исправляют t ошибок, построив в явном виде алгоритм декодирования. Затем мы обобщим наши рассуждения на случай кодов БЧХ, длина которых является делителем q - I. 7.1. ОПРЕДЕЛЕНИЕ КОДОВ БЧХ Порождающий многочлен циклического кода можно представить в виде g (х) = НОК [fi (х), h (х), .... fr (х)1 где fi{x), /г () - минимальные многочлены корней g (х). Используя этот подход, мы будем строить коды по порождающему многочлену, который будет задаваться своими корнями. Пусть с {х) - кодовый многочлен, а е (х) - многочлен ошибок. Принятый многочлен с коэффициентами из GF (q) запишется в виде у (х) = с (х) + е (х). Мы можем вычислить значение этого многочлена на элементах из GF (q); в частности, нас будут интересовать значения многочлена в точках, являющихся корнями g (х), скажем в точках 7i, Уг- Тогда поскольку с (yj) = О для любых yj, являющихся корнями g (х), то * V {yj) = с iyj) + е [yj) = е (yj). Таким образом, v{yi)= £ еу), /= 1, . . ., г, для всех Yj, являющихся корнями g (х). В результате мы получаем г уравнений, содержащих только величины, определяемые ошибками и не зависящие от кодового слова. Если эти уравнения можно разрешить относительно е,, то мы сможем определить многочлен ошибок. Будем выбирать у таким образом, чтобы система г уравнений могла быть решена относительно et каждый раз, когда не более t неизвестных отличны от нуля. Для произвольного циклического кода с порождающим многочленом (х), имеющим корни у, Уг, определим компоненты синдрома 5j = V (yj), j = 1, г. Эти элементы поля отличны от синдромного многочлена s (х), но содержат эквивалентную информацию. Мы хотим подобрать У1, Уг так, чтобы по 5i, 5 можно было найти t ошибок. Вскоре мы докажем, что если а - примитивный элемент поля GF (q"), то таким множеством является а, «2, а, а\. Приняв это пока на веру, выберем многочлен g (х) с указанной последовательностью корней. Задав длину п = q - 1 примитивного кода для некоторого т и число t ошибок, которое необходимо исправить, поступим следующим образом: 1) выберем примитивный многочлен степени т и построим поле GF {q"); 2) найдем минимальные многочлены fj{x) для af, /= 1, 3) положим g (х) = ЯОК Ih {X), W I. В следующем параграфе, подробно описав алгоритм декодирования, мы докажем, что такой циклический код может исправлять t ошибок. Иногда построенные таким образом коды БЧХ могут исправлять более t ошибок. Поэтому величина d = 2t + \ называется конструктивным расстоянием кода. Истинное минимальное расстояние кода d* может быть больше конструктивного. В табл. 7.1 задано представление поля GF (16) как расширение поля GF (2), построенное по примитивному многочлену р (z) = г* -\-Z -\-\, в нее включены также минимальные многочлены GF (2) для всех элементов из поля GF (16), где а = z - примитивный элемент GF (16). Заметим, что минимальные многочлены для любой четной степени а всегда уже содержатся в одной из предыдущих строк таблицы. Это следствие теоремы 5.3.4, которая утверждает, что элементы р и для любых р имеют одинаковые минимальные многочлены над полем GF (2). Данный факт немного поможет нам при вычислении g [х). Порождающий многочлен для исправляющего две ошибки кода БЧХ длины 15 получается следующим образом: g {X) = НОК [h W, к {X), и W, f4 ix) ] - = НОК [х + х + 1, X* -\-х -\-\, X* + -fx=*+x2-fx-fl, х*+х+1] = Таблица 7.1 Представления поля GF (2)
[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.0119 |