Сверточные коды: определение, параметры, классификация

 

Сверточные коды (СК) имеют большой научный и практический интерес для современных систем и сетей телекоммуникаций. Это определяется многими их достоинствами, а именно:

1. высокой скоростью обработки информации (десятки и сотни Мбит/с),

2. высокой корректирующей способностью как случайных, так пакетных ошибок,

3. реализацией эффективных кодеков,

4. эффективным применением в каналах связи с фазовой неопределенностью и др.

 

В общем виде кодирование информации СК может быть представлено следующим образом:

                   (1)

 где I(x) – последовательность передаваемых информационных символов; x – формальная переменная; g(x) – порождающий, или образующий, полином (многочлен); k0 – блок информационных символов, одновременно поступающих на вход кодирующего устройства (k0 ).

Способ формирования кодовых символов, выполняемых согласно (1), соответствует форме записи свертки двух функций, что и послужило названию данных кодов. Сверточный код – это рекуррентный код (т.е. операции выполняются шаг за шагом) с периодической полубесконечной структурой символов кодовой последовательности. Обобщенная структурная схема кодера СК представлена на рис. 1.

 

Рис. 1. Обобщенная структура кодера СК

 

Входные информационные символы I(x) делятся на k0 символов, которые одновременно с каждым тактом поступают на входы кодера СК, в котором согласно (1) формируются кодовые символы n0. Таким образом, кодовая последовательность Т(i)(x) представляет собой полубесконечную последовательность блоков n0.

Существенное отличие СК от ЛБК: для ЛБК проверочные символы зависят от одного информационного блока, а для СК проверочные символы зависят как от информационных символов на входе, так и от некоторого количества предшествующих.

Любому входному информационному блоку из k0 информационных символов и m предшествующих символов, хранящихся в регистре сдвига кодера, соответствует выходной кодовый миниблок из n0 двоичных символов. Т.к. в алгоритме кодирования участвуют предшествующие символы m, то такой алгоритм называется кодирование с памятью.

К основным параметрам СК относятся:

 1.  и т.д. – скорость передачи кода, которая для СК записывается в виде дроби;

2. l= n0- k0 – абсолютная избыточность;

3. r=( n0- k0)/ n0 ×100%=(1- R) ×100% – относительная избыточность;

4. J≥2 – количество ортогональных проверочных уравнений, т.е. количество ненулевых членов в образующем полиноме;

5. d0=J+1 – минимальное кодовое расстояние;

6.  – кратность или количество исправляемых ошибок;

7.  – кратность обнаруживаемых ошибок;

8. nA =(m+1)n0 – длина кодового ограничения, или длина кодовой последовательности, соответствующая кодированию информационных блоков из k0 символов в течение (m+1) такта; m – старшая степень ненулевого многочлена порождающего полинома;

9. kA =R ×nA – количество информационных символов, приходящихся на nA кодовых символов;

10. nE=J2/2+J/2+1 –эффективная длина кодового ограничения (количество двоичных символов, непосредственно участвующих в декодировании).

 

Классификация СК.

- По основанию кода: двоичные и недвоичные;

- В зависимости от используемого математического аппарата: алгебраические и неалгебраические;

- По алгоритму формирования проверочных символов: линейные и нелинейные;

- По способу передачи: систематические и несистематические;

- По структуре кодовой последовательности: разделимые и неразделимые;

- По алгоритму декодирования: ортогональные и неортогональные;

- По способу преобразования входных информационных символов k0 в кодовые символы СК являются непрерывными.

 

В зависимости от способа формирования проверочных уравнений СК бывают ортогональными, самоортогональными и ортогонализируемыми.

Ортогональными СК (ОСК) называют такие коды, в которых система из J (J 2) проверочных уравнений ортогональна относительно декодируемых k0 информационных символов и неортогональна относительно информа­цион­ных символов, входящих в данные проверочные уравнения.

Самоортогональные СК (ССК) – коды, в которых декодируемый инфор­ма­ци­он­ный символ входит одновременно во все проверочные уравнения, а все осталь­ные символы, участвующие в декодировании в данный момент времени, входят не более, чем в одно проверочное уравнение, т.е. СК формирует так называемую, систему раздельных проверок.

Ортогонализируемыми СК называются такие коды, у которых при деко­ди­ро­ва­нии информационного или k0 символов требуется выполнить допол­ни­тель­ные линейные преобразования над проверочными символами для получения дополнительных, так называемых составных проверок.

 

Задание систематических сверточных кодов

 

Систематические СК задаются:

I. с помощью порождающей матрицы – G¥(х);

II. с помощью проверочной матрицы – H¥(х);

III. с помощью разностных треугольников;

IV. с использованием совершенных разностных множеств.

 

I. Задание систематических СК с помощью порождающей матрицы G ¥(х)

 Порождающая матрица систематического СК имеет более сложное построение, чем у группового кода. Это определяется из-за полубесконечной структуры порождающей матрицы СК, имеющей вид:

где "0" - области матрицы, состоящие полностью из нулевых двоичных символов,

т - количество порождающих матриц вида

где – коэффициенты равны либо 1, либо 0.

 

Систематический ССК задаются следующей порождающей матрицей G ¥(х):

 

 

II. Задание систематических СК с помощью проверочной матрицы H ¥(х)

 

Проверочная матрица Н ¥ (х) СК, как и порождающая матрица, является полубес­ко­нечной:

 - совокупность проверочных подматриц, имеющих форму треугольника.

Порождающая и проверочная матрицы СК, как и у линейных кодов, связаны выражением: G ¥(х) ×HT ¥(х)= H ¥(х) ×GT ¥(х) =0.

 Для систематического ССК с алгоритмом порогового декодирования проверочная матрица H ¥ задается следующим образом:

 

 

(n0-k0) строк

Из данной проверочной матрицы следует, что для ССК с  проверочная матрица Н ¥(х) содержит (n0–k0) строк и k0 столбцов проверочных треугольников. Для ССК с , n0= 2;3; …, проверочная матрица Н ¥(х)содержит k0=1, т.е. один столбец и n0 строк проверочных треугольников.

 

Каждый из проверочных треугольников Н Di,k0+i, i=1,2, …; k0=1,2, …, проверочной матрицы Н ¥ (х)  общем случае имеет вид:

,

где q – коэффициенты, равные либо 1, либо 0; j, i – номера соответственно строки и столбца матрицы Н¥(х), которыми определяется проверочный треугольник; 0, …m – порядковые номера степеней, в которые возводятся соответствующие коэффициенты порождающего полинома.

Основную информацию о самоортогональных сверточных кодах ССК несут коэффициенты левого столбца и нижней строки проверочного треугольника.

Пример: задан проверочный треугольник:

 

По данному проверочному треугольнику можно определить параметры ССК с алгоритмом ПД:

1. Поскольку задан один проверочный треугольник, то k0=1, n0=k0+1=2,.  r=( n0- k0)/ n0 ×100%=(1- R) ×100%=50%.

2. Так как k0=1, то ССК задается одним порождающим полиномом, определяемым коэффициентами левого столбца и нижней строки проверочного треугольника.

g(x)=1+x2+x6+x7

3. Количество ненулевых членов порождающего полинома определяет число проверочных уравнений: J=4. Следовательно, ССК может исправлять  ошибки и обнаруживать  ошибки.

d0=J+1=4+1=5

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

s00i+e0p (i– информационный символ, р – проверочный)

s20i+e2i+e2p

s60i+e4i+e6i+e6p

s70i+e1i+e5i+e7i+e7p

5. Длина кодового ограничения nA и эффективная длина кодового ограничения ne СК равны, соответственно,

nA =(m+1)n0=(7+1)2=16 двоичных символов;

=8+2+1=11 двоичных символов.

На практике наибольшее применение получили два способа построения проверочных треугольников:

- с помощью разностных треугольников

- с помощью совершенных разностных множеств.

 

III . Задание систематических СК с помощью разностных треугольников

 

Разностный треугольник представляет собой совокупность целых, действи­тель­ных и неповторяющихся чисел, записанных в форме треугольника. Для ССК с R = k0/n0 количество разностных треугольников равно числу k0. Для всех разностных треугольников общим числом является “0”, который не указывается в совокупности чисел, однако учитывается при выборе степеней ненулевых членов порождающих полиномов. Степени ненулевых членов порождающих полиномов по заданным или построенным разностным тре­уголь­ни­кам можно найти путем выбора чисел:

· левого крайнего столбца разностного треугольника, считывая их сверху вниз и дополняя числом “0”,

· верхней строки разностного треугольника в такой последовательности: первое число – показатель степени второго ненулевого члена порождающего полинома; суммирование первого и второго чисел первой строки разностного треугольника определяет показатель степени третьего ненулевого члена порождающего полинома и т.д.

Пример: Определить параметры ССК с алгоритмом ПД при следующем разностном треугольнике:

 

 

1. Так как задан один разностный треугольник, то k0=1, n0=k0+1=2, , код имеет один порождающий полином.

2. Выписывая числа левого крайнего столбца разностного треугольника, определяем показатели степеней порождающего полинома: (0,2,6,7). Следо­ва­тель­но, порождающий полином ССК имеет вид: g(х)=1+x2+x6+x7. При втором способе –0; 2; 2+4=6; 2+4+1=7. Как правило, в литературе разностные треугольники табулированы и представлены, например, так: ((2,4,1), (3,5,2)). Это означает, что ССК имеет соответственно параметры: k0=2, n0=k0+1=3, и g1(x)=1+x2+x6+x7 и g2(x)=1+x3+x8+x10.

Разностный треугольник ССК может быть построен, если задан прове­роч­ный треугольник, и наоборот.

Пример: По проверочному треугольнику построить разностный.

Числа крайнего левого столбца разностного треугольника определяются как результат операции вычитания порядковых номеров строк проверочного треугольника, которые начинаются с “1”. Для первого столбца получаем следующие числа: 3–1=2 (3 – номер позиции третьей строки, 1 – номер позиции первой строки); 7–1=6 и 8–1=7. Для получения чисел второго столбца за вычитаемое берем номер позиции третьей строки: 7–3=4 и 8–3=5. Для получения чисел третьего столбца за вычитаемое берем номер позиции седьмой строки: 8–7=1.

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

 

V. Задание систематических СК с использованием

 совершенных разностных множеств

 

Совершенное разностное множество – это совокупность целых, дей­стви­тель­ных и неповторяющихся чисел d1, d2, … d x, причем d1< d2< d x и разности этих чисел  полученных по некоторому mod x ( x ¹2), также образующих совокупность целых, действительных и неповторяющихся чисел.

Данную совокупность полученных разностных чисел можно использовать в качестве исходных чисел для формирования разностных треугольников и выбора соответствующих порождающих полиномов ССК.

При выборе чисел для построения разностных треугольников необходимо выбирать числа с наименьшим их значением по номиналу, т.к. максимальное значение числа в построенных разностных треугольниках определяет максимальную степень m порождающих полиномов ССК.

Рассмотрим построение ССК с алгоритмом ПД с использованием совер­шен­ных разностных множеств.

Пусть, например, имеется совокупность b=3-х целых, действительных и неповторяющихся чисел (b=1,2,3) и эта совокупность образует b2+ b=32+3=12 разностей по модулю b2+ b+1=32+3+1=13, которые равны следующим числам:

1 – 0º1 12 – 8º4 2 – 8º7 0 – 3º1
3 – 1º2 0 – 8º5 8 – 0º8 1 – 3º11
3 – 0º3 8 – 2º6 8 – 12º9 0 – 1º12

Полученную совокупность разностных чисел можно разбить на следующие подмножества:

 

1 2 6 4
3 8 10 5
9 12 11 7

.

j

 


Каждый из столбцов данного множества можно использовать для построения разностного треугольника. Следовательно, можно построить k0=4 разностных треугольника и четыре ССК с , с J=4 и с с J=5, разбив данное множество на три подмножества.

 Отметим, что с использованием теории совершенных разностных множеств были рассчитаны и табулированы показатели степеней ненулевых членов порождающих полиномов ССК с   для J=2…16.

 



Дата: 2018-12-28, просмотров: 289.