Научная статья на тему 'Процедуры коррекции ошибок для оптической памяти'

Процедуры коррекции ошибок для оптической памяти Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
226
72
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОИЗВЕДЕНИЕ КОДОВ РИДА-СОЛОМОНА / ДЕКОДИРОВАНИЕ / DVD / REED-SOLOMON PRODUCT CODE / DECODING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Егоров С.И., Кривонос А.В., Сазонов А.О., Цвелик Д.В.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ERROR CORRECTION PROCEDURES FOR CONSUMER OPTICAL STORAGE

New procedures for error correction in DVD data are presented. A high efficiency of presented procedures for random errors is demonstrated with imitation modeling.

Текст научной работы на тему «Процедуры коррекции ошибок для оптической памяти»

Процедуры коррекции ошибок для оптической памяти

109

УДК 621.391.15 DOI: 10.17586/0021-3454-2015-58-2-109-114

С. И. Егоров, А. В. Кривонос, А. О. Сазонов, Д. В. Цвелик

ПРОЦЕДУРЫ КОРРЕКЦИИ ОШИБОК ДЛЯ ОПТИЧЕСКОЙ ПАМЯТИ

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

Ключевые слова: DVD, произведение кодов Рида—Соломона, декодирование.

Введение. Оптические DVD-диски — один из наиболее используемых носителей информации, их достоинством является дешевизна и возможность хранения достаточно большого объема информации. Однако оптические диски характеризуются относительно высоким уровнем ошибок при считывании информации вследствие их дефектов [1].

Для коррекции ошибок, возникающих при чтении информации с дисков DVD, используются произведения кодов Рида—Соломона (Reed—Solomon Product Code, RSPC) [2].

Коды Рида—Соломона (RS-коды) характеризуются параметрами (n, k, d) [3], где n — длина кодового слова, k — число информационных символов в кодовом слове, d — минимальное кодовое расстояние. При этом количество проверочных символов в слове r = (n - k), и d = r + 1. Символы кодового слова представляют собой элементы поля Галуа GF(^).

Число гарантированно исправляемых кодом ошибочных символов ограничено половиной минимального кодового расстояния tc =|_(d-1)/2J . Для RS-кода (208,192,17) с символами из поля Галуа GF(28), используемого в DVD, максимальное число гарантированно исправляемых ошибочных символов (байтов) равно 8, для RS-кода (182,172,11) — 5.

Число гарантированно исправляемых ошибочных символов произведением кодов Рида—Соломона равно tc = \_(dhdv -1)/2J = 98 (dh и dv — минимальное расстояние RS-кода

для кодирования горизонтальных и вертикальных слоев).

Закодированный блок данных, записанный в одном секторе диска DVD, приведен на рис. 1. Информационные символы блока сначала кодируются RS-кодом (208,192,17) по вертикали, затем — RS-кодом (182,172,11) по горизонтали.

Используемая в контроллерах накопителей DVD процедура коррекции ошибок (процедура декодирования произведения кодов Рида—Соломона) предусматривает выполнение двух этапов.

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

На втором этапе процедуры исправляются ошибки по столбцам блока данных. При этом все символы горизонтальных кодовых слов, в которых зафиксированы неуправляемые ошибки, в вертикальных кодовых словах объявляются стертыми. Если столбец имеет e стираний (из-за отказов декодирования) и t ошибок (из-за ошибочных исправлений), то он корректируется тогда и только тогда, когда 2t+e < d— 1. Поскольку RS-код столбца имеет

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2015. Т. 58, № 2

110

С. И. Егоров, А. В. Кривонос, А. О. Сазонов, Д. В. Цвелик

минимальное расстояние 17, в каждом столбце можно исправить до 8 байтовых ошибок или до 16 стираний.

172

♦4

10

4

192

16

^ ^ Кодовое слово RS (182, 172)

В

||1

IO| О I

||1

Информационные символы

f

I

I

Проверочные символы

Рис. 1

Для исправления ошибок и стираний в горизонтальных и вертикальных кодовых словах используются стандартные алгоритмы алгебраического декодирования кодов Рида— Соломона с жесткими решениями: алгоритм Берлекэмпа—Месси или алгоритм Евклида [2, 3].

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

Модифицированная процедура коррекция ошибок. Недостаточно высокая эффективность исправления независимых ошибок рассмотренной процедурой коррекции объясняется большим числом ложных стираний символов на втором этапе. С учетом этого процедура может быть усовершенствована следующим образом.

1) на втором этапе при исправлении ошибок в вертикальных кодовых словах стирания не используются. В этом случае в вертикальных кодовых словах возможно исправление до восьми независимых ошибок. При исправлении ошибочных символов модифицируются синдромы горизонтальных кодовых слов, к которым эти символы относятся. Если число ошибок больше восьми, фиксируется отказ от декодирования (при отсутствии ложной коррекции, вероятность которой для RS-кода (208,192,17) весьма мала). Соответствующие вертикальные кодовые слова маркируются в специальном массиве;

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

Приведем алгоритм финального исправления стираний.

1) i = 0.

2) Если DecFailHor[i] = 1, выполняются п. 3—7, в противном случае осуществляется переход к п. 8.

3) NumErasures = CntDecFailVer. Формируются позиции стираний для i-го горизонтального кодового слова в соответствии с содержимым массива DecFailVer. С использованием алгоритма Берлекэмпа—Месси и учетом NumErasures стираний находятся позиции и значения ошибок в этом слове.

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2015. Т. 58, № 2

Процедуры коррекции ошибок для оптической памяти 111

4) Если NumErrors > 0, выполняются п. 5—7, в противном случае осуществляется переход к п. 8.

5) Исправляются NumErrors ошибки в i-м горизонтальном кодовом слове. При DecFailHor[i] = 0 значение CntDecFailHor декрементируется.

6) Если CntDecFailHor = 0, осуществляется переход к п. 10, в противном случае — к п. 7.

7) Выполняется модификация синдромов вертикальных кодовых слов, в которые входят исправленные символы i-го горизонтального кодового слова. Проверяются значения модифицированных синдромов, если они равны нулю, соответствующие ячейки массива DecFailVer сбрасываются в нуль. Одновременно для каждого нулевого значения синдрома декрементируется счетчик CntDecFailVer.

8) i = i +1.

9) Если i = 208, процедура коррекции ошибок завершается неудачей, в противном случае — переход к п. 2.

10) Конец: ошибки в блоке данных исправлены.

В алгоритме используются следующие переменные:

— i — счетчик горизонтальных кодовых слов в блоке данных;

— DecFailHor[0:207] и DecFailVer[0:171] — массивы флагов неудачного декодирования горизонтальных и вертикальных кодовых слов соответственно, единица в ячейке массива означает неудачное декодирование слова;

— CntDecFailHor и CntDecFailVer — счетчики числа неудачно декодированных горизонтальных и вертикальных кодовых слов соответственно;

— NumErasures — число стираний на входе алгоритма Берлекэмпа—Месси;

— NumErrors — число найденных ошибочных символов на выходе алгоритма Берлекэмпа—Месси.

Сложность третьего этапа гораздо меньше сложности первого и второго этапов модифицированной процедуры коррекции ошибок. Это определяется двумя факторами: 1) число декодируемых горизонтальных и вертикальных кодовых слов (с отказами от декодирования) на порядок меньше числа кодовых слов, декодируемых на первых двух этапах процедуры; 2) вместо вычисления синдромов используется их модификация.

Использование третьего этапа позволяет эффективно исправлять протяженные пакеты ошибок в закодированном блоке данных.

Моделирование процедур коррекции ошибок. Эффективность процедур коррекции ошибок в оптических дисках DVD исследовалась путем имитационного моделирования на ЭВМ. При этом использовалась модель канала с гауссовым шумом (AWGN) и модуляцией BPSK. Блок-схема программной модели приведена на рис. 2.

Рис. 2

При моделировании основными блоками программной модели выполняются:

1) генерирование случайных данных;

2) кодирование потока данных (RSPC-кодером);

3) отображение битов в точки сигнального созвездия BPSK;

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2015. Т. 58, № 2

112

С. И. Егоров, А. В. Кривонос, А. О. Сазонов, Д. В. Цвелик

4) добавление белого гауссова шума (БГШ) к сигналу;

5) отображение искаженного сигнала в последовательность битов блока данных;

6) коррекция ошибок в блоке данных RSPC-декодером;

7) подсчет числа ошибочных битов и блоков после коррекции. Вычисление значений BER (Bit Error Rate) и BlER (Block Error Rate).

С использованием программной модели исследовались зависимости BER и BlER на выходе RSPC-декодера от значений Eb/No (отношения энергии сигнала на информационный бит к односторонней спектральной плотности шума). Результаты исследований обычной и модифицированной процедур коррекции ошибок в DVD приведены в табл. 1, 2 (уср — среднее число ошибочных байтов, исправленных в закодированном блоке данных).

Таблица 1

Обычная процедура коррекции ошибок в DVD____________________

Eb/No, dB 6,70 6,80 6,85 6,90 6,95 7,00

V«, 638,2 581,7 550,2 522,5 493,8 467,7

BER 3,5 10-4 7,9-10-5 1,0-10-5 2,0-10-6 4,2-10-7 3,6-10-8

BlER 0,79 0,20 2,8-10-2 5,3 10-3 1,210-3 1,0-10-4

Таблица 2

Модифицированная процедура коррекции ошибок в DVD_______

Eb/No, dB 6,00 6,05 6,10 6,15 6,20

Vm 1260,6 1205,5 1147,1 1096,0 1047,0

BER 9,5-10-4 5,6-10-4 4,2-10-5 2,9-10-6 2Д-10"8

BlER 0,69 0,33 3,310-2 1,810-3 1,3-rn-4

Среднее число исправляемых ошибочных байтов достигает 550,2 для обычной процедуры коррекции ошибок (Eb/No = 6,85) и 1147,1 — для модифицированной (Eb/No = 6,1). При использовании модифицированной процедуры количество исправляемых ошибочных байтов в блоке примерно в 10 раз превышает значение tc = 98.

На рис. 3 приведен график зависимостей BlER от Eb/No , полученный в результате имитационного моделирования коррекции ошибок в DVD (1 — зависимость, соответствующая обычной процедуре коррекции ошибок, 2 — первому и второму этапам модифицированной процедуры, 3 — модифицированной процедуре с финальным исправлением стираний, 4 — „вертикально-настойчивой“ процедуре коррекции ошибок, которая будет рассмотрена ниже).

5,4 5,6 5,8 6 6,2 6,4 6,6 6,8 7 EN dB

Рис. 3

Из рисунка видно, что в сравнении с обычной процедурой коррекции ошибок энергетический выигрыш от кодирования, обеспечиваемый модифицированной процедурой коррекции ошибок, составляет примерно 0,8 dB.

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2015. Т. 58, № 2

Процедуры коррекции ошибок для оптической памяти

113

„Вертикально-настойчивая“ процедура коррекции ошибок. В процессе отладки программной модели коррекции ошибок для дисков DVD было отмечено следующее:

1) большое количество горизонтальных кодовых слов невозможно исправить. В блоке данных наблюдались десятки таких слов (Eb/No = 6,1), что на порядок больше числа вертикальных слов c неуправляемыми ошибками;

2) достаточно много горизонтальных кодовых слов исправлялось ошибочно.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Объясняется это значительно меньшим минимальным расстоянием RS-кода (dh = 11),

используемым для кодирования горизонтальных слов, по сравнению с минимальным расстоянием RS-кода (dv = 17), используемым для вертикальных слов.

Разработана процедура коррекции ошибок в блоке данных DVD, в которой основное внимание уделяется декодированию вертикальных кодовых слов. При этом коррекция ошибок в горизонтальных кодовых словах осуществляется только в случае невозможности декодирования вертикальных. Эту процедуру назовем „вертикально-настойчивой“, блок-схема ее укрупненного алгоритма приведена на рис. 4.

Рис. 4

Вначале производится вычисление синдромов и исправление ошибок в вертикальных кодовых словах. Если все ошибки исправлены, декодирование завершается. В противном случае вычисляется синдром и исправляются ошибки в i-м горизонтальном слове (=0—207). Если ошибки возникли в информационной части слова, производятся модификации синдромов соответствующих вертикальных кодовых слов и выполняются повторные попытки исправления в этих словах ошибок. Если все ошибки в блоке не исправлены, декодируется следующее горизонтальное слово. Если после перебора всех горизонтальных слов останутся ошибки, коррекция блока данных считается неудачной.

Эффективность исправления независимых ошибок ,,вертикально-настойчивой“ процедурой исследовалась на программной модели (табл. 3).

Таблица 3

Et/No, dB 5,40 5,45 5,50 5,60

^ср 2070,4 1975,1 1899,1 1756,4

BER 5,1-10-3 1,410-3 8,4-10-5 1,810-7

BlER 1,0 0,30 1,9-10-2 1,210-3

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2015. Т. 58, № 2

114

С. И. Егоров, А. В. Кривонос, А. О. Сазонов, Д. В. Цвелик

Среднее число исправляемых ошибочных байтов для процедуры достигает 1889,1; это примерно в три раза больше, чем для обычной процедуры коррекции ошибок, и в два раза больше, чем для модифицированной.

Из рис. 3 видно, что энергетический выигрыш от кодирования, обеспечиваемый этой процедурой, составляет примерно 1,4 dB в сравнении с обычной процедурой коррекции ошибок и 0,6 dB — в сравнении с модифицированной.

Заключение. Предложенные процедуры коррекции ошибок для оптических дисков DVD позволяют значительно повысить эффективность исправления независимых ошибок. Модифицированная и ,,вертикально-настойчивая“ процедуры коррекции ошибок обеспечивают дополнительный энергетический выигрыш от кодирования соответственно 0,8 и 1,4 dB в сравнении с обычной процедурой коррекции ошибок.

Работа поддержана грантом Президента Российской Федерации для государственной поддержки ведущих научных школ НШ-2357.2014.8.

СПИСОК ЛИТЕРАТУРЫ

1. Егоров С. И. Коррекция ошибок в информационных каналах периферийных устройств ЭВМ. Курск: Курск. гос. техн. ун-т, 2008. 252 с.

2. Chang H. C, Shung C. B., Lee C. Y. A Reed-Solomon Product-Code (RS-PC) Decoder Chip for DVD Applications // IEEE J. of Solid-State Circuits. 2001. Vol. 36, N 2. Р. 229—238.

3. КларкД., Кейн Д. Кодирование с исправлением ошибок в системах цифровой связи. М.: Радио и связь, 1987. 392 с.

Сергей Иванович Егоров Алексей Владимирович Кривонос Антон Олегович Сазонов Дмитрий Васильевич Цвелик

Сведения об авторах

д-р техн. наук, профессор; Юго-Западный государственный университет, кафедра вычислительной техники, Курск; E-mail: sie58@mail.ru аспирант; Юго-Западный государственный университет, кафедра вычислительной техники, Курск

студент; Юго-Западный государственный университет, кафедра вычислительной техники, Курск

аспирант; Юго-Западный государственный университет, кафедра вычислительной техники, Курск

Рекомендована Юго-Западным государственным университетом

Поступила в редакцию 10.09.14 г.

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2015. Т. 58, № 2

i Надоели баннеры? Вы всегда можете отключить рекламу.