Техника защиты компакт-дисков от копирования


Синдромный декодер


Грубо говоря, синдром есть остаток деления декодируемого кодового слова c(x) на порожденный полином g(x), и, если этот остаток равен нулю, кодовое слово считается неискаженным. Ненулевой остаток свидетельствует о наличии по меньшей мере одной ошибки. Остаток от деления дает многочлен, независящий от исходного сообщения и определяемый исключительно характером ошибки (syndrome— греческое слово, обозначающее совокупность признаков и/или симптомов, характеризующих заболевание).

Примечание

(Syndrome  (синдром) — греческое слово, обозначающее совокупность признаков и/или симптомов, характеризующих заболевание.)

Принятое кодовое слово v

с компонентами vi = ci + ei, где i = 0, … n – 1, представляет собой сумму кодового слова c

и вектора ошибок e. Цель декодирования состоит в очистке кодового слова от вектора ошибки, описываемым полиномом синдрома и вычисляемом по формуле Sj = v(aj + j0 – -1), где j изменяется от 1 до 2t, а a представляет собой примитивный член "альфа", который мы уже обсуждали в предыдущемй разделеглаве. Да, мы снова выражаем функцию деления через умножение, поскольку деление — крайне неэффективная в смысле производительности операция.

Блок схема устройства, осуществляющего вычисление синдрома приведена на рис. 21.44. Как видно, она основана представляет собой типичный фильтр (сравните ее со схемой рис. 21.2), а потому ни в каких дополнительных пояснениях не нуждается.

Рис. 21.4.4. 0x338 Блок-схема цепи вычисления синдрома

Вычисление синдрома ошибки происходит итеративно, так что вычисление результирующего полинома (также называемого ответом от английского "answer") завершается непосредственно в момент прохождения последнего символа четности через фильтр. Всего требуется 2t

циклов "прогона" декодируемых данных через фильтр, — по одному прогону на каждый символ результирующего полинома.

Пример простей программной реализации синдромного декодера содержится в листинге 21.20[Y71] , и он намного нагляднее его словесного описания.



Содержание раздела