Челябинский физико-математический журнал. 2017. Т. 2, вып. 1. С. 66-79.
УДК 519.725
БИОРТОГОНАЛЬНЫЙ ВЕЙВЛЕТ-КОД В ПОЛЯХ ХАРАКТЕРИСТИКИ ДВА
А. А. Соловьёв", Д. В. Черников6
Челябинский государственный университет, Челябинск, Россия а[email protected], [email protected]
Предложена схема построения помехоустойчивых циклических вейвлет-кодов на основе биортогонального преобразования над конечными полями чётной характеристики. Представленный метод построения использует алгоритм Евклида нахождения НОД многочленов, что упрощает возможность построения вейвлет-кодов с заданными свойствами. Доказано, что среди вейвлет-кодов имеются коды с заданным кодовым расстоянием.
Ключевые слова: полифазная схема, биортогональное преобразование, вейвлет-коды, конечные поля.
Введение
Вейвлет-коды являются подклассом квазициклических кодов с циклическим сдвигом кодовых слов на две позиции [1]. Первоначально порождающие матрицы вейвлет-кодов строились с помощью ортогональных фильтров масштабирующей функции и вейвлет-функции [2; 3]. Практическое применение этого метода было затруднено необходимостью построения масштабирующих функций с заданными свойствами (см. [4; 5]) На основании результатов работы [6] о факторизации пара-унитарных матриц в работе [7] (см. также [8]) и работах других авторов трудность с построением требуемых порождающих многочленов вейвлет-кодов была преодолена.
В дальнейшем класс вейвлет-кодов был расширен путём использования би-ортогональных наборов фильтров [9; 10]. Это упростило построение порождающих многочленов и позволило находить вейвлет-коды с требуемыми свойствами.
В работе [11] была предложена улучшенная схема помехоустойчивого кодирования над конечным полем с использованием биортогональных наборов фильтров точного восстановления. Вместо алгоритма факторизации использовалась лифтин-говая схема [12], основанная на алгоритме Евклида нахождения НОД многочленов. Подобный подход позволил упростить и расширить возможности построения вейвлет-кодов с заданными свойствами. Однако в поле чётной характеристики конструкция из [11] не позволила найти среди вейвлет-кодов коды с максимально возможным кодовым расстоянием.
В данной работе над полем характеристики 2 предложена другая схема кодирования, названная полифазной. Подробное её изложение и схема восстановления информационной последовательности приведены в первом разделе.
Возможности алгоритма демонстрируются в последующих разделах статьи. Так, во втором разделе с помощью этой схемы строятся вейвлет-коды с максимальным кодовым расстоянием. Доказывается, что найденные коды являются кодами Рида — Соломона, построенными во временной области. В третьем разделе
строятся вейвлет-коды с заданным кодовым расстоянием. Найденные коды являются подпространствами кодов Рида — Соломона во временной области. Поэтому к построенным кодам применим алгоритм помехоустойчивого декодирования Берле-кампа — Велча [13], первоначально предложенный для декодирования кодов Рида — Соломона (см. также [14]).
В каждом из этих разделов приводятся примеры конкретных кодов с заданными свойствами и реализуется процедура декодирования зашумлённых сообщений.
При построении вейвлет-кодов удобно пользоваться терминологией теории цифровой обработки сигналов, принятой в теории вейвлетов.
1. Полиномиальная схема построения циклического
биортогонального вейвлет-кода в поле характеристики два
Выберем в поле С^1 (2т) примитивный элемент а. Опишем биортогональные циклические вейвлет-коды длины п = 2т — 1 с длиной информационных слов п——-1, а также схему полифазного кодирования.
Фильтру Н с импульсным откликом {Нкпоставим в соответствие многочлен
п—1
Н(х) = ^^ Н^жг = Н0 + Н1х + ... Нп— 1жга— 1.
г=0
Представим Н(ж) в виде суммы полифазных компонент Н(ж) = Не(ж2) + жНо(ж2), где
(п—1)/2 (п—3)/2
Не (ж) = ^ Н2кХк, Н0(ж) = ^ Н2к+1Жк. к=0 к=0
Наряду с фильтром Н рассмотрим фильтр д = {дк}П—¿. Введём в рассмотрение полифазную матрицу
Не (ж) де(ж) Н0 (ж) до (ж) .
Будем говорить, что фильтры Н и д комплементарны, если Р(ж) = 1.
Пусть V = (^0 ... 1) — вектор с компонентами из С^1 (2т). Дискретное преобразование Фурье определяется как вектор V = Т(V) = ("О,..., Уп—1) с компонентами
п— 1
V = ^ а^V*, ] = 0,..., п — 1.
г=0
Обратное преобразование Фурье имеет вид
п— 1
V = ^а—^", г = 0,...,п — 1.
г=0
Определение 1. Полифазные компоненты кодового слова с(ж) в кольце [ж]/(жп — 1) вводятся следующим образом:
Се (ж2)
Со (ж2)
где г (ж) = 5^=—3)/2 г,ж-7 — информационный многочлен степени не выше п——3 с длиной информационной последовательности, равной .
Р(ж) =
Не (ж2) де(ж2) 1
Но (ж2) до (ж2) ж2
г(ж2),
В определении и в последующих рассуждениях умножение многочленов производится в кольце GF2m [x\/(xn — 1). Кодовый многочлен c(x), как и при биортого-нальном кодировании (см. [11]), запишется в виде
c(x) = ce(x2) + xco(x2) = (h(x) + x2g(x)) i(x2) mod (xn — 1).
Многочлен F(x) = h(x) + x2g(x) будем называть порождающим.
Вместе с парой фильтров (h, g) рассмотрим пару комплементарных фильтров (h, g) с полифазной матрицей
P
he(x) ge(x)
h0(x) go(x)
Введём условие точного восстановления
Р(х2)Р(хп—1) = /2х2, I — единичная матрица,
отличное от условия точного восстановления в поле нечётной характеристики (см. [11]).
По правилу Крамера связь между полифазными компонентами (Л, д) и (Л, д) выражается соотношениями
д0(х2) = Ле(хп-1), де(х2) = -Ло(хп-1), (1)
Л0(х2) = -де(хп-1), Ле(х2) = до(хга—()
Информационное слово восстанавливается из кодового с помощью фильтров Л и д. В самом деле,
[he(xn-1) ho(xn-1)]
he(x2) ge(x2) 1
ho(x2) g0(x2)_ x2
= [go(x2) — ge(x2
= (Ле(ж2)д0(х2) - де(х2)Л0(х2)) + X2 (д0(х2)де(х2) - де(х2)д0(х2)) = 1. Нам потребуется следующее утверждение.
Лемма 1. Среди значений спектральной последовательности (а)^П—сз порождающего многочлена ^(х) найдутся ненулевых элементов.
Доказательство. Так как отображение ¿(х) = 3)/2} Ъ'х^ ^ с(х) инъективно,
то в частотной области отображение
{¿(а )}":—01 (С(а^ )}":—01
взаимно однозначно. Поэтому ранг отображения
(¿о,...,г п-3 }-^(с(а )}£(
максимален и равен П—1. В частотной области имеем
с (а) = ^ (а )г(а2^), ^ = 0,..., п - 1. (2)
Так как а0, а2,... , а2(^ различны, то среди ^(а-7)"—( найдутся П-1 ненулевых элементов. □
2. Построение вейвлет-кода
с максимальным кодовым расстоянием
В этом разделе будет доказано, что среди вейвлет-кодов имеются коды с максимальным кодовым расстоянием.
Как и выше, рассмотрим фильтр Н = {Нк}п—1 и комплементарный ему фильтр д = {дк }п—1. Введём полифазную матрицу
P (x2) =
det P(x2) = det P(x) = 1.
С помощью лифтинга (см. [12]) по паре фильтров (h,g) строятся другие пары комплементарных фильтров (h, gs) с полифазной матрицей
Ps(x2) = P(x2) [J s(f)
где s(x) — многочлен степени не больше П-3 с коэффициентами из поля GF(2m). Фильтр , комплементарный h, имеет вид
gs(x) = g(x) + h(x)s(x2).
Теорема 1. Среди вейвлет-кодов над полем характеристики 2 имеются (n, п-1 )-коды с максимальным кодовым расстоянием.
Доказательство. Пусть
F(x) = h(x) + x2g(x) и Fs(x) = h(x) + x2 (g(x) + h(x)s(x2)) ,
где s(x) = s0 + six + • • • + sn—зx~. Введём дополнительный параметр в и положим h*(x) = eh(x) и g*(x) = в-1 g(x). Через Fs*(x) будем обозначать функцию
h*(x) + x2(g*(x) + h*(x)s(x2)) mod (xn - 1).
Построим лифтинговый многочлен s(x), такой, что
F;(«2m—1 ) = FSVm—+i) = ••• = F;(«n) = 0 .
Будем предполагать, что h(al) = 0 при i = 2m-i, ... , 2m — 1 = n. Многочлен s(x) определяется из системы уравнений
s(a2i) = —(a-2i + e-2g(ai)/h(ai)), i = 2m-i,..., n.
Из первых 2m-i — 1 уравнений находятся so, si,..., sn— 3 как линейные функции параметра в- 2. Подставив найденные переменные в последнее уравнение, найдём значение переменной в-2 и затем s0, si,..., sn—з.
Положим, например, go(1) = 0 и зададим go(a2i), i = 2m-i,...,n — 1 (всего 2m-i —1 значений). Дополнительно потребуем, чтобы h0(a2i) = 0 при i = 2m-i,... , n. Тогда he(a2i) находятся из соотношений he(a2i) = h(a) — alh0(a2i) при указанных значениях i.
Заметим, что многочлен д(х) выражается через д0(х), если многочлен ^(х) известен. В самом деле,
_ де(х2)^.0(х2) + хд0(х2)^.0(х2) _ ^о(х2)
2)
Л,е(х2)д0(х2) + хд0(х2)Л,0(х2) + 1 д0(ж2)Л,(ж) + 1
Л-о(ж2) Мх2)
Пусть д(х) _ д0 + д:х + д2х2 +-----+ д„-1хга-1, тогда д0(х) _ д1 + дзх +-----+ дп—2хп—^
Всего неизвестных коэффициентов П-3 + 1 _ 2т—1 — 1. Заданных значений д0(а2г), г _ 2т-1,... , п — 1, достаточно, чтобы найти коэффициенты многочлена д0(х).
Группа С^1 (2т)* ненулевых элементов поля С^1 (2т) является циклической. Поэтому для того, чтобы многочлены Л,(х) и д(х) были комплементарными, достаточно потребовать при всех г _ 0,... , п — 1 выполнения соотношений
det
йе(а*) де (а®) й0 (а®) д0(а*)
1.
Так как д0(а2г) заданы при значениях г _ 2т 1,..., п, то из условия комплемен-тарности Л,е(а2г)д0(а2г) — Л,0(а2г)де(а2г) _ 1 находим
2п ^е(а2^)д0(а2®) + 1 де(а ) _-, { 2А-.
До(а2г)
Тем самым д(аг) _ де(а2г) + агд0(а2г) определены при г _ 2т-1,..., п.
При г _ 1, 2,... , 2т—1 — 1 значения Л,(аг) и д(аг) выберем так, чтобы удовлетворить условию комплементарности. Таким образом, последовательности {^(аг)}™-0 и {д(аг)}™-01 построены. Выполняя обратное преобразование Фурье, находим коэффициенты комплементарных многочленов Л,(х) и д(х).
Для кодового многочлена с(х) _ г(х2)^*(х) спектральный многочлен имеет вид
п — 1 /п — 3
5 г (а2-7)^*(а7)у7 _ у ( 5 г(а27+2Ж*(а7+1)у7 7=1 \7=о
Число ненулевых корней этого многочлена не превышает П-3. Поэтому вес кодового вектора длиной п не более п — ^—3 _ ^т^3.
Так как п — к + 1 _ п — п—1 + 1 _ п+3, то по теореме Синглтона кодовое рассто-
п— 1 2 _
яние равно п++3. Тем самым построенный (п, п——-вейвлет-код имеет максимальное кодовое расстояние. □
Построенный код является линейным, так как группа С^1 (2т)* является циклической.
Декодирование вейвлет-кода с максимальным кодовым расстоянием
В рассматриваемом случае длина информационного вектора равна п——1, кодовый многочлен имеет степень не более п — 1, и в преобразовании Фурье {С- _ с(а7)}, ] _ 0,... , п — 1, кодовой последовательности {с-}"—о компоненты С0, Сп+1,..., Сп—1 равны нулю.
Если а — примитивный элемент поля С^1 (2т), то а-1 также является примитивным элементом. Поэтому последовательность {а-7 с-}"—( является кодовой последовательностью кода Рида — Соломона с параметрами (п, (п — 1)/2).
Согласно лемме (1) коэффициенты С,, ] = 1,... , П-1, не равны нулю. Поэтому
любой многочлен вида ^.,=1 в, У является спектральным многочленом, так как система уравнений
г(а2к(ак)= вк, к = 1,
п — 1
однозначно разрешима относительно коэффициентов г0,...,гп-з информационного многочлена. Таким образом, построенный код является (п, )-кодом Рида — Соломона во временной области.
К построенному коду применим алгоритм декодирования Берлекампа — Велча. Реализация алгоритма может быть найдена в [14]. Информационное слово восстанавливается по кодовому слову из системы (2) согласно лемме 1.
Пример кода с максимальным кодовым расстоянием
Рассмотрим конечное поле С^1 (23), порождённое многочленом х3 + х +1. Следуя описанному выше методу, построим пример вейвлет-кода длины п = 7 с максимальным кодовым расстоянием. В качестве примитивного элемента выберем а = а(х) = х.
1. Выберем фильтр к с коэффициентами Фурье
{й(аг)}6=0 = {а3, а3, а4, 0, а2, а2, а4}.
Такой фильтр задаётся многочленом к(х) = а5х6 + а4х5 + а6х4 + ах2 + а6х.
2. Его полифазные компоненты равны ке(х) = а5х3+а6х2+ах, к0(х) = а4х2+а6.
3. Алгоритм Евклида нахождения НОД для полифазных компонент даёт разложение
ке(х) #в(х) ах + а2 1 ах + а6 1 ах + а6 1 а5 0
ко(х) #о(х)_ 10 10 10 0 а2
а5х3 + а6х2 + ах х2 + а6х + а
а4х2 + а6
64 а6х + а4
4. Полифазные компоненты комплементарного фильтра представляются как $е(х) = х2 + а6х + а, $о(х) = а6х + а4.
5. Таким образом, комплементарный фильтр записывается в виде
д(х) = х4 + а6 х3 + а6х2 + а4х + а.
6. Система уравнений для коэффициентов лифтинг-многочлена в(х) и коэффициента в имеет вид
2
в0 + ав1 + а2в2 + ав в0 + а3в1 + а6в2 + а2в-2 в0 + а5в1 + а3в2 + ав-2 = во + ¿1 + «2 + а3в-2 = 1.
а6
а
Решая систему, находим в(х) = а3х2 + а4х + а5 и в =1.
7. Многочлен комплементарного фильтра с учётом лифтинга имеет представление #(х) = а4х6 + а2х3 + х2.
8. Спектральная последовательность порождающего многочлена ^(х) = а5х6 + ах5 + а2х4 + ах2 + а3х равна {0, а3, а4, а6, 0, 0,0} и определяет (7, 3)-код с максимальным кодовым расстоянием й = 5.
4
Порождающей матрицей кода является матрица
0 а3 а 0 а2 а а5
а а5 0 а3
а
0 а2
0 а2 а а5 0 а3
а
Зададим информационный многочлен г (ж) = ах2 + а2ж +1 и внесём ошибку е(ж) = ж4 в кодовое слово. Тогда для кодового многочлена
с(ж) = а6ж6 + а2ж5 + а5ж4 + аж3 + а4ж2 + ж + а3
многочлен ошибочной последовательности имеет вид
6
г (ж) = а6ж6 + а2ж5 + а4ж4 + ах3 + а4ж2 + х + а3 = ^^ г. ж7.
7=0
Процедура декодирования осуществляется согласно [14] за несколько шагов:
1. На первом шаге строится интерполяционный многочлен Т(ж), такой, что Т(аг) = г г = 0,..., 6. Получим Т(ж) = а3ж6 + а6ж5 + а2ж4 + а2ж3 + аж2 + а4ж + 1.
2. Расширенный алгоритм Евклида для многочленов ж" — 1 и Т (ж) выполняем до тех пор, пока степень остатка не станет меньше (п + П"1 )/2 = 5:
(ж7 + 1) + (а4ж + 1)Т (ж) = ж4 + а3ж3.
Введём обозначения Р(ж) = ж4 + а3ж3, Ш(ж) = а4ж + 1.
3. Преобразование Фурье исправленного кодового слова находится делением многочлена Р(ж) на многочлен Ш(ж):
М (ж)
Р (ж) Ш (ж)
а3ж3.
4. Исправленное кодовое слово получаем с помощью обратного преобразования Фурье.
5. Восстанавливаем информационное слово с помощью системы (2) для
3 = 1, 2, 3:
г0 + а2г! + а4г2 = 0, г0 + а4г! + аг2 = 0, г0 + а6г1 + а5г2 = а4.
Решением системы является информационный вектор (1, а2, а).
3. Построение вейвлет-кода с заданным кодовым расстоянием
В этом разделе будет показано, что для любого 0 < d < (п — 3)/2, среди вейвлет-кодов найдутся коды с кодовым расстоянием d + 2. Если порождающая матрица имеет вид
а
^е(ж2) + ж2де(ж2) ^0(ж2) + ж2д0(ж2)
то проверочная матрица запишется в виде
Н = [Мж""1) + жга-2де(жга-1) /г0(жга"1) + жга-2до(жга-1]
Учитывая (1), проверочное соотношение при вейвлет-кодировании перепишется следующим образом:
[д0(х2) — хп—2к0(х2) де(х2) — хп—2ке(х2)]
Выполнив действия, представим проверочное соотношение в виде
—хп—2се(х2)к0(х2) + хп—2с0(х2)ке(х2) _ —се(х2)д0(х2) + с0(х2)де(х2)
или
с0(х2)^е(х2) — Се(х2)Л,0(х2) _ х2 (С0(х2)де(х2) — Се(х2)д0(х2)) . (3)
Напомним, что полифазные компоненты фильтров к и д связаны условием компле-ментарности
д0(х2)ке(х2) — де(х2)ко(х2) _ 1.
Лемма 2. Для любого 0 < ^ < (п — 3)/2, существуют многочлены к(х) и д(х) степени не больше п — 1, для которых имеют место равенства
к(а7) + а27д(а7) _ 0 при ] _ 0,..., ^.
Доказательство. Построим к(х) и д(х) таким образом, чтобы порождающий многочлен удовлетворял соотношениям Г(аг) _ 0, г _ 0,... , Этого можно добиться, если воспользоваться теоремой о лифтинге [12]. В самом деле, пусть в(х) — корректирующий лифтинг-многочлен степени п——1 — 1. В частотной области кодовый вектор запишется в виде
г(а2г) (к(аг) + а2гд(аг)) _ Сг, г _ 0,..., п — 1.
С учётом лифтинга приходим к системе
п3
к(аг) + а2г(д(аг) + к(а>(а2г)) _ Г(аг), г _ 0,..., 3 , (4)
где Г(аг) _ 0, г _ 0,... , Выберем многочлен к(х) так, чтобы
п3
к(аг)_0, г _0,...,п—3. Из соотношений (4) находим
п _ 3
в(а2г)_ — (а-2г(к(аг)) — д(аг)) (к(аг)) —1, г _ 0,..., 3. (5)
Относительно коэффициентов во, 51,... , вп—з система уравнений (5) разрешима, так как ранг системы максимален. □
Для построенных фильтров к и д для многочлена к(х) + х2д (х) в частотной области получим
{кИ) + а2^(аг)}п=—о1 _ (0,..., 0, Г(0+1),..., Г(ап—1)) . Поэтому преобразование Фурье кодового многочлена с(х), равное с(а7) _ г (а27 ){к(аг)) + а2г(д5 (аг))}, ] _ 0,...,п — 1,
се(х2) с0(х2)
0.
запишется в виде С = (0,..., 0, С^+1,... , Сп-1). Воспользуемся утверждением, что ]-я временная компонента кодового вектора с равна нулю тогда и только тогда, когда си--7 является корнем многочлена
С(х) = С^+1 Х+1 + ■ ■ ■ + С„-1Хга-1 = Х+1 (Са+1 + ■ ■ ■ + С„-1ХП-"-2) .
Так как число корней многочлена С^+1 + ■ ■ ■ + Сга-1хга-^-2 не превышает степени, то вес кодового слова с не может быть меньше числа п — (п — й — 2). Поэтому минимальное кодовое расстояние построенного кода не меньше числа й + 2.
Теорема 2. Для любого й, 0 < й < (п — 3)/2, среди построенных вейвлет-кодов над полем С^1 (2т) найдётся код с заданным кодовым расстоянием й + 2.
Доказательство. В качестве спектрального многочлена выберем многочлен
С(х) = х^+1(х — а-^-2)... (х — а-га+1) = С^х^1 + С^+2Х^+2 + ■ ■ ■ + С„-1Жга-1
степени п — 1. Отметим, что первые й +1 компонент последовательности {С^}™-1 равны нулю. Убедимся, что последовательность с = С (а-г) принадлежит одному из кодовых пространств и имеет вес равный й + 2.
В точках х = аг условие комплементарности запишется в виде
Ма2*Ыа2г) — й0(а2*Ыа2г) = 1, г = 0,...,п — 1. (6)
Принадлежность вектора (со, с1,..., сп-1) кодовому пространству согласно (3) проверяется условиями
#е( а2*) а *с0( а2*) — #0( а2*) аЧ( а2*) =
= Ма2г)а-гс0(а2г) — й0(а2г)а-Ч(а2г), г = 0,...,п — 1. ()
Кроме того, на многочлены Л,(х) и $(х) накладываются дополнительные условия:
й(аг) + а 2г£(аг) = 0, г = 0,...,й.
Перепишем эти соотношения в виде
йе(а2г) + а 2г^е(а2г) + аг(й0(а2г) + а2г£0(а2г)) = 0 . (8)
Покажем, что системы уравнений (6), (7) и (8) совместно разрешимы.
Полагая г = 0,... , й, умножим последнее соотношение на $0(а 2г) и вычтем из условия комплементарности. Получим
—й0 (а2гЫа2г) — а2г^е(а2г)^0(а2г) — агй0(а2г)£0(а2г) — а3г£0(а2г)£0(а2г) = 1.
Отсюда выразим Л,0(а 2г):
а2г) =--( 2г) +1 < ( м) — а2г^о(а2г). (9)
(а 2г) + а (а 2г)
Подставим й0(а 2г) в условие комплементарности, найдём Л,е(а 2г):
, 2г\ _ 2г„ /„2г\ а
Ма2г) = —а 2г^е(а2г) + ( аа) + . ( . (10)
#е( а 2г) + агд0( а 2г)
Зная Л,е(а2г) и Н0(а2г), из проверочного соотношения находим
, Со(а2г)аг + Се(а2^) _ о
£е(а2г) + а*£о(а2')
Выберем $(аг) _ 0, г _ 0,... , й. В этом случае приходим к равенству
Со(а2>г + Се(а2г) _ с(аг) _ С _ 0 .
Таким образом, выбирая де(а2г) и д0(а2г) так, чтобы знаменатель в (9) и (10) не обращался в нуль, находим Л,е(а2г) и Л,о(а2г). Из (9) и (10) следует, что Л,(аг) _ а2гд(аг), г _ 0,..., й. В частности, получаем, что Л,(аг) _ 0.
При г _ й + 1,... , п — 1 из соотношений (6) и (7) составим системы уравнений
'Ма2гЫ«2г) — йо(а2гЫ«2г) _ 1, (11)
^о(а2г)«2гСе(а2г) — ^(а2г)а2гСо(а2г) _ М«2г)се(а2г) — М«2г)со(а2г). ( )
Определитель Дг г-й системы (11) относительно Л,е(а2г) и Л,о(а2г) имеет вид
Дг
—#в(а2г) #о(а2г)
Се(а2г) —Со(а2г)
й + 1,... ,п — 1.
В предположении, что вторая строка матрицы определителя ненулевая, систему уравнений перепишем следующим образом:
'Ма2гЫ«2г) — М«2гЫ«2г) _ 1, (12)
М«2г)со(а2г) + Ма2г)се(а2г) _ а2гДг. ( )
Выберем $е(а2г) и $о(а2г) так, чтобы Дг _ 0. Тогда Л,е(а2г) и Л,о(а2г) определятся из системы (12). Решением системы являются
йо(а2г) _ Д-1Со(а2г) + а2г^о(«2г) и йе(а2г) _ Д—Ч(а2г) + а2г£е(а2г). Отсюда находим Р(аг) _ Л,(аг) + а2гд(аг) _ Д-1с(аг). В частности, имеем
га—1
Р(а'+1) _ Д—11с(а^+1) _ Д—+1^+1 _ Д—+1 П а-' _ 0.
7=^+2
Если же вторая строка нулевая, то второе уравнение тождественно выполняется. В этом случае выберем де(а2г), ^о(а2г), Л,е(а2г) и ^о(а2г) так, чтобы выполнялось условие комплементарности.
По найденным {^е(а2г)}П—01 и {^о(а2г)}П—01 вычисляем {^(аг)}П—о . Так как в поле характеристики 2 все а2г, г _ 0,..., п — 1, различны, из системы линейных уравнений относительно Л,0, ... , Л,га—1 находим многочлен Л,(ж). Аналогично строится многочлен $(ж).
Таким образом, фильтры ^(ж) и $(ж) обладают необходимыми свойствами, так как удовлетворяют условию комплементарности и первые й +1 компонент последовательности {Л,(аг) + а2г^(аг)}П—01 равны нулю. Кроме того, вектор с удовлетворяет проверочному соотношению, а значит, является кодовым вектором построенного вейвлет-кода и имеет заданное кодовое расстояние. В самом деле, согласно лемме 2, кодовое расстояние не меньше числа й + 2. С другой стороны, вес кодового многочлена по построению не более п — (п — й — 2) _ й + 2. Значит, вес кодовой последовательности с равен й + 2. Это доказывает, что построенный вейвлет-код имеет заданное кодовое расстояние. □
Декодирование вейвлет-кода с заданным кодовым расстоянием
Пусть г(х) = кП=03)/2 гкхк — информационный многочлен с коэффициентами гк, к = 0,..., (п — 3)/2 , и с(х) = г(х2)(Н(х) + ах2^(х)) — кодовый многочлен. Через С- = с(а*), = 0,...,п — 1, где с(х) = с0 + с1х + ••• + сп-1хп-1, обозначим преобразование Фурье кодового многочлена. Будем считать, что фильтры Л,(х) и $(х) подобраны так, что спектральная последовательность имеет вид (0,...,0,Са+1,Са+2,...,Сга-1,). Для С(х) = С^х^1 + С^х^2 + ••• + Сп-1хп-1 имеем С (а-7) = с-, ] = 0,..., п — 1.
Если а — примитивный элемент поля С^1 (2т), то а-1 также является примитивным элементом. Значит, обратное преобразование Фурье последовательности {Сг}П=о является кодовой последовательностью кода Рида — Соломона с параметрами (п, п — й — 1).
Поэтому к зашумлённым кодовым словам вейвлет-кода применим, например, алгоритм Берлекампа — Велча декодирования алгебраических кодов (см. [14]). Информационное слово восстанавливается по кодовому слову из системы (2) согласно
лемме 1.
Пример кода с заданным кодовым расстоянием
Построим пример (7, 3)-кода над С^1 (23) с кодовым расстоянием 3. Для этого зададим параметр й =1 (так что й + 2 = 3). Как и в предыдущем примере, в качестве неприводимого многочлена выберем х3 + х + 1 и в качестве примитивного элемента возьмём а = а(х) = х.
1. Спектральный многочлен кодового слова имеет вид
С (х) = х2(х — а-3 )(х — а-4 )(х — а-5)(х — а-6) = х6 + а3х5 + х4 + ах3 + а3х2.
2. Выполнив обратное преобразование Фурье, получим кодовый многочлен с(х) = х2 + а3х + а.
3. Полифазные компоненты кодового многочлена равны соответственно се(х) = х + а, с0(х) = а3.
4. Выберем $е(х) и $0(х) так, чтобы знаменатель в (9) и (10) не обращался в нуль. Пусть $е(х) = х2 + а4 и $0(х) = х. Тогда
{£е (а2*) + аг£о (а2*)}"-1 = {а4, а3, 1,а6,а6, 1,а3}.
5. Находим $(х) из полифазных компонент: $(х) = х4 + х3 + а4.
6. Определители системы (11) равны
{А*}"-1 = {1, а6, а, а6, а4, а4, а}.
7. Решением системы (11) являются
{Ма2*)}"-1 = {а2, а5, а5, 0, а2, а4,1}, {Ма2*)}"- = {а, 0, а4,1,1, 0, а5}.
8. Находим коэффициенты Фурье для Л,(х):
{Ма*)}"-1 = {а4, а5, а, а3, а, а4,а5}.
9. С помощью обратного преобразования Фурье вычисляем Л,(х):
Л,(х) = ах5 + а2х4 + а4х3 + а5 х2 + ах + а3.
10. Спектральная последовательность порождающего многочлена Р (ж) _ ж6 + а3ж5 + а2ж4 + а4ж3 + ж2 + ах + а3 равна {0, 0, а2, а2, а3, а6, а6} и определяет (7, 3)-код с кодовым расстоянием 3. Порождающая матрица кода имеет вид
а3 а 1 а4 а2 а3 1 а3 1 а3 а 1 а4 а2 а4 а2 а3 1 а3 а 1
Осуществим процедуру декодирования. В качестве информационного многочлена выберем г (ж) _ аж2 + аж +1 и введём ошибку е(ж) _ ж4. Информационный многочлен выбран так, чтобы спектральный многочлен кодового слова с(ж) _ ж2 + а3ж + а совпал с многочленом С (ж) _ а3ж2 + аж3+ж4+а3ж5+ж6, рассмотренным в теореме 2. В качестве спектрального примем многочлен
и (ж) _ ж-2С (ж) _ а3 + аж + ж2 + а3ж3 + ж4.
В качестве кодовой последовательности {и/ _ и (а-7) _ а27 с/ }®=0 рассмотрим вектор {а, а5, а4, 0, 0, 0, 0}. Тогда многочлен ошибочной последовательности примет вид г (ж) _ а + а5ж + а4ж2 + аж4. Далее следуем рекомендациям статьи [14]:
1. Построим интерполяционный многочлен, такой, что Т(а7) _ г/. Выполняя прямое преобразование Фурье, находим Т(ж) _ 1 + а6ж+а6ж2 + а4ж3+аж4+ж5 + а4ж6.
2. Расширенный алгоритм Евклида для многочленов жп — 1 и Т (ж) выполняем до тех пор, пока степень остатка не станет меньше (п + П—1 )/2 _ 5:
(ж7 + 1) _ (а3ж + а6)Т(ж) + а3ж5 + а5ж3 + а3ж2 + а2ж + а2.
Введём Р (ж) _ а3ж5 + а5ж3 + а3ж2 + а2ж + а2 и Ш (ж) _ а3ж + а6.
3. Спектральный многочлен и (ж) преобразования Фурье кодового слова {и/ }®=0 находится делением многочлена Р(ж) на многочлен Ш(ж):
и (ж) _ тР(.ж). _ а3 + аж + ж2 + а3ж3 + ж4. Ш (ж)
4. На заключительном шаге восстанавливаем спектральный многочлен: С (ж) _
ж2и (ж).
Заключение
В работе вводится полифазный метод помехоустойчивого кодирования над полем СР(2т). В качестве приложений полифазной схемы строятся коды с заданным кодовым расстоянием.
Результатом построения являются подпространства кодов Рида — Соломона во временной области.
Список литературы
1. Мак-Вильямс, Ф. Дж. Теория кодов, исправляющих ошибки / Ф. Дж. Мак-Вильямс, Н.Дж.А.Слоэн. - М. : Связь, 1979. - 744 с.
2. Double circulant self-dual codes using finite-field wavelet transforms / F. Fekri, S.W. McLaughlin, R. M. Mersereau and R. W. Schafer // Applied Algebra, Algebraic Algorithms and Error Correcting Codes Conf. (Honolulu, HI, 1999). Lecture Notes in Computer Sciences. - 1999. - Vol. 1719. - P. 355-364.
3. Error Control Coding Using Finite-Field Wavelet Transforms / F. Fekri, S.W. McLaughlin, R. M. Mersereau and R. W. Schafer // Atlante : Center for Signal Image Processing, Georgia Inst. of Technology. - 1999. - No. 30332. - P. 1-13.
4. Добеши, И. Десять лекций по вейвлетам / И. Добеши. — Ижевск : РТЦ Регуляр. и хаотич. динамика, 2001. — 464 с.
5. Mallat, S. A Wavelet Tour of Signal Processing / S. Mallat. — 2nd ed. — Academic Press, 1999. — 637 p.
6. Phoong, S. M. Paraunitary filter banks over finite fields / S.M. Phoong, P. P. Vaidyanathan // IEEE Trans. Signal Processing. — 1997. — Vol. 45, no. 6. — P. 1443-1457.
7. Fekri, F. Theory of paraunitary filter banks over fields of characteristic two / F. Fekri, R. M. Mersereau, R.W. Schafer // IEEE Trans. on Inform. Theory. — 2002. — Vol. 48, no. 11. — P. 2964--2979.
8. Fekri, F. Finite-Field Wavelet Transforms with Applications in Cryptography and Coding / F. Fekri, F. Delgosha. — Prentice Hall PTR, 2010.
9. Caire, G. Wavelet transforms associated with finite cyclic groups / G. Caire, R. L. Grossman, H. V. Poor // IEEE Trans. on Inform. Theory. — 1993. — Vol. 39, no. 4. — P. 1157-1166.
10. Fekri, F. Theory of wavelet transform over finite fields / F. Fekri, R. M. Mersereau, R. W. Schafer // Proc. of IEEE Intern. Conf. on Acoustics, Speech, and Signal Processing. — 1999. — Vol. 3. — P. 1213-1216.
11. Chernikov, D. V. Error-correcting codes using biorthogonal filter banks / D. V. Chernikov // Siberian Electronic Mathematical Rep. — 2015. — Vol. 12. — P. 704-713.
12. Doubechies, I. Factoring wavelet transforms into lifting steps / I. Doubechies, W. Sweldens // The J. of Fourier Analysis and Applications. — 1998. — Vol. 4, no. 3. — P. 247-269.
13. Berlekamp, E. Error Correction of Algebraic Block Codes / E. Berlekamp, L.Welch. — US Patent Number 4,633,470.
14. Fedorenko, S. V. A simple algorithm for decoding Reed — Solomon codes and its relation to the Welch — Berlekamp algorithm / S. V. Fedorenko // IEEE Trans. on Inform. Theory. — 2005. — Vol. 51, no. 3. — P. 1196-1198.
Поступила в 'редакцию 16.02.2017 После переработки 22.03.2017
Сведения об авторах
Соловьёв Александр Артёмович, доктор физико-математических наук, профессор, заведующий кафедрой компьютерной безопасности и прикладной алгебры, Челябинский государственный университет, Челябинск, Россия; e-mail: [email protected]. Черников Дмитрий Владимирович, аспирант кафедры компьютерной безопасности и прикладной алгебры, Челябинский государственный университет, Челябинск, Россия; e-mail: [email protected].
Chelyabinsk Physical and Mathematical Journal. 2017. Vol. 2, iss. 1. P. 66-79.
BIORTHOGONAL WAVELET CODE IN FIELDS OF CHARACTERISTIC TWO
A.A. Soloviev", D.V. Chernikovb
Chelyabinsk State University, Chelyabinsk, Russia " [email protected]; [email protected]
In this paper we propose a scheme for the constructing of error-correcting cyclic wavelet codes on the basis of the biorthogonal transformation over finite fields of the even characteristic. The method of such codes constructing uses the Euclidean algorithm of the polynomials greatest common divisor calculating. It simplifies the possibility of the constructing of wavelet codes with specified properties. It is proved that there are wavelet codes with a given code distance.
Keywords: polyphasic scheme, biorthogonal transform, wavelet code, finite field.
1. MacWilliams F.J., Sloane N.J.A. The theory of error-correcting codes. Moscow, Svyaz' Publ., 1979. 744 p. (In Russ.).
2. Fekri F., McLaughlin S.W., Mersereau R.M., Schafer R.W. Double circulant self-dual codes using finite-field wavelet transforms. Applied Algebra, Algebraic Algorithms and Error Correcting Codes Conference (Honolulu, HI, 1999), Lecture Notes in Computer Sciences, 1999, vol. 1719, pp. 355-364.
3. Fekri F., McLaughlin S.W., Mersereau R.M., Schafer R.W. Error Control Coding Using Finite-Field Wavelet Transforms. Atlanta, Center for Signal Image Processing, Georgia Institute of Technology, 1999, no. 30332, pp. 1-13.
4. Daubechies I. Desyat' lektsiy po veyvletam [Ten lectures on wavelets]. Izhevsk, RTTS Regulyarnaya i khaoticheskaya dinamika Publ., 2001. 464 p. (In Russ.).
5. Mallat S. Wavelet Tour of Signal Processing. 2nd ed. Academic Press, 1999.
6. Phoong S.M., Vaidyanathan P.P. Paraunitary filter banks over finite fields. IEEE Transactions on Signal Processing, 1997, vol. 45, no. 6, pp. 1443-1457.
7. 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. 48, no. 11, pp. 2964-2979.
8. Fekri F., Delgosha F. Finite-Field Wavelet Transforms with Applications in Cryptography and Coding. Prentice Hall PTR, 2010.
9. Caire G., Grossman R.L., Poor H.V. Wavelet transforms associated with finite cyclic groups. IEEE Transactions on Information Theory, 1993, vol. 39, no. 4, pp. 11571166.
10. Fekri F., Mersereau R.M., Schafer R.W. Theory of wavelet transform over finite fields. Proceedings of IEEE International Conference on Acoustics, Speech, and Signal Processing, 1999, vol. 3, pp. 1213-1216.
11. Chernikov D.V. Error-correcting codes using biorthogonal filter banks. Siberian Electronic Mathematical Reports, 2015, vol. 12, pp. 704-713.
12. Doubechies I., Sweldens W. Factoring Wavelet Transforms into Lifting Steps. The Journal of Fourier Analysis and Applications, 1998, vol. 4, no. 3, pp. 247-269.
13. Berlekamp E., Welch L. Error Correction of Algebraic Block Codes. US Patent Number 4,633,470.
14. Fedorenko S.V. A simple algorithm for decoding Reed — Solomon codes and its relation to the Welch — Berlekamp algorithm. IEEE Transactions on Information Theory, 2005, vol. 51, no. 3, pp. 1196-1198.
Accepted article received 16.02.2017 Corrections received 22.03.2017