УДК 621.3
МЕТОДИКА АНАЛИЗА СТРУКТУРЫ КОРРЕКТИРУЮЩИХ КОДОВ В ДИСКРЕТНО-НЕПРЕРЫВНЫХ КАНАЛАХ ПРИ НАЛИЧИИ ШУМОВ
К.Н. Бирюков, О.В. Ланкин, А.А. Малышев, В.В. Назаров, К.Ю. Рюмшин
Рассматриваются особенности решения задачи технического анализа кодовых структур в дискретнонепрерывном канале связи
Ключевые слова: кодирование, полунепрерывный канал
Особенностью современного состояния и развития телекоммуникаций является
разносторонняя интеграция видов, служб, систем, средств, технологий связи, происходящая на фоне непрерывного сближения и взаимопроникновения сфер получения, обработки, доставки различных видов информации при расширении спектра и повышения качества предоставляемых услуг. Вследствие этого одним из основных направлений развития телекоммуникационных систем в последние годы стало повышение надежности передачи информации за счет совершенствования канального кодирования. Роль корректирующих кодов значительно возросла в связи с повсеместным переходом к цифровым способам передачи информации. Основные
фундаментальные работы, посвящённые
корректирующему кодированию, были
опубликованы в 60-70-е годы прошлого века. Следует отметить, что в указанный период большое количество работ отечественных ученых также было посвящено данной тематике. С 80-х годов в области развития корректирующих кодов в основном велись работы не в направлении разработки и использования новых кодов, а по созданию конкатенаций существующих кодов и нахождению эффективных сигнально-кодовых конструкций. Однако в настоящее время вновь возник интерес к разработкам в области создания конструктивных схем и алгоритмов кодирования и декодирования, дающих возможность
приблизиться к границе Шеннона - турбокодов и кодов с низкой плотностью проверок на четность, так называемых ЬБРС-кодов. Это позволило значительно снизить величину соотношения сигнал/шум при приеме, что, в свою очередь, усложнило задачу обнаружения и идентификации используемого корректирующего кода на приемной стороне.
Бирюков Константин Николаевич - ВГТУ, соискатель, тел. 8 (903) 4538773
Ланкин Олег Викторович - ВИПС ФСО РФ, канд. техн. наук, доцент, тел. 8 (910) 2406760 Малышев Анатолий Алексеевич - ВИПС ФСО РФ, соискатель, тел. 8 (916) 2048049
Назаров Владимир Васильевич - ВИПС ФСО РФ, соискатель, E-mail: [email protected] Рюмшин Константин Юрьевич - ВИПС ФСО РФ канд. техн. наук, тел. 8 (910) 2612896
Будем полагать, что источник сообщений в системе связи задается выходным множеством
сообщений х = (х<к>}12 с V 2 и распределением вероятности р (х к >), где V2к - векторное пространство Хемминга размерности к , заданное над двоичным полем Галуа ОГ (2) , и £ р (х<к> ) = 1. х< к >£х
При использовании корректирующего кодирования в сообщение Х<^ > вводится
избыточность, использование которой позволяет обнаруживать и исправлять ошибки при приеме. Операция, произведенная кодером, осуществляет отображение множества сообщений X на множество кодовых слов
Y = (у<п>: у<п> = Мх<к> X х<к> £ х }
блочного кода длины П , У £ V2 .
В большинстве случаев на практике для упрощения процедур кодирования и
декодирования в качестве оператора Я>х( х <к > )
используется оператор линейного преобразования
У < п > = х<к > ' О <к,п > , Х <к> £ х , У <п> £ Y ,
где О < пк >=(<§■ у } _ порождающая матрица
линейного (п,к) кода, g .. £ О Г (2).
Линейный (п,к) код ¥ образует к -мерное подпространство линейного пространства V2 и может быть задан проверочной матрицей Н<г п>, такой, что У = ( У У ' Нт = 0}, где
(-'<п> • У <п> <Г,п> )
н <,,, > = К }Г - проверочная матрица
линейного (п,к) кода, ^ £ О Г (2), г = п - к .
Характеристики кода, задающие его
корректирующие свойства, например
минимальное кодовое расстояние (10 или спектр
расстояний (N (й )} , где N(й) - количество
кодовых слов веса й, определяются проверочной матрицей Н .
1 < Г ,п >
В случае использования систематического кода связь информационных и проверочных символов кодовых слов описывается выражением
5<тк> ' О(2)<к',г> = ¥<т,г> , Х,§, У £ ОГ(2) . (1) При переходе к полунепрерывному каналу связи, в котором область значений переменных X, у, § принадлежит полю вещественных чисел,
выражение (1) приобретает следующий вид:
<m,k>
Xl,l Xl,2
X2,l X2,2
Xm,1 Xm,2
.. Х1д • xi,2 •... • k
.. X2 i • X2;2 • ••• • X2,k'
Xm,1 Xm,2 ... Xm,k'
Qkr>-
§2
§!2
§ •§21 •...'§¿,1 §2 §22•...'§122 ... § '§2r•§k,,
где X, §, У £ Я .
Если ввести обозначение к = 2к — 1, то можно записать, что
5<т,к>' О<к,г>= ¥<т,г> > Х,ё.У £ Я . (2)
Под воздействием шумов в канале связи выражение (2) приобретает вид
5" < т ,к > ' О <к ,г > = ? < т ,г >, х,&у £ я ,
где интенсивность шума такова, что выполняется условие
=1М1 äi..
= ||А Yll äi..
Тогда идентификация структуры кода, т.е. определение коэффициентов матрицы О<кг>, сводится к решению системы линейных алгебраических уравнений (СЛУ) (2) с
приближенными значениями коэффициентов и проектированию полученных решений
относительно в область определения
порождающей матрицы кода О(22 - поле ОГ(2).
Таким образом, задача обнаружения и идентификации кодов в полунепрерывном канале связи при наличии шумов может быть сведена к задаче отыскания экстремума (минимума) функции невязки на множестве анализируемых кодовых слов решения системы линейных уравнений относительно коэффициентов порождающей матрицы, определяемых над полем вещественных чисел. Переход от решения
целочисленной экстремальной задачи к задаче поиска экстремума функции непрерывного
аргумента (непрерывная задача нелинейного программирования) можно рассматривать как задачу погружения дискретной задачи в
непрерывную [1,2]
В соответствии с правилом максимального правдоподобия процедура декодирования сводится к решению целочисленной экстремальной задачи
x = arg m ax(m in о (% | y (x ))) , (3)
xe D
где D - множество, определённое следующим образом:
D = { x: XI = 1, j = 1, k};
cf- аналоговый вектор ‘^ = {^}i_-i,
получаемый путём преобразования сигнала, наблюдаемого на выходе непрерывного канала связи.
Например, для гауссовского
полунепрерывного канала без памяти, когда кодовое слово y передаётся составным сигналом
с фазовой манипуляцией, условная плотность определяется как
(4)
>((У (x ))
1
exp{-0,5<г~2 ||f- y (x)||2} .
Однако при решении поставленной задачи методы отыскания экстремума непрерывных функций непосредственно не применяются, поскольку множество векторов, в котором определяется экстремум функции правдоподобия, является дискретным. Это обусловлено тем, что процедура линейного кодирования традиционно определяется над конечным двоичным (и не только) полем. Дискретность множества кодовых слов, на котором максимизируется функция правдоподобия, не даёт возможности ввести такие фундаментальные понятия анализа, как
непрерывность, сходимость и т. д., используемые при поиске экстремума непрерывных функций.
Известно, что формирование проверочных символов кодового слова линейного кода в конечном поле может быть проведено на основе выражения
§1 х1 + §2 Х2 + к + %кхк = У , (5)
следовательно,
k
у=Е §.л.
j=1
(6)
Общеизвестен переход от униполярных к биполярным сигналам:
Г + 1, если x = 0,
x . = {
1 - 1, если x , = 1;
У,- =
+1, если yt = 0, -1, если у, = 1;
и
где у = 1, к, і = 1, и.
При указанном преобразовании сложение по модулю два Ху © Хі соответствует обычному
алгебраическому умножению переменных Х уХі, а
операция логического умножения
У і ■
2 Х
&уі У
заменяется операцией возведения х в степень
, где £ ОГ ( 2 ) - элемент порождающей
код матрицы. Применив эти преобразования к правой и левой частям выражения (6), придём к выводу, что /-му уравнению системы (2) соответствует нелинейное уравнение
у = П
Х,
У=1
Однако полученное уравнение содержит неизвестные переменные §/ в показателе
степени, что значительно усложняет вычисления. Кроме того, происходит изменение исходной
области определения переменных х . В связи с этим предлагается модификация выражения (6)
Уі=Е(-1) 2к П «л
(7)
уХу
ієм(к)
определяет произведение всех
7=0
где П §
1£(ь\к)
§рХу по к . Теперь отсутствует необходимость
изменения области определения переменной х , а выражение (6) является частным случаем обобщенного выражения (7) при к , равном нулю. Условная плотность в выражении (3),
заданная на дискретном множестве в, аппроксимируется некоторой непрерывной
функцией Ж(£ | У (X)) , которая совпадает с
Ц£|у ( X)) - условной плотностью
распределения вероятностей наблюдаемого вектора £ при условии, что передавался
некоторый вектор У (х), при условии, что X
принимает значение из множества В . Указанная аппроксимация строится путём задания функции
Ц£|У ( X)) во всех точках непрерывного
множества
_ (8)
у У/ С-^) = £(—1)к 2к П ’' =1и’ —ш< 8/ <ш,7' = 0к
7=0 ,=!!},
когда независимая переменная §/ принимает значения из Я. Множество У (X) в
пространстве Я представляет собой многомерную поверхность, каждая точка которой задаётся системой нелинейных уравнений (7).
Функцию Ж(£ | У (X)) достаточно просто задать на множестве У ( X ) , полагая, что
Ж (£ 1у (х ))=®(£ I У1 (х ) = к , Уп (х )), (9)
где У/ £ Я .
Характерной особенностью функции (9) является
то, что при непрерывном изменении 8 / £ Я она
становится многоэкстремальной, что в конечном итоге усложняет задачу построения наиболее вероятной оценки передаваемого сообщения. Количество экстремумов функции
Ж(#|У( X )) и их распределение определя^отся
реализацией случайного вектора £, наблюдаемого на выходе полунепрерывного канала связи. Подставляя выражение (7) в (4), получаем для гауссовского полунепрерывного канала
^ ^1(10)
Ж (|у(х)) =
1
\1'2пгт
ехр<-0,5<г
«-ІК-іГ 2к П
{У“0 іе!Ч(Ч
В аппроксимирующей процедуре вместо функции (10) можно использовать функцию
к [ к У|\ (11)
ь(У(х)) = Е £ — ¿(—1) 2к П 8^7 /=1 ^ ))
На рисунке при фиксированной реализации вектора £ показан типичный вид поверхности
Ж(£|У( X)) , возникающей при предлагаемом способе погружения, когда 8/ принимает значения из Я , а у(X) = 1 — 2— 2§2X2 .
ж (£| у ( х ))
2і
Вид поверхности ж (£ | у (X))
Использование исчерпывающего перебора
коэффициентов в качестве алгоритма
идентификации возможно только для очень коротких кодов либо в случае наличия априорной информации о структуре и параметрах кода, существенно сокращающей область перебора.
Практическое использование указанного алгоритма идентификации даже при небольших длинах кодов сопряжено с чрезвычайно большим объемом вычислений при поиске модели с
минимальным значением средней невязки и потому трудно реализуемо.
Решаемая задача является корректной, если ее решение существует, единственно при любых входных данных из некоторой области их изменений и непрерывно зависит от входных данных.
Отыскание классического решения системы (2), т.е. матрицы О, для которой невязка решения равна нулю,
£ = У — X ' О ,
^ р
будет корректно поставленной задачей, если
т = к, ёе X ф 0 и
11*11= £
< 1
(12)
окрестности,
при произвольном А* из
определяемой условием (3). Выполнение условия (4) гарантирует, что при любых изменениях элементов X в заданных пределах матрица СЛУ остается невырожденной, а следовательно,
решение О=Х1У существует, единственно и непрерывно зависит от исходных данных.
При выполнении условия (12) погрешность
решения АО определяется выражением
,.(13)
1|А О|Ь
X—1
1—11^ 11' X—1
'(( + 11А*1 N1 * ‘1' 11У11)
В обобщенном случае отыскания решения СЛУ, когда количество кодовых слов, используемых в качестве уравнений системы, т>к,
требуется найти такое решение О', для которого евклидова норма невязки достигает наименьшего значения на всем множестве анализируемых кодовых слов:
шт| |У — X • О || = ||У — X • О '||.
Используя необходимые условия нахождения экстремума, получаем систему линейных уравнений для нахождения коэффициентов gij■
Мх,л §1,7 + Мх2,х. §2,7 + ■■■ + Мхк,х. §1,, = My7,х1 , 7 = 1(1)Г, (14)
^ §1,7 + Мх2,х2 §2,7 + ... + X &, 7 = Му1,х2
Mх1,хkg1,7 + Mх2,хkg2,7 + ... + Мх, Л§к,7 = МУ,Л
где
т
Мх„ .X, = £ Xп ' хУ , 1, п =1(1)к ,
/=0
т
МУ 7,4 = £У/7 ' хи , 1 = 1(1)к , 7 = 1(1)Г.
/= 0
Существуют различные методы решения СЛУ (14). Их можно разделить на три основных вида: прямые, итерационные и на основе
самоорганизации. Прямые методы
характеризуются тем, что за конечное число арифметических операций позволяют получить точное (не считая погрешностей вычисления)
решение системы. Итерационные методы дают решение СЛУ в виде предела последовательных приближенных решений, получаемых в процессе единообразных вычислений. На практике процесс останавливают на каком-то приближении,
достаточно близком в смысле требуемой точности к истинному решению. Методы определения зависимости между проверочными и информационными символами на основе
самоорганизации процесса вычислений относятся к виду методов усеченного перебора и (в общем случае) приводят к истинному решению лишь при условии, что оно не отбрасывается ни на одном из этапов усечения перебора.
Выбор конкретного метода решения СЛУ должен производиться исходя из существующих временных и аппаратных ограничений, интенсивности шумов в канале связи и требуемой точности решения.
Так как коэффициенты системы (14) образуют симметричную положительно определенную матрицу, то для ее решения можно использовать вместо метода Гаусса в общем виде метод решения СЛУ, основанный на разложении матрицы коэффициентов уравнения. Этот выбор обусловлен тем, что такой метод является самым экономным из прямых методов как по объему требуемых вычислений, так и по загрузке памяти ЭВМ. Это позволяет существенно увеличить порядок решаемых систем.
Практически уже при небольших значениях к (к > 2 0) решать задачу определения структуры кода с помощью известных методов, например перебора или прямого решения СЛУ, ввиду большой размерности решаемой задачи становится неприемлемо. Одним из путей решения этой проблемы является используемая в итерационных алгоритмах метода группового учета аргументов (МГУА) рационализация схемы перебора.
Условия применимости итерационных алгоритмов МГУА следующие:
1) структуры / £ Г линейны по
параметру;
2) существует структура g, такая, что
§ (Д, /н,-, Д; А ) = / (X ;в);
3) любая структура из Г есть либо константа, либо одна из исходных переменных х1,х2,...,хk, либо может быть из них получена суперпозицией структуры §.
Для класса линейных полиномов от к переменных структура §, зависящая от двух переменных, может иметь вид
§ ( х1, х 2; А< 2 > ) = а1 х1 + а 2 х 2 , а для класса всевозможных полиномов ее можно задать как структуру следующего вида:
§ (х1> х2; А<4> ) = а0 + а1 х1 + а2 х2 + а12 х1х2 .
Итерационный алгоритм МГУА оперирует матрицами частных описаний ОГ и структурами
Z 1(г\ Z2гг\ Пусть Я - вектор, который
ставит в соответствие с приближением (г-1)-ряда (итерации) приближение г-го ряда:
Я : Ог_і ^ Ог, г = 1,2,..., (15)
где Ог = (Z 1(г) | Z2г) |... | Z(iг)).
Если в результате действия оператора Я на матрицу Ог-1 элементы вектора Z(г), у = 1(1)і ,
получены по формуле
4г) = 8(<-1),*(г-^..^*£ ^ і = 1(1)к,
(г )
где у1, Л,..., ]р Є {І,2,..., і }, ^ -
элементы матрицы вг, то структура,
(г)
соответствующая вектору 2, , имеет вид
В качестве нулевого приближения выбирается множество структур вида
(0)(х) = *,■, * = 1(1)к •
Останов алгоритма осуществляется при выполнении условия
шт Сг (/-;-1)) < шт Сг (/(г)) < шт Сг (/+1+4), (16)
т.е. признаком конца работы алгоритма является неулучшение качества получаемых структур.
Пример. В качестве опорной функции g в каждом частном описании возьмем полином второй степени от двух переменных вида g(Уi,Уj)=ao+a1yi+ ау+ азуур а также полиномы , получаемые занулением коэффициентов а1, а2, а3 (но не всех трех одновременно) .
Рассмотрим результаты применения описанного алгоритма идентификации на основе МГУА при определении значений вектора
коэффициентов А< , > в случае наличия линейной
зависимости кодовых символов вида Уб=УУзУ4У5.
Для идентификации использовались 15 фрагментов кодовой последовательности У<б>. Первые пять символов каждого фрагмента генерировались с использованием датчика случайных чисел, а шестой символ вычисляется в соответствии с выражением (2). Десять фрагментов кода составили обучающую выборку, пять оставшихся - проверочную .
После первого ряда селекции были отобраны пять частных описаний по минимальному значению средней невязки на проверочной выборке :
1) 2 (1) = /( У1, У 5) II 0 5 0 1 0 5 0 У1 - - У ю 0
|> о 1 ■ У1 У 5^ , С г/1 ’=1, 12;
2) 2 (1) = 2 / ( У1, У 3) II 0 5 0 1 0 5 0 У1 + У 0 2 0
Сг2(1) = 1,11;
3) 2 (1) = 3 / ( У1, У 4 ) II 0 3 3 + 0,33 ■ У1 У 4 , С г3(1) = 1,0'
4) 2 (1) = ^ 4 / ( У 3^ ■ У 5) + со 3 0 = 0,48 ■ У 3 У 5, СГ4(1) = 1,1
5) 2 (1) = 5 / ( У1, У 4 ) 1 4 4 0 = 4 4 0 ■ У 4 + 0,22 ■ У^4>
С г3(1) = 1,00.
Значение критерия идентификации для всех частных описаний примерно одинаково и колеблется в пределах 1,00 - 1,15. Это означает, что на первом ряду селекции оптимальное, наиболее точное на проверочной
последовательности решение получено не было , т.е. после первого ряда селекции структуру кода определить нельзя .
На втором ряду селекции были отобраны следующие частные описания :
1) 2<2) = 8,0 - 24,0 ■ я3(1) - 21,0 ■ я+ 63,0 ■ 23(1)я<1), Сг1(2) = 0,00014;
2) хі^) = 0,053 + 1,30 ■ я3(1)я5(1), Сг2(2) = 0,97;
3) 2<2) = 0,0 - 12,0 ■ я3(1) + 31,5 ■ я3(1)я41), Сг1(2) = 0,77.
Резкое уменьшение значения критерия
качества идентификации у первого частного описания второго ряда говорит о том, что определена оптимальная структура модели. Восстанавливая явный вид частного описания, (2)
получим = У1 У3У4у5. Таким образом, в
отсутствие помех структура кода восстановлена однозначно.
Работоспособность предложенного
алгоритма при наличии помех проиллюстрируем примером идентификации линейной зависимости вида у11=у1у10. Проверочная выборка содержит 20 фрагментов кодовой последовательности, а обучающая - 10. При этом пять фрагментов из 30 содержат искаженные при приеме символы.
В результате селекции были отобраны 10
лучших частных описаний:
1) 2і1) : = / (У^ У10 ) = 0 ',12 + 0,12 ■ у 1 0 + 0,89 ■ У1У1 0, Сг/1 = 0,12;
2) 221) = = / (У1, У10 ) = С |,13 - 0,13 ■ у 1 + 0,13 ■ у 10 + 0,87 ■ УюУ1,
Сг2(1: 1 = 0 ,00002;
3) ) = / ( (У ! У 9 >) = 0,24 + 0,19 ■ у9 + - 0,30 ■ у 8 у 9,
С г (1) - 3 0 ,64;
4) 2 4 ° = / ( У 9 ’ У 10) = 0,27 ■ У 0 3 0 - + 0,30 ■ у 10 +
+ 0 , 1 3 ■ У 1 0 У 9. Сг4( 1) = 0,68;
5) 2( 0 = / ( У 3, У< ,) = 0,1 8 - 0 6 У - 0,18 ■ у 9 +
+ 0 , 4 1 ■ У: ,У 9,С г5<0 = ), 7 3;
6) 2(1 ) = / ( У 3 , У 9 ) = 0,19 + 0,12 ■ у 9 + 0,89 ■ У 3 У 9 ’
СГб( 1) = 0 , 69;
7) 2(1 ) = / ( У 9 - У 1 2 2 0 = - 0,26 ■ у 9 + 0,26 ■ у 10,
СГ7( 1) = 0 , 63;
8) 2(1 ) = / ( У 8 , У 9 ) = 0,26 + 0,16 ■ У 8 + 0 4 У +
+ 0 , 3 4 ■ У: 8 У 9 ’ Сг8( 1) = 3 7 0
9) : 2(1> = / ( У 1: - У 10 ) = 0,11 - 0,12 ■ у 1 + 0,88 ■ У1 У10 •
С г4( 1) = 0 , 0 9 ;
1 0) 2 1°0) = / ( У1, У 10 ) = 0,10 + 0,90 ■ у 1 у 1 0 ’
С г/ 1) = 0 , 094.
Самым лучшим в смысле наибольшей точности на проверочной последовательности
является второе частное описание 2^ .
Необходимо обратить внимание, что все частные описания, включающие первую и десятую переменные, имеют значительно меньшую величину критерия качества идентификации, чем частные описания, созданные на основе других переменных. Это - первое, второе, девятое и десятое частные описания. Значение критерия селекции для этих частных описаний не превышает 0,12, тогда как для других частных описаний оно не менее 0,63.
Поскольку коэффициенты полученной модели отличаются от множества допустимых значений, то необходимо применение процедуры проектирования вещественных значений
коэффициентов A<^n > в множество {0,1}. Одним
из наиболее простых операторов проектирования является
a* = sign{0,5 - a.}.
В этом случае описание модели анализируемого кода приобретает вид
2 *(1) = /(У1, Ую) = У Ую-
Моделирование ошибок в канале связи показало, что уверенное определение структуры кода возможно при величине отношения сигнал/шум менее 3 дБ и искажении символов более чем у 20% кодовых слов.
Литература
1. Блейхут Р. Теория и практика кодов, контролирующих ошибки/ пер. с англ. И.И. Грушко, В.М. Билиновского. - М.: Мир, 1986. - 576 с.
2. Аоки М. Введение в методы оптимизации/ пер. с англ. Э.Б.Дубро. - М.: Наука, 1977. - 344 с.
3. Волков Е.А. Численные методы.- М.: Наука, 1982. - 254 с.
4. Кларк Дж., Кейн Дж. Кодирование с исправлением ошибок в системах цифровой связи.- М.: Радио и связь, 1987. - 392 с.
Воронежский институт правительственной связи (филиал) Академии Федеральной службы охраны
Российской Федерации
Воронежский государственный технический университет
TECHNIQUE OF THE ANALYSIS OF STRUCTURE OF ADJUSTING CODES IN DISCRETE - CONTINUOUS CHANNELS AT PRESENCE OF NOISE
K.N. Birjukov, O.V. Lankin, A.A. Malyashev, V.V. Nazarov, K.Ju. Rjumshin
Features of the decision of a problem(task) of the technical analysis of code structures in a discrete -continuous liaison channel are considered(examined).
Key words: coding, to a floor a continuous channel