Научная статья на тему 'Декодер кода Рида—Соломона для цифрового телевидения'

Декодер кода Рида—Соломона для цифрового телевидения Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1419
114
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
DVB-S / КОД РИДА—СОЛОМОНА / REED—SOLOMON CODE / МЯГКОЕ ДЕКОДИРОВАНИЕ / SOFT DECODING / ДЕКОДЕР / DECODER

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

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

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

A Reed—Solomon Decoder for DVB

A design of Reed—Solomon decoder for DVB is presented. Soft-decision decoding is implemented in the decoder. This decoder provides high performance using error pattern filtering by total error pattern reliability.

Текст научной работы на тему «Декодер кода Рида—Соломона для цифрового телевидения»

СРЕДСТВА ОБРАБОТКИ ТЕЛЕВИЗИОННЫХ ИЗОБРАЖЕНИЙ

УДК 621.391.15

С. И. Егоров, В. С. Титов, О. Б. Графов ДЕКОДЕР КОДА РИДА—СОЛОМОНА ДЛЯ ЦИФРОВОГО ТЕЛЕВИДЕНИЯ

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

Ключевые слова: DVB-S, код Рида—Соломона, мягкое декодирование, декодер.

Введение. Задача обеспечения массового доступа населения к цифровому телевидению не может быть полноценно решена без использования беспроводных технологий вещательной передачи данных, к которым относится DVB (Digital Video Broadcasting) [1]. Важной составляющей технологии DVB является система коррекции ошибок (FEC), использующая помехоустойчивые коды, в том числе код Рида—Соломона.

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

Число гарантированно исправляемых кодом ошибок ограничено половиной минимального кодового расстояния tc = [(d -1) / 2J . Для РС-кода (204,188,17) с символами из поля Га-

луа GF(2 ), используемого в DVB [1], максимальное число таких ошибок равно 8.

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

Процедура исправления ошибок. Предлагаемый декодер РС-кодов реализует модифицированную процедуру мягкого декодирования [3], включающую следующие этапы.

1. Вычисляется полином синдромов S(x) [2]. Если компоненты синдрома нулевые (ошибок нет), осуществляется переход к п. 14.

2. Вычисляются полином локаторов ошибок Л(2с)(x), вспомогательный полином B(2tc)(x)

и формальная степень полинома локаторов ^ путем выполнения 2tc итераций алгоритма Берлекэмпа—Месси.

3. Если ¿2г — tc, находятся корни полинома

Л (2tc)

(х) . Если их число равняется , то

обратные к ним значения принимаются как локаторы ошибок. По формуле Форни [2] вычисляются значения ошибок. Ложная конфигурация ошибок отфильтровывается, верная добавляется в список.

4. Вычисляется управляющая переменная s (shift): s = tc -¿2?с . Если s > т или s <- т, осуществляется переход к п. 13.

5. Вычисляются преобразования Фурье полиномов Л(2tc)(х) и B(2tc)(х).

6. Когда s > 0, вычисляются множества значений дробей

R = a(2s+1)iB (2tc )(a-i)/Л(2tc )(a-i), или R = a( -2s-1)i Л (2tc )(a-i)/B(2tc )(a-i)

в противном случае (a — примитивный элемент поля GF(q); i = 0, ..., n-1).

7. Устанавливается начальное значение счетчика дополнительно исправляемых ошибок

v = 1.

8. Вычисляются вспомогательные переменные: l = 2v, o1 = v - |s+1|, °2 = v - |s|, w = tc +1 - v.

9. Устанавливается начальное значение счетчика систем уравнений: sc = 1.

10. Вычисляются последовательности Зщ^щ ] ь[ц возможных значений невязки

А¿[¿1]¿[г^] щ] для наиболее вероятных наборов индексов i1, i2,.,il-1 и осуществляется поиск значений А, которые встречаются точно w раз в какой-то из этих последовательностей, где:

= = F°1(L[i1], ¿[i2],..., L[ii], Ящ], RL[i2],..., RL[il ])

Si['1]'i[,2].....L['l-1]=А L['1]'L['2].....L['l] = Fo 2( L[i,], L[i2],..., щ ],Rl[,,], Rl[,2],..., rWi ]) •

'l =,i -1 +1, nc -1; F° (L[il]• L[i2]•...• L[ii] ^ rl[ 1 ^ RL[,2] RL[ i ]) =

z

V{j1J2r..Jo }=J h<h <..< jo

j1J2:..J0e{12:..J}

П (]+aL[''2]) П ])]0RL|

[j ]

V{k1,k2} V{»1,»2} k=1

»1<»2 »1<»2

Если найдены значения А, которые встречаются точно w раз в какой-то из этих последовательностей, то значениями позиций ошибок являются индексы L[i1], L[i2],..., L['i-1] этой последовательности и множество значений индекса L [ii], соответствующего таким А. По формуле Форни вычисляются значения ошибок. Ложные конфигурации ошибок отфильтровываются, верные добавляются в список.

В случае добавления конфигураций ошибок в список и выполнения условий выхода exit = 1 или exit = 2 перебор индексов 'ь i2, ... ii-1 прекращается. Если exit = 1, осуществляется переход к п. 13, если 2 — переход к п. 11.

11. Если v=-s, осуществляется переход к п. 12, в противном случае: sc=sc+1, l = l - 1, o1 = o1 - 1, o2 = o2 - 1, w = w + 1.

Если sc — (v—|s|), осуществляется переход к п. 10.

12. v=v+1. Если v— т , то осуществляется переход к п. 8.

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

14. Конец.

52

С. И. Егоров, В. С. Титов, О. Б. Графов

Поиск позиций ошибок осуществляется в порядке возрастания надежности символов принятого кодового слова. Последовательность номеров позиций символов, упорядоченных по надежности, хранится в таблице L[ ].

В описании процедуры мягкого декодирования использованы следующие переменные: L — таблица, содержащая номера позиций символов, упорядоченных по надежности; sc — счетчик систем уравнений; exit — режим завершения работы процедуры декодирования:

0 — без досрочного выхода из процедуры декодирования;

1 — досрочный выход после 1-го найденного вектора ошибок;

2 — после найденных векторов ошибок для каждой системы уравнений.

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

Быстродействие приведенной процедуры на порядки выше быстродействия алгоритма списочного декодирования, на котором она основана [4], поскольку диапазон перебора индексов ij в несколько раз меньше длины кода п.

Устройство декодера. Структурная схема декодера кодов Рида—Соломона приведена на рис. 1. Декодер содержит буферную память данных, блок вычисления синдромов (БВС), процессор Галуа, блок дискретного преобразования Фурье (БДПФ), блок поиска позиций ошибок (БППО), блок сортировки позиций символов (БСПС), блок вычисления значений ошибок (БВЗО), сумматор элементов поля Галуа.

{PE}

Рис. 1

Декодер обрабатывает входные данные, представляющие собой последовательность n да-разрядных символов кодового слова {r}, принятого из канала, которые сопровождаются значениями их надежности {reli}. На выход декодера выдается последовательность n да-разрядных символов кодового слова с исправленными ошибками {ci}.

Буферная память данных предназначена для временного хранения принятых из канала символов исправляемых кодовых слов. БВС вычисляет многочлен синдрома S(x) принятого кодового слова; БСПС сортирует позиции символов принимаемого из канала кодового слова в соответствии с их надежностью, формируя таблицу перестановок L.

Процессор Галуа выполняет операции в конечном поле Галуа, он реализует алгоритм

Берлекэмпа—Месси [2], вычисляя в соответствии с ним многочлены Л (2tc x) и B(2tc x) за 2tc итераций.

Кроме того, на основе информации, полученной от блока поиска позиций ошибок, он вычисляет многочлен Л(2tc + 2т)(x) . Используя многочлены Л(х) = Л(2с +2т)(x) и S(x), процессор Галуа вычисляет многочлен значений ошибок Q(x)= Л(x)S(x) mod x^-1 и формальную производную Л'(х) многочлена локаторов Л(к) с последующей загрузкой полученных многочленов вместе с найденными позициями ошибок {PE} в блок вычисления значений ошибок.

БДПФ вычисляет преобразование Фурье многочленов Л(2с)(x) и B(2tc)(x) . Кроме того, он вычисляет коэффициенты R Эти коэффициенты загружаются в память БППО, адресуемую с помощью таблицы перестановок L БСПС. Блок дискретного преобразования Фурье

также вычисляет величины, обратные корням полинома Л (2tc) (x), и контролирует их число,

если ¿2гс - te.

БППО обрабатывает коэффициенты R он находит позиции ошибок большего веса, чем te.

БВЗО, используя многочлены Q(x) и Л'(х), вычисляет значения ошибок в найденных позициях {PE}. Значения ошибок суммируются с соответствующими символами кодового слова, считываемого из буферной памяти данных. Тем самым исправляются ошибочные символы кодового слова.

Представленный декодер работает по конвейерному принципу: все основные модули работают параллельно, обрабатывая последовательно принятые из канала различные кодовые слова.

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

Программная модель декодера. Для исследования эффективности исправления ошибок была разработана программная модель декодера РС-кода. С ее помощью исследована исправляющая способность декодера в канале с гауссовым шумом (AWGN) и модуляцией BPSK. В качестве меры надежности символа принималось минимальное значение модуля LLR (Log-likelihood Ratio) составляющих символ битов.

На рис. 2 приведены графики зависимостей FER (Frame Error Ratio) на выходе декодера от Eb''No (отношение энергии сигнала на i0g FER информационный бит к односторонней О спектральной плотности шума) для РС-кода (204, 188, 17), используемого в DVB. Цифрами обозначены кривые, полученные при исследовании декодера РС-кодов с мягкими решениями без фильтрации для различных радиусов декодирования: 1, 2 и 3 соответствуют 9, 10 и 11 ошибочным символам. Буквами обозначены кривые, полученные при исследовании того же декодера с фильтрацией по совокупной надежности ошибочных символов с различными радиусами декодирования: a, b и c соответствуют радиусам 9, 10 и 11 ошибочных символов. Значение порогов фильтрации выбиралось в диапазоне 1,6—1,9.

Из рис. 2 видно, что использование фильтрации по совокупной надежности ошибочных символов дает дополнительный энергетический выигрыш при исправлении 11 ошибочных символов, равный 0,12 db. При исправлении 9 и 10 ошибочных символов дополнительного

-1

-2

-3

-4 5,50

---1 2 3

--a

\ * о

5,75

6,00 Рис. 2

6,25 EblN0, dB

54

С. И. Егоров, В. О. Авдеев, Э. И. Ватутин, В. С. Панищев

выигрыша не наблюдается. Исправление 11 ошибочных символов без фильтрации нецелесообразно.

Заключение. Аппаратная реализация разработанного для приемников цифрового телевидения декодера кода Рида—Соломона относительно несложна.

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

Представленная работа поддержана грантом федеральной целевой программы „Научные и научно-педагогические кадры инновационной России" № 14.В37.21.0621.

список литературы

1. EN 301 210: "Digital Video Broadcasting (DVB), Framing structure, channel coding and modulation for Digital Satellite News Gathering (SNG) and other contribution applications by satellite".

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

3. Графов О. Б., Егоров С. И., Титов В. С. Мягкое декодирование кодов Рида—Соломона // Изв. ЮЗГУ. Сер. „Управление, вычислительная техника, информатика". Медицинское приборостроение. 2012. № 2, Ч. 1. С. 17—23.

4. Егоров С. И. Алгоритм декодирования кодов Рида—Соломона, исправляющий вплоть до n-k ошибок в кодовом слове // Тр. РНТОРЭС им. А. С. Попова. Сер. „Цифровая обработка сигналов и ее применение". М., 2009. Вып. XI-1. С. 27—30.

Сергей Иванович Егоров —

Виталий Семенович Титов —

Олег Борисович Графов —

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

Сведения об авторах д-р техн. наук, профессор; Юго-Западный государственный университет, кафедра вычислительной техники, Курск; E-mail: sie58@mail.ru д-р техн. наук, профессор; Юго-Западный государственный университет, кафедра вычислительной техники, Курск; заведующий кафедрой; E-mail: titov-kstu@rambler.ru

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

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

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

УДК 621.391.15

С. И. Егоров, В. О. Авдеев, Э. И. Ватутин, В. С. Панищев ДЕКОДЕР ЬБРС-КОДОВ ДЛЯ ЦИФРОВОГО ТЕЛЕВИДЕНИЯ

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

Ключевые слова: Б¥Б-82, ЬБРС-код, итеративное декодирование, декодер.

Качество и стоимость телевизионных приемников систем цифрового телевидения второго поколения (БУВ-82 и БУВ-Т2 [1]) во многом зависят от важного компонента: декодера помехоустойчивых ЬБРС-кодов. Это делает актуальной задачу разработки декодеров длинных ЬБРС-кодов с невысокой сложностью аппаратной реализации и высокой исправляющей способностью. Вариант такого декодера предлагается в настоящей работе.

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