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

         

Простейший пример программной реализации такого


Рис. 1.2. 0x336  устройство простейшего кодера Рида-Соломона

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

Листинг 21.19. Исходный текст простейшего кодиеровщикаа Рида-Соломона

/*----------------------------------------------------------------------------

 *

 *            кодировщик Рида-Соломона

 *            ========================

 *

 *     кодируемые  данные  передаются  через массив  data[i], где i=0..(k-1),

 * а сгенерированные   символы  четности  заносятся в  массив b[0]..b[2*t-1].

 * Исходные и результирующие данные должны быть представлены в полиномиальной

 * форме (т. е. в обычной форме машинного представления данных).

 *     кодирование производится с использованием сдвигового feedback-регистра,

 * заполненного  соответствующими   элементами   массива   g[]  с  порожденным

 * полиномом   внутри,   процедура   генерации   которого  уже  обсуждалась  в

 * предыдущей главе.

 *     сгенерированное кодовое слово описывается следующей формулой:

 * с(x) = data(x)*x^(n-k) + b(x), где ^ означает возведение в степень

 *

 *                                    на основе исходных текстов

 *                                    Simon'а Rockliff'а, от 26.06.1991

 *                                    распространяемых по лицензии GNU

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––-*/

encode_rs()

{

    int i, j;

    int feedback;

   

    // инициализируем поле бит четности нулями

    for (i = 0; i < n - k; i++) b[i] = 0;

   

    // обрабатываем все символы

    // исходных данных справа налево

    for (i = k - 1; i >= 0; i--)

    {

         // готовим (data[i] + b[n – k –1]) к умножению на g[i]

         // т. е.

Содержание  Назад  Вперед







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий