Челябинский физико-математический журнал. 2016. Т. 1, вып. 3. С. 77-85.
УДК 519.856
ПОЛИФАЗНАЯ СХЕМА ПОМЕХОУСТОЙЧИВОГО КОДИРОВАНИЯ НАД ПОЛЯМИ НЕЧЁТНОЙ ХАРАКТЕРИСТИКИ
Д. В. Черников
Челябинский государственный университет, Челябинск, Россия [email protected]
В работе представлена полифазная схема помехоустойчивого кодирования на основе двухканального набора фильтров точного восстановления и предложен метод построения кодов с максимальным кодовым расстоянием над полями нечётной характеристики.
Ключевые слова: помехоустойчивое кодирование, биортогональные преобразования, биортогональный набор фильтров, набор фильтров точного восстановления, вейвлет-преобра-зование над конечным полем.
Введение
Современная теория помехоустойчивого кодирования создала большое число кодов с разнообразными свойствами, эффективно решающих задачи обнаружения и исправления ошибок при передаче информации. Помехоустойчивые коды являются обязательной составляющей систем связи, а также широко используются в электронных средствах хранения и обработки данных. Наиболее распространённые коды имеют более чем полувековую историю, хорошо изучены, алгоритмы их декодирования продолжают совершенствоваться. Дальнейшее развитие теории в части проектирования кодов происходит преимущественно за счёт композиции известных методов. Зачастую трудно ожидать, что новые кодовые конструкции, как простые, так и с комплексной структурой, превзойдут по вычислительной сложности известные способы построения кодов и исправления ошибок.
В то же время развитие получают методы построения помехоустойчивых кодов, опирающиеся на теорию из смежных математических дисциплин. Так, в [1] представлен подход к построению помехоустойчивых 2-циклических вейвлет-кодов с использованием ортогональных наборов фильтров точного восстановления, известных из цифровой обработки сигналов. При описании таких кодов применяется теория вейвлет-преобразований над конечным полем [2; 3]. Задача построения вейвлет-фильтров решена с помощью методов факторизации унитарных и парауни-тарных матриц над конечным полем в [3; 4]. В последующих работах был предложен ряд помехоустойчивых кодов [5] и [6], обладающих хорошими корректирующими свойствами.
Вейвлет-преобразование над конечным полем реализует разбиение пространства векторов с использованием ортогональных наборов фильтров точного восстановления. В то же время существует более гибкая конструкция, где класс допустимых фильтров шире. Это наборы фильтров, реализующие биортогональные разбиения.
Основные положения, касающиеся кодирования с использованием биортого-нальных преобразований над конечными полями, раскрыты в [7]. Терминология биортогональных преобразований над конечными полями заимствована из теории цифровой обработки сигналов [8].
В данной работе представлена полифазная схема помехоустойчивого кодирования и в качестве иллюстрации предложен метод построения биортогональных вейвлет-кодов с максимально возможным кодовым расстоянием.
Биортогональные коды определяются заданием двух пар фильтров. Используя лифтинг [9], можно подобрать фильтры таким образом, чтобы часть компонент преобразования Фурье порождающего многочлена обращалась в нуль, и код, генерируемый таким кодовым многочленом, как и в теории кодов Рида — Соломона, имеет заданное, в том числе максимальное возможное кодовое расстояние. Для исправления ошибок предлагается метод декодирования полиномиальных кодов на основе алгоритма Берлекмпа — Велча; см., например, простой алгоритм декодирования алгебраических кодов, изложенный в [12].
Выражаю благодарность своему научному руководителю А. А. Соловьеву за помощь в работе.
1. Полифазная схема биортогонального вейвлет-кода
Опишем основные положения, касающиеся биортогональных вейвлет-кодов (см. [7]) в полифазном представлении.
Рассмотрим поле СЕ(д), д = рт. Пусть п € N чётно, фильтру к = {кк}п=о поставим в соответствие многочлен
п— 1
к(х) = ^^ кгхг = к0 + к1х + ... кп— 1хп— 1.
г=0
Под полифазным представлением многочлена к(х) будем понимать запись его в виде суммы к(х) = ке(х2) + хк0(х2), где
п/2 п/2
ке(х) = ^ к2кхк, ко(х) = ^ к2к+1хк—
к=0 к=О
полифазные компоненты, содержащие только чётные и только нечётные коэффициенты фильтра к соответственно. Наряду с фильтром к будем рассматривать фильтры д, к, д и их полифазные представления. Определим полифазные матрицы
,е(х) дЦх) '0(х) до(х)_
Фильтры к и д будем называть комплементарными, если определитель соответствующей полифазной матрицы Р(х) равен единице.
Введём в рассмотрение операцию лифтинга (см. [9]), задаваемую некоторым многочленом з(х) € СЕ(д)[х]/(хп/2 — 1) как домножение полифазной матрицы на треугольную матрицу специального вида
Рв(х) = Р (х)
Р(х) =
ке(х) де (х) ко(х) д0(х)
и
Е(х)
1 й(х) 0 1
Иначе
Не (ж) £зе(ж) Н0(ж) д50(ж)
Не (ж) де(ж) Н0(ж) ^е(ж)
1 з(ж) 0 1
Не (ж) ^е(ж)в(ж) + #е(ж) Н0(ж) Н0(ж)з(ж) + д0(ж)
Отметим, что операция лифтинга не меняет определитель полифазной матрицы, поэтому если Н и д — пара комплементарных фильтров, то пара фильтров Н и д3 также будет комплементарной, при этом многочлены Н(ж), д(ж) и д8(ж) связаны соотношением
д8(ж) = д(ж) + Н(ж)в(ж2).
Далее рассмотрим две пары комплементарных фильтров (Н,д) и (Н,д). Будем говорить, что для заданных пар фильтров выполнено условие точного восстановления, если их полифазные матрицы Р и Р в кольце С^1 (д)[ж]/(жп/2 — 1) удовлетворяют соотношению
Р(ж)Р(жга/2-1)4 = /2X2 , / - единичная.
Пары фильтров (Н,д) и (Н,д), для которых выполняется условие точного восстановления, будем называть двойственными.
Из условия точного восстановления следует, что
Р(ж)-1 = Р(жга/2-1)4.
Для комплементарных пар фильтров методом Крамера получаем соотношения между полифазными компонентами двойственных фильтров
Не (ж) = до(жп/2-1), Но(ж) = -де(жп/2-1), де(ж) = — Н0(жга/2-1), д0(ж) = Не(жп/2-1).
Из этих соотношений следует, что
Н(ж) = —жд(—жп/2-1) и д(ж) = жН(—жп/2-1).
Определим процедуру полифазного кодирования
Се (ж) Не (ж) де(ж) 1
с0(ж)_ Н0(ж) д0(ж)_ аж
■и(ж)
Не (ж) + ажде(ж) Н0 (ж) + ажд0(ж)
и(ж) ,
где ■и(ж) — информационный многочлен степени не выше п/2 — 1 и а Е С^1 (д) — константа, с(ж) — многочлен кодового слова.
РХ-1)1
СеМ^у Ф) _^
Р(х)
Кодирование Вычисление синдрома
Полифазная схема биортогонального вейвлет-кода
Предложенная схема полифазного кодирования совпадает со схемой биортого-нального вейвлет-кода (см. [7]), так как
Не(ж2) + аж2де(ж2) + ж(Н0(ж2) + аж2д0(ж2)) = Н(ж) + аж2д(ж).
Пары фильтров (Л, $) и (Л, д) со свойством точного восстановления обеспечивают возможность синдромного декодирования кодового многочлена с(х):
S (x) = [1 bxn/2-1]
he(xn/2-1) h0(xn/2-1)' ge(xn/2-1) g0(xn/2-1)
Ce(x) Co(x)
0,
где b G GF(q) — константа, такая, что ab = (p — 1) mod p. В самом деле [he(xn/2-1) + bxn/2-1ge (Xn/2-1) h0(xn/2-1) + bxn/2-1g0(xn/2-1)]
he(x) + axge(x) ho(x) + axgo(x)
= (go(x) — bxn/2 1ho(x))(he(x) + axge(x)) + (—ge(x) + bxn/2 1he(x))(ho(x) + axgo(x)) =
= (go(x)he(x) — ge(x)ho(x)) + abxn/2 ( — ho(x)ge (x) + he(x)g0(x)) =
= 1 + ab ■ 1 = [1 + (p — 1)] mod p = 0 .
Отметим, что преобразование кодирования инъективно. Поэтому по кодовому многочлену восстанавливается информационный многочлен:
he(x) + axge(x) ho(x) + axgo(x)
— ge(x)(ho (x) + axgo(x)) = (go(x)he (x) — ge(x)ho(x)) = 1.
[he(xn/2-1) h0(xn/2-1)]
go(x)(he(x) + axge(x))— ^^
2. Построение кода с максимальным расстоянием
Интерес представляют коды с большим кодовым расстоянием. Покажем, как над полями нечётной характеристики строятся вейвлет-коды с максимально возможным кодовым расстоянием.
Пусть во введённых ранее обозначениях р =2, п — чётно, V = (г0 ... гп-1) — вектор над СЕ(д), а — примитивный элемент поля. Дискретное преобразование Фурье определяется как вектор V = Т(V) = (М0,... , с компонентами
П_1
Vj = aijvi, j = 0,..., n — 1.
i=0
Обратное преобразование Фурье v = F 1(V) имеет вид
n-1
Vi = (n)-1 £ a-ij Vj j=o
здесь (п) интерпретируется как элемент поля, т. е. приводится по модулю р.
Предложение 1. Среди биортогональных вейвлет-кодов имеются коды с максимально возможным кодовым расстоянием.
Доказательство. Пусть Т(Н) = (Л(а0), ^(а1),..., Л(ап-1)) — преобразование Фурье вектора Н = (Л0, Л1,... , Лп-1). Докажем, что существуют многочлены Л(х) и $(х), для которых имеют место равенства
Л(а7) + аа2-7д(а7) = 0 при ] = —,..., п — 1.
Если многочлен Л(ж) задан, то согласно теореме о лифтинге многочлен $(ж) определяется с точностью до многочлена в (ж) степени ^ о — 1 (см. [9]):
^е(ж) #е(ж)\ Л в(ж)\ = Ав(ж) ^е(ж) + ^в(ж) ■ в(ж)\ = Ае(ж) ^е(ж) Л0(ж) д0(ж)у I0 1 у \Ло(ж) #0(ж) + Л0(ж) ■ в(ж)у \Л0(ж) д50(ж)
где умножение реализуется в кольце полиномов СР(д)[ж]/(жга/2 — 1). Тогда
д5(ж) = д5е(ж2) + жд50(ж2) = ^е(ж2) + Ле(ж2) в(ж2) + ж[д0(ж2) + Л0(ж2) в(ж2)] = = д(ж) + Л(ж)в(ж2).
Добьёмся того, чтобы при г = о,... , п — 1 выполнялись соотношения
Л(аг) + аа2г (#(аг) + ^(аг)в(а2г)) =0 . (2)
Выберем многочлен Л(ж) так, чтобы
п
Л(аг) = 0, при г = — ,..., п — 1.
Оставшиеся частотные компоненты многочлена Л(ж) зададим произвольным образом.
Из (2) находим, что
в(а2г) = — £(аг)(й(аг))-1 — а-1а-2\ г = П,...,п — 1.
Система линейных уравнений относительно коэффициентов многочлена в (ж) степени п — 1 имеет единственное решение, так как определителем системы является ненулевой определитель Вандермонда. В результате для многочленов Л(ж) и д5(ж) имеет место представление
(Л(аг) + аа2г^(аг)}7:°-1 = (Р(а0),..., Р(ап-1), о,..., 0),
где Р(ж) = Л(ж) + аж2^(ж).
Таким образом, преобразование Фурье (С0,... , СО-ц) кодовой последовательности (с0,... , сп-1) с компонентами
С = с(а*) = г(а2*) (Л(а*) + аа2^(^)), г = 0,..., п — 1,
имеет вид ( )
С = (Со,..., Сп-1, 0,..., 0) . (3)
Далее рассуждаем, как в теории кодов Рида — Соломона: ]-я временная компонента кодового вектора с равна нулю тогда и только тогда, когда а--7 является корнем многочлена С (ж) = С0 + С1 ж + ■ ■ ■ + Со-1жо-1. В рассматриваемом случае степень многочлена С (ж) не превышает о — 1. Поэтому многочлен С (ж) может иметь в поле СР(рт) не более о — 1 корней. Следовательно, вес кодового вектора с не может быть меньше числа п — (о — 1) = о + 1. Согласно же теореме Синглто-на для кодового расстояния выполняется неравенство ^ п — о + 1 = о + 1. Поэтому вес кодового слова не больше о + 1, а значит, = о + 1.
По паре комплементарных фильтров (Л, $) строим дополнительную пару фильтров (Л,д). Тем самым построен 2-циклический (п,п/2) вейвлет-код с максимальным кодовым расстоянием. □
3. Помехоустойчивое декодирование
Пусть г(х) = г0 + г^ + ■ ■ ■ + гга/2_1хга/2_1 — информационный многочлен,
с(х) = г(х2 )(Л(х) + ах2^(х)) = с0 + с1х + ■ ■ ■ + сга-1хга_1 —
соответствующий кодовый многочлен. Через С- = с(а7), ] = 0,... , п — 1, обозначим преобразование Фурье кодового многочлена. Будем считать, что фильтры Л(х) и $(х) подобраны так, что (С0, С1,... , Сп/2_1, 0,... , 0). Для коэффициентов многочлена С(х) = С0 + С1х + ■ ■ ■ + Сга/2_1хга/2_1 имеют место соотношения с- = (п)_1 С(а_7), ] = 0,... , п — 1.
Если а — примитивный элемент поля СЕ(рт), то а_1 также является примитивным элементом. Значит, обратное преобразование Фурье последовательности {Сг}П=о является кодовой последовательностью кода Рида — Соломона с параметрами (п,п/2).
Поэтому построенный вейвлет-код является 2-циркулянтным подпространством кода Рида — Соломона и к зашумлённым кодовым словам применим алгоритм Бер-лекэмпа — Велча декодирования алгебраических кодов [10]. Простая реализация алгоритма Берлекэмпа — Велча предложена в [12].
Информационная последовательность восстанавливается из кодовой при помощи соотношения (1).
4. Примеры биортогональных вейвлет-кодов
Рассмотрим конечное поле СЕ(7), в качестве примитивного элемента выберем а = 3, положим а = 1. Следуя описанному выше методу, построим пример вейвлет-кода длины п = 6 с максимальным кодовым расстоянием.
1. Выберем фильтр Л с коэффициентами Фурье {0, 0, 0,1, 6,1}, такой фильтр задаётся многочленом Л(х) = 4х4 + 3х3 + х2 + 6.
2. Его полифазные компоненты имеют вид: Ле(х) = 4х2 + х + 6 и Л0(х) = 3х.
3. Алгоритм Евклида нахождения НОД для полифазных компонент даёт разложение
Ле(х) #е(х)
Ло(х) #0(х)
6х + 5 1 10
4х 1 60 4х2 + х + 6 х + 2
10 06 3х 6
Тем самым получены полифазные компоненты фильтра $: $е(х) = х + 2 и #0(х) = 6.
4. Комплементарный фильтр записывается в виде $(х) = х2 + 6х + 2.
5. Система уравнений для коэффициентов лифтинг-многочлена з(х) имеет вид
30 + «1 + 52 = 2, 50 + 231 +432 =3, х 30 + 4^1 + 2^2 = 4.
Решение системы: з(х) = х2 + 5х + 3.
6. Многочлен комплементарного фильтра с учётом лифтинга имеет вид
#(х) = х5 + 2х4 + 2х3 + 3х2 + 2х + 6.
7. Многочлен Е(х) = 2х5 + 5х3 + х +1 имеет спектр Фурье {2, 2, 2, 0, 0,0} и задаёт (6, 3)-код с максимальным кодовым расстоянием й = 4.
Порождающая и проверочная матрицы равны соответственно
1 1 0 5 0 2 0 2 110 5 0 5 0 2 1 1
5 0 1 6 2 0 2 0 5 0 1 6 1 6 2 0 5 0
Осуществим процедуру декодирования. Зададим информационный многочлен ¿(ж) = ж2 + 2ж + 5 и многочлен ошибки в (ж) = ж4.
Многочлен соответствующего кодового слова и многочлен слова с ошибкой имеют вид
с(ж) = ж4 + ж3 + 2ж2 + 5, г (ж) = 2ж4 + ж3 + 2ж2 + 5.
1. С помощью преобразования Фурье находим интерполяционный многочлен многочлена г(ж)
Т (ж) = 2ж5 + 4ж4 + ж3 + 4ж2 + 2ж + 3.
2. Выполняем расширенный алгоритм Евклида для многочленов жо — 1 и Т(ж), пока степень остатка не станет меньше числа (п + п/2)/2 = 3п/4:
(ж6 + 6) + (3ж + 1)Т (ж) = 6ж3 + 3ж2 + 4ж + 2.
Введём многочлены Р(ж) и Ш(ж), полагая
Р (ж) = 6ж3 + 3ж2 + 4ж + 2, Ш (ж) = 3ж +1.
3. Преобразование Фурье исправленного кодового слова находится делением
Р(ж)
М (ж) = —= 2ж2 + 5ж + 2. Ш (ж)
4. Восстановленное кодовое слово получаем с помощью обратного преобразования Фурье и далее находим информационное слово.
Рассмотренные примеры реализованы в среде SageMath и доступны для ознакомления по ссылке [13].
Заключение
Биортогональные вейвлет-коды с максимальным кодовым расстоянием подобны кодам Рида — Соломона, но являются 2-циклическими и в отличие от кодов Рида — Соломона строятся во временной области.
Другой отличительной особенностью построенных кодов является возможность восстановления информационного слова по кодовому с помощью пары двойственных фильтров (1), что даёт возможность декодирования во временной области по алгоритму Берлекэмпа — Велча.
Список литературы
1. Error control coding using finite-field wavelet transforms / F. Fekri, S. W. McLaughlin, R. M. Mersereau, R. W. Schafer // Center for Signal Image Processing. — Georgia Institute of Technology, Atlanta, GA, 30332. — 1999. — P. 1-13.
2. Caire, G. Wavelet transforms associated with finite cyclic groups / G. Caire, R. L. Grossman, H. V. Poor // IEEE Transactions on Information Theory. 1993. — Vol. 39. — P. 1157-1166.
3. Fekri, F. Theory of paraunitary filter banks over fields of characteristic two / F. Fekri, R. M. Mersereau, R. W. Schafer // IEEE Transactions on Information Theory. — 2002. — Vol. 48. — P. 2964-2979.
4. Phoong, S.M. Paraunitary filter banks over finite fields / S.M. Phoong, P. P. Vaidyanathan // IEEE Transactions on Signal Processing. — 1997. — Vol. 45. — P. 1443-1457.
5. Decoding of half-rate wavelet codes, Golay code and more / F. Fekri, S. W. McLaughlin, R. M. Mersereau, R. W. Schafer // IEEE Intern. Conf. on Acoustics, Speech and Signal Processing (ICASSP). — 2001. — Vol. IV. — P. 2609-2612.
6. Fekri, F. Arbitrary rate maximum-distance separable wavelet codes / F. Fekri // IEEE Intern. Conf. on Acoustics, Speech and Signal Processing. — 2002. — Vol. 3. — P. 2253-6.
7. Черников, Д. В. Помехоустойчивое кодирование с использованием биортогональных наборов фильтров / Д. В. Черников // Сиб. электрон. мат. изв. — 2015. — Т. 12. — C. 704-713.
8. Малла, С. Вэйвлеты в обработке сигналов : пер. с англ. / С. Малла. — М.: Мир, 2005.
9. Doubechies, I. Factoring wavelet transforms into lifting steps. / I. Doubechies, W. Sweldens // The J. of Fourier Analysis and Applications. — 1998. — Vol. 4, iss. 3. — P. 247-269.
10. Welch, L. Error correction for algebraic block codes / L. Welch, E. R. Berlekamp. — U.S. Patent 4,633.470. Sept. 27, 1983.
11. Blahut, R. E. Algebraic methods for signal processing and communications coding / R. E. Blahut. — New York : Springer-Verlag, 1992.
12. Федоренко, С. В. Простой алгоритм декодирования алгебраических кодов / С. В. Федоренко // Информационно-управляющие системы. — 2008. — № 3. — C. 23-27.
13. Chernikov, D. Biorthogonal coding algorithm implementations. SageMath Cloud Services [Электронный ресурс]. — URL: https:// cloud.sagemath.com/projects/1ccf53b4-fab7-4a6d-9e8a-11495608d884/files/biorth-codes-construct.sagews (дата обращения: 01.09.2016).
Поступила в 'редакцию 16.09.2016
После переработки 01.10.2016
Сведения об авторе
Черников Дмитрий Владимирович, аспирант кафедры компьютерной безопасности
и прикладной алгебры, Челябинский государственный университет, Челябинск, Россия;
e-mail: [email protected].
Chelyabinsk Physical and Mathematical Journal. 2016. Vol. 1, iss. 3. P. 77-85.
THE POLYPHASIC SCHEME OF CODING THEORY OVER FIELDS OF ODD CHARACTERISTIC
D.V. Chernikov
Chelyabinsk State University, Chelyabinsk, Russia [email protected]
The paper presents the polyphasic scheme of the error-correcting coding based on two-channel filter set the exact recovery and the method of construction of codes with maximum code distance over fields of odd characteristic.
Keywords: error-correction coding, biorthogonal transform, biorthogonal set of filters, set of filters accurate recovery, wavelet-transform over a finite field.
References
1. Fekri F., McLaughlin S.W., Mersereau R.M., Schafer R.W. Error Control Coding Using Finite-Field Wavelet Transforms. Center for Signal Image Processing. Georgia Institute of Technology, Atlanta, GA, 30332, 1999, Feb., pp. 1-13.
2. Caire G., Grossman R.L., Poor H.V. Wavelet transforms associated with finite cyclic groups. IEEE Transactions on Information Theory, 1993, vol. 39, pp. 1157-1166.
3. Fekri F., Mersereau R.M., Schafer R.W. Theory of paraunitary filter banks over fields of characteristic two. IEEE Transactions on Information Theory, 2002, vol. 49, pp. 2964-2979.
4. Phoong S.M., Vaidyanathan P.P. Paraunitary filter banks cver finite fields. IEEE Transactions on Signal Processing, 1997, vol. 45, pp. 1443-1457.
5. Fekri F, McLaughlin S.W., Mersereau R.M., Schafer R.W. Decoding of halfrate wavelet codes, Golay code and more. IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2001, vol. IV, pp. 2609-2612.
6. Fekri F. Arbitrary rate maximum-distance separable wavelet codes. IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2002, vol. III, p. 22532256.
7. Chernikov D.V. Pomekhoustoychivoye kodirovaniye s ispol'zovaniyem biortogonal'nykh naborov fil'trov [Error-correcting codes using biorthogonal filter banks]. Siberian Electronic Mathematical Reviews, 2015, vol. 12, pp. 704-713. (In Russ.).
8. Mallat S. A wavelet tour of signal processing. 2nd edition. London, Academic Press, 1999. 637 p.
9. Doubechies I., Sweldens W. Factoring wavelet transforms into lifting steps. The Journal of Fourier Analysis and Applications, 1996, vol. 4, iss. 3.
10. Welch L., Berlekamp E.R. Error correction for algebraic block codes. U.S. Patent 4,633.470. September 27, 1983.
11. Blahut R.E. Algebraic methods for signal processing and communications coding. New York, Springer-Verlag, 1992.
12. Fedorenko S.V. A simple algorithm for decoding algebraic codes. Information and control systems, 2008, no. 3, pp. 23-27.
13. Chernikov D. Biorthogonal coding algorithm implementations. Available at: SageMath Cloud Services, https://cloud.sagemath.com/projects/1ccf53b4-fab7-4a6d-9e8a-11495608d884/files/biorth-codes-construct.sagews, accessed 01.09.2016.
Accepted article received 16.09.2016 Corrections received 01.10.2016