11. Миронов В. И., Миронов Ю. В., Юсупов Р. М. Синтез итерационных алгоритмов решения краевых задач и нелинейных уравнений // Изв. вузов. Приборостроение. 2010. Т. 53, № 1. С. 9—14.
12. Мамон П. А., Половников В. И., Слезкинский С. К. Баллистическое обеспечение космических полетов. Л.: ВИКИ им. А. Ф. Можайского, 1990. 622 с.
Сведения об авторах
Вячеслав Иванович Миронов — д-р техн. наук, профессор; Санкт-Петербургский институт информа-
тики и автоматизации РАН; E-mail: [email protected] Юрий Вячеславович Миронов — д-р техн. наук, доцент; Санкт-Петербургский институт информатики и
автоматизации РАН; E-mail: [email protected] Рафаэль Мидхатович Юсупов — д-р техн. наук, профессор; Санкт-Петербургский институт информатики и автоматизации РАН; директор; E-mail: [email protected]
Рекомендована институтом Поступила в редакцию
07.07.10 г.
УДК [517.938 + 519.713/718]: 621.398
А. В. Ушаков, Е. С. Яицкая
РЕКУРРЕНТНОЕ СИСТЕМАТИЧЕСКОЕ ПОМЕХОЗАЩИТНОЕ ПРЕОБРАЗОВАНИЕ КОДОВ: ВОЗМОЖНОСТИ АППАРАТА ЛИНЕЙНЫХ ДВОИЧНЫХ ДИНАМИЧЕСКИХ СИСТЕМ
Рассматривается проблема формирования матричных компонентов векторно-матричного описания двоичных динамических систем помехозащитного преобразования кодов. Показано, что базис представления матричных компонентов зависит от проверочной и образующей матриц помехозащищенного кода, а также от его образующего модулярного многочлена.
Ключевые слова: двоичная динамическая система, систематический помехо-защищенный код, проверочная и образующая матрицы, образующий модулярный многочлен, помехозащитное преобразование кодов.
В работах [1, 2], посвященных преобразованию кодов (ПК), представленных в виде кодовых последовательностей, получен конструктивный инструментарий модельного представления процедур ПК в виде линейных последовательностных машин (ЛПМ). Так как термин ЛПМ выпадает из общей теории систем, то со временем он был заменен понятием „линейная двоичная динамическая система " (ЛДДС). Таким образом, ЛДДС, использующая в основном векторно-матричные модельные представления (ВММП) аппарата пространства состояний (АПС), со временем стала инструментом ПК, в том числе и помехозащитного преобразования систематических кодов в задачах кодирования и декодирования [3—5]. Из теории АПС [6] известно, что одной из проблем формирования векторно-матричного модельного представления динамических процессов над бесконечными и конечными полями является поиск базиса представления, в котором матричные компоненты ВММП обладают желаемыми исследователю свойствами. Причем возможность выбора базиса представления при построении ВММП процессов общего вида практически не ограничена. К сожалению, этого нельзя сказать о ВММП ЛДДС, использованных в задачах помехозащитного преобразования кодов.
Известно [7, 8], что систематическое помехозащитное преобразование кодов (ППК) в задачах кодирования и декодирования может быть осуществлено несколькими способами, основанными на различном описании процесса ППК. Тем не менее эти способы имеют единое
функциональное представление, структурная реализация которого приведена на рис. 1, здесь КУ — помехозащитное кодирующее устройство, формирующее на своем выходе помехоза-щищенный код (ПЗК); КС — канал связи, выполняющий функцию среды искажения в задаче ППК; ДКУ — помехозащитное декодирующее устройство, формирующее на своем выходе синдром ошибки (факта или места искажения); ФСК — формирователь сигнала коррекции; Ф — сумматор по модулю два; а (*) — помехонезащищенный информационный код
(ПНЗИК); у (*) — помехозащищенный код передачи; ^(*) — код помехи, воздействующей на код у (*) при его передаче по КС; / (*) — искаженный в КС ПЗК; Е (*) — код синдрома ошибки (факта или места искажения); п(*) — код коррекции; у (*) — откорректированный принятый из КС код, удовлетворяющий условию
y (*) = argmin {II y (*)- y (*
n(*)
G
УКК
H
H+
1 y(*) f 4 f(*) ДКУ E(*) ФСК
w
n(*) —►
ш
y(*)
Рис. 1
Символ „ * " опускается, если все коды, использованные в процедуре помехозащитного преобразования, рассматриваются как векторы-строки, преобразование которых осуществляется в соответствии с векторно-матричными соотношениями:
y = aG, f = y + £, E = fH, n = EH+, y = f + Л. (1)
Операцию сложения следует понимать как процедуру суммирования по модулю два; a :dima = k; y :dimy = n; f :dim f = n; E, :dim^ = n; E :dimE = m = n - k; n :dimn = n;
y :dim y = n; G — образующая (k x n)-матрица ПЗК; H — проверочная (n x m)-матрица ПЗК, которая удовлетворяет условию {G, H} = arg {GH = 0} .
Если коды, используемые в процедуре помехозащитного преобразования кодов, рассматриваются как модулярные многочлены (ММ) над полем Галуа GF (p)| = то символ
„ * " принимает значение переменной х . При этом преобразование кодов-ММ осуществляется в соответствии с модулярными полиномиальными соотношениями:
/ ч / Ч m / Ч y (х) / ч a(х)Х y (х) = a(х)xm + r (х) :rest—р—^ = 0, r (х) = rest v '
g (х )
g (х) '
f (х ) = y (х ) + ф ), E() t f (х) t Ф)
E (х ) = rest—Н1 = rest-
(2)
g^ ) g (х)' П(х ) = ^(х ),y (х ) = f (х ) + п(х),
в которых a (х):dega (х) = k -1; y ( х) :deg y ( х) = n -1; f (х) :deg f (х) = n -1;
£(х) :deg£(х) = n-1; E(х):degE(х) = m-1; n(х) :degn(х) = n-1; y^):degy(х) = n-1;
g (х) — образующий модулярный многочлен ПЗК, представляющий собой неприводимый многочлен степени m , имеющий не менее dmm = 2s +1 ненулевых элементов.
Символ „ * " принимает смысл дискретного времени q, выраженного в числе тактов длительности At, при этом все коды, используемые в процедуре помехозащитного преобразования, рассматриваются как кодовые последовательности, преобразование которых осуществляется рекуррентным образом в соответствии с векторно-матричными соотношениями, параметризованными дискретным временем q :
хк (q +1) = Ак хк (q) + вк ик (q); y (q) = Nur (q), (3)
хк (q+1) = Ахк (q); y (q) = ск хк (q), (4)
f (q ) = y (q )+£( q), (5)
хд (q + 1) = A д хд (q) + B д ид (q), (6)
в которых ик (q) = a(q) — входная двоичная последовательность, представляющая собой вводимый в КУ ПНЗИК; хк — вектор состояния КУ, размерности dim хк = m; y (q) — формируемая ПЗК-последовательность; Ак — (m х m)-матрица состояния КУ; Вк — (m х1)-
матрица входа КУ; Ск =1 0ци_1) — матрица выхода КУ; N = [1] — матрица вход—выход
КУ; А — нильпотентная матрица с индексом v = m ; ид (q) = f (q) — входная двоичная последовательность, представляющая собой принятый из канала связи искаженный систематический ПЗК; хд — вектор состояния ДКУ размерности dim хд = m ; Ад — (m х m)-матрица
состояния ДКУ; Вд — (m х 1) -матрица входа ДКУ.
Постановка задачи. Ставится задача синтеза ЛДДС помехозащитного преобразования кодов с матрицами Ак, Вк, Ад, Вд, А, Ск, N как функциями образующего модулярного
многочлена ПЗК g(х), его проверочной H и образующей G матриц:
{Ак,Вк, Ад,Вд, А,Ск,N} = ^(g(х),H,G) .
Приведенные выше методы помехозащитного преобразования кодов характеризуются различным уровнем связи их аналитического описания с возможной аппаратной реализацией. Действительно, первый метод, представленный системой выражений (1), использующий век-торно-матричное описание ППК, не параметризованное временем, приводит к системе скалярных аналитических выражений (САВ), которые позволяют строить устройства помехозащитного кодирования и декодирования [8].
Второй метод, представленный системой выражений (2), приводит к двум видам аппаратной реализации ППК: схемотехнической и программной, описываемой рекуррентными процедурами параметризованной дискретным временем q , задаваемыми соотношениями (3)—(6). Схемотехническая реализация ППК имеет две версии: первая строится по схеме „ g(х)^(G, HСАВ "; вторая — по схеме „ g(хУДММ :Ф (d) = g_1 (dСPФ(d)", УДММ — устройство деления ММ, СРФ (d) — структурная реализация передаточной функции Ф (d) .
Для формирования программной реализации устройств ППК в форме (3)—(6) сформулируем необходимые определение и утверждение.
Определение 1. Помехозащищенный (n, к) -код, множество кодовых комбинаций которого y; мощностью [yt ] = 2к, описываемых модулярными многочленами yt (х), обладающими рекуррентным свойством
Уi ( х)
rest g(-) = 0, (7)
g(х)
называется циклическим помехозащищенным кодом. □
Утверждение 1. Код, множество кодовых комбинаций которого формируется в соответствии с первым соотношением системы (2), обладает рекуррентным свойством (7), т.е. является циклическим ПЗК. □ Доказательство утверждения сводится к доказательству наличия у кода с ММ (2)
рекуррентного свойства (7). Для этой цели полиномиальный компонент a (х)хт представим
в форме a(х)хт = Q(х)g(х) + r(х) . Если полученное выражение подставить в первое соотношение системы (2) и осуществить приведение по модулю два, то получим
y (х) = {Q (х^ (х) + r ( х) + r ( х)} mod 2 = Q ( х) g( х). (8)
Нетрудно видеть, что представление (8) определяет наличие у y (х) рекуррентного свойства (7). ■
По существу, первое выражение представления (2) ММ y (х) циклического ПЗК содержит алгоритм его формирования в среде рекуррентного кодирующего устройства. При этом КУ функционирует посредством коммутации структуры. Это вызвано тем, что при формировании (n, к) -кода в течение первых к тактов к-разрядная информационная часть в виде кодовой последовательности одновременно подается в КС и на вход УДММ для вычисления остатка в форме
(Q ) = *
rest
( i \ m\
a (х )х
По принятии информационной части из источника дискретной информации (ИДИ) вход КС переключается с выхода ИДИ на выход УДММ, в котором сформировался остаток. Все обратные связи в УДММ в этот момент разрываются, процесс деления останавливается, а УДММ без связей становится да-разрядным регистром сдвига. Все перечисленные коммутации цепей и связей осуществляются специально вводимым в состав КУ устройством коммутации (УК). Таким образом, помехозащитное КУ представляет собой объединение УДММ и УК, функционирующее в два этапа. На первом оно описывается ЛДДС вида (3), а на втором — вида (4).
Третье выражение представления (2) ММ Е (х) синдрома ошибки по существу описывает алгоритм функционирования рекуррентного декодирующего устройства, который предназначен для проверки сохранности рекуррентного свойства (7) применительно к принятому из КС искаженному коду с ММ / (х) = у (х ) + £( х) путем деления этого многочлена на образующий g(х) . Если Е (х) = 0, то принимается решение, что / (х) = у (х) . Если Е (х) ^ 0, то
синдром используется как адрес искажений кода. Помехозащитное ДКУ есть функциональное объединение УДММ и устройства съема синдрома, отражающее состояние УДММ в момент q = п так, что код
К {Е(х)} = (.
Таким образом, УДММ в фазе вычисления остатка описывается ЛДДС вида (6). Утверждение 2. Матрица Вк ЛДДС УДММ кодирующего устройства (3) с точностью
до операции транспонирования совпадает с последней (к-й) строкой 6к матрицы ((, входя-
щей в состав образующей матрицы G =
(kxk)
G I так, что выполняется соотношение
вк = Gk = к {g (X) + Xm},
'к---(9)
где К { ( •)} — код ММ ( •) . □
Доказательство. Рассмотрим процесс кодирования для случая помехонезащищен-ного кода а, имеющего единицу только в младшем разряде, а в остальных — нули {ММ : а(х) = 1}. Это значит, что входная последовательность ик (4) с учетом передачи кодов и ММ старшим разрядом вперед будет иметь вид
ик (4) = [ ик ( 0) = 0,ик ( 1) = 0,...,ик ( к - 2) = 0, ик (к -1) = 1,ик (к) = 0...] .
В течение первых (к -1) тактов ЛДДС УДММ кодирующее устройство будет находиться в нулевом состоянии. При приеме элемента ик (^_1= 1 ЛДДС устройство деления модулярного многочлена КУ в силу (3) перейдет в состояние
хк (q + ll+1=k = Акхк (q\\X
+вк ик (q )1
lq=k-1
\T
= 1
вк
lq+1=k Л x(q)\ - = 0 к Ли (q )\
к\*> |q=0,k-1
Данное соотношение в транспонированном виде {хк (k) = Вк } определяет код
a(х)хт
к
rest-
g (х )
= rest
а(х)=1
g (х )
= g ( х ) + ■
k
остатка от деления, выводимый из КУ и задаваемый последней к-й строкой матрицы кодов остатков так, что выполняется цепочка равенств
(k) = вк = Gk = к { g ( х) + хт}.
Соотношение (9) совместно с представлением функционирования рекуррентного КУ позволяет сконструировать его векторно-матричное описание в форме ЛДДС вида (3)—(4).
Алгоритм 1 (А1) формирования матриц {Ак, Вк, A, Ск, N } = ¥(g(х), G)
ЛДДС рекуррентного помехозащитного кодирования
1. По заданному информационному массиву W мощности [W] = Vu определить размерность k помехонезащищенного информационного кода в силу соотношения k = minarg{ 2k > Vu = [W]}.
2. По заданным категории системы, характеризующейся величиной рдоп — допустимой вероятностью приема ложной команды, и параметру модели двоичного канала связи в форме p — вероятностью искажения разряда (бита) кода, заданному выражением p = max {Р01, P10}, определить кратность исправляемой ошибки s
s = minarg J Nc = 2m -1 > = Z Сп& Z CnP (1" P Г * P
[ i=1 i=s+1
где Nc — число синдромов, #ош — число исправляемых ошибок.
доп J
х
■
3. В зависимости от величины s-кратности исправляемой ошибки — выбрать из таблиц неприводимых многочленов или сформировать с помощью БЧХ-технологии [9] реализацию образующего ММ g ( х) степени m и сформировать (n, k) -формат помехозащищенного кода, где n удовлетворяет условию n = k + m.
4. Вычислить D -образ ММ g ( х) в форме
g(d) = D {g( х)} = g( х"1), где g( х"1) = x"mg( х).
5. Сконструировать передаточную функцию Фк (d) УДММ КУ на образующий ММ
g (х) в форме Фк (d) = gd) ■
6. Пользуясь правилом Мейсона не касающихся контуров, построить две предварительные структурные реализации передаточной функции Фк (d) на элементах памяти (ЭП) с передаточной функцией ФЭп ( d) = d в двух канонических базисах.
7. Произвести разметку входов и выходов ЭП каждой структурной реализации переменными хю- ( q +1) на входе и хю- (q) на выходе, присвоив выходу самого правого ЭП переменную хк1 (q), а его входу — хк1 ( q +1) , и сформировать векторно-матричное описание (ВМО) автономной версии УДММ хк ( q +1) = Акхк (q) , „списав" реализации матриц Ак с отмеченных структурных реализаций Фк (d) .
8. Сформировать матрицу входа Вк УДММ КУ (3) в форме (9).
9. Структурно с использованием правила Мейсона или аналитически определить передаточные функции УДММ КУ (3) для двух базисных реализаций матрицы Ак состояния
УДММ для процесса кодирования как Фк (d) = Ск (d_1I + Ак ) Вк .
10. Выбрать для дальнейшего использования структурную реализацию передаточной функции УДММ КУ, отмеченная версия которой характеризуется матрицей Ак ее состояния,
удовлетворяющей условию Ак = arg j g-1 (d) = Ск (d_1I + Ак ) Вк j.
11. Сформировать матрицу А УДММ КУ, переведенного в режим регистра сдвига, по отмеченной версии, выбранной в п. 10 структурной реализации Ф (d) с разорванными обратными связями.
12. Дополнить УДММ УК устройством коммутации структуры УДММ и точки подключения входа канала связи с выхода ИДИ на выход устройства деления модулярных многочленов.
13. На конкретном примере проверить правильность функционирования устройства рекуррентного кодирования, задаваемого парой ВМО (3) и (4) со сформированными матрицами
(Ак, Вк, N) и (А,Ск ). ■
Утверждение 3. Матрица Вд входа декодирующего рекуррентного устройства (6)
удовлетворяет соотношению
Вд
(Hn ) . (10)
Доказательство этого утверждения использует тот факт, что синдром Е, вычисляемый в соответствии с соотношением Е = /Н, удовлетворяет цепочке
Е _ /Н _ ( + $) Н = (а( + $) Н = а(Н + ^Н(н_0 = $Н равенств. Это соотношение показывает, что в ВМО (6) процесса декодирования можно положить ид (4) _ $(4) так, что оно с учетом (5) принимает вид
Хд (4 +1) _ АдХд (4) + Вд$ (4), хд (0) =°. (11)
Выражение (11) используем при формировании синдромов ошибок, которые образуют строки проверочной матрицы Н в силу соотношения Ни+1-г = Е1, где Е1 — синдром ошибки в / -м разряде принятого из КС искаженного ПЗК, Н п+1-г — (п +1 - /) -я строка матрицы Н. Тогда в соответствии с (6) и при условии $( 4) : 000. 001 входная последовательность ид (4) будет иметь вид ид (4) _ [ ид ( 0) _ 0, ид ( 1) _ 0,., ид ( п - 2) _ 0, ид (п -1) _ 1,ид (п) _ 0...] .
В течение первых ( п -1) тактов ЛДДС устройство деления модулярных многочленов ДКУ будет находиться в нулевом состоянии. При приеме элемента ид (4)| 4=п-1_ 1 ЛДДС УДММ КУ в соответствии с (6) перейдет в состояние
(q+4+1=«=Ад *д )1*
t(q)l ^=0
+вд ид (q 1
q=0,n-1
(q 1
q=n-1 1
вд
Данное соотношение в транспонированном виде {хд (n) = Вд } определяет код
K
rest
Ф)
* (*)
= rest
* (*)
= 1
остатка от деления, вводимого из КС в ДКУ кода ошибки с ММ $(х) _ 1, задающей синдром
Е ошибки в младшем разряде и задаваемой последней (п-й) строкой Нп проверочной матрицы Н так, что выполняется цепочка равенств
= *„
г=1
(n )
д (n-1)=1
вд
H
n+1-г
г=1
Hn
д (q )=0; q=0, n-2
Соотношение (10) совместно с описанием функционирования рекуррентного ДКУ позволяет сконструировать его векторно-матричное описание в форме ЛДДС вида (6).
Алгоритм 2 (А2) формирования матриц {Ад,Bд } = Y(g(х), H)
ЛДДС рекуррентного помехозащитного декодирования
1. Выполнить пп. 1—4 алгоритма А1 синтеза рекуррентного КУ.
2. Сконструировать передаточную матрицу-столбец Фд (d) = arg{хд (d) = Фд (d)ид (d)}
УДММ ДКУ на образующий ММ g ( х) в форме Фд ( d) = —-—- col( Ф j ( d); j = 1,m), где пе-
g ( d )
редаточные функции (Фj ( d); j = 1,m) подлежат вычислению.
3. В качестве матрицы Ад состояния векторно-матричного описания УДММ ДКУ (6) принять матрицу Ак, удовлетворяющую условиям п. 9 алгоритма А1 так, что становится справедливым матричное соотношение Ад = Ак = А .
4. Сформировать матрицу Вд входа ВМО (6) УДММ ДКУ с помощью соотношения (10).
x
■
5. Структурно, реализовав ВМО (6) УДММ ДКУ с матрицами (Ад ,Вд ), сформированными в п. 3, 4, графически, с помощью правила Мейсона, или аналитически, с помощью соотношения Фд (d) = (d_1I + Ад ) Вд, сформировать передаточную матрицу-столбец
Фд ( d) = g_1 ( d)col(фj ( d); j = 1,m), с последующим вычислением col(фj ( d); j = 1,m) =
= g (d )(d-11 + A д )-1 B д .
6. На конкретном примере проверить правильность функционирования устройства рекуррентного декодирования (6) со сформированной парой матриц (А д ,Вд ). ■
Пример. На основе использования алгоритмов синтеза рекуррентных кодирующих и декодирующих устройств осуществлено их проектирование по следующим исходным данным. Пусть массив сообщений W характеризуется мощностью [W] = Vu = 120 и кратностью
исправляемой ошибки s = 2. Схемы кодирующего и декодирующего устройств приведены на рис. 2 и 3 соответственно.
Рис. 2
Xд8(q+1) X^q+D Xд6(q+1) x^q+D
из КС
—
«дО?^ f(q)
xд8(q)
хд7(?)
Хдб(?)
хд4(?+1) хд3(?+1)
d
хд5(?)
d
Хд4(Я)
é
Хд2(?+1)
d
хд3(?)
xgj(q+1
Хд2(?) хд1(?)
хд (д)\я=„=Е
Рис. 3
Заключение. Поставленная задача решена. Показано, что представление процессов преобразования кодов в задаче помехозащитного кодирования и декодирования средствами линейных двоичных динамических систем на основе связи матриц входа с образующей и проверочной матрицами имеет элегантную алгоритмическую поддержку.
СПИСОК ЛИТЕРАТУРЫ
1. Гилл А. Линейные последовательностью машины. М.: Наука, 1974.
2. Фараджев Р. Г. Линейные последовательностью машины. М.: Сов. радио, 1975.
d
d
d
d
3. Кирюшин А. А., Рассветалова Л. А., Ушаков А. В. Модальное управление в задаче синтеза двоичных динамических систем в логике линейных триггеров // Автоматика и телемеханика. 1993. № 7.
4. Рассветалова Л. А., Ушаков А. В. Двоичное динамическое наблюдение в задаче помехоустойчивого кодирования // Автоматика и телемеханика. 1993. № 6.
5. Ушаков А. В. Синтез циклических кодирующих и декодирующих устройств в логике произвольных триггеров // Автоматика и телемеханика. 1997. № 11.
6. Заде Л., Дезоер Ч. Теория линейных систем. М.: Наука, 1970.
7. Питерсон У., Уэлдон Э. Коды, исправляющие ошибки. М.: Мир, 1976.
8. Тутевивич В. Н. Телемеханика. М.: Высш. школа, 1985.
9. Мельников А. А., Ушаков А. В. Двоичные динамические системы дискретной автоматики. СПб: СПбГУ ИТМО, 2005.
10. Rosenthal J. Some interesting problems in systems theory which are of fundamental importance in coding theory // Proc. 36th Conf. Decision Control. San Diego, CA, 1997. Vol. 5. P. 4574—4579.
Сведения об авторах
Анатолий Владимирович Ушаков — д-р техн. наук, профессор; Санкт-Петербургский государственный
университет информационных технологий, механики и оптики, кафедра систем управления и информатики;
E-mail: [email protected]
Елена Сергеевна Яицкая
аспирант; Санкт-Петербургский государственный университет информационных технологий, механики и оптики, кафедра систем управления и информатики; E-mail: [email protected]
Рекомендована кафедрой систем управления и информатики
Поступила в редакцию
27.09.10 г.