Компьютерные инструменты в образовании, 2017 № 1:30-37 УДК: 519.725.3 http://ipo.spb.ru/journal
ПРОГРАММА ДЛЯ ОПРЕДЕЛЕНИЯ АСИМПТОТИЧЕСКОЙ ЭФФЕКТИВНОСТИ СВЕРТОЧНЫХ КОДОВ
Чернецова Е.А.1
1 РГГМУ, Санкт-Петербрг, Россия
Аннотация
Рассматривается программа для определения асимптотической эффективности сверточных кодов, моделирующая прохождение текстового сообщения по направляемой и ненаправляемой (радиоканал) среде передачи, разработанная с целью обучения студентов принципам формирования и функционирования кодов коррекции ошибок.
Ключевые слова: сверточные коды, эффективность, кодер, моделирование, вероятность ошибки.
Цитирование: Чернецова Е.А. Программа для определения асимптотической эффективности сверточных кодов // Компьютерные инструменты в образовании. 2017. № 1. С. 30-37.
Изучение студентами методов помехоустойчивого кодирования, предусмотренное в рамках дисциплины «Системы и сети передачи информации» [1], сопряжено с определенными трудностями, поэтому ставилась цель создать компьютерный инструмент, который позволил бы облегчить понимание структуры и функционирования сверточных кодов, широко применяемых в настоящее время для коррекции ошибок в системах передачи видеосигналов, в мобильной и спутниковой связи. С помощью данной программы, внедренной в учебный процесс, студентам предлагается оценить асимптотическую эффективность кодеров, структура которых задана в виде порождающих многочленов, а также убедиться в эффективности кодирования «наглядно», промоделировав в пакете Матлаб получение текстового сообщения без применения сверточного кода и с применением сверточного кода для коррекции ошибок.
Сверточные коды — это коды, исправляющие ошибки, которые используют непрерывную или последовательную обработку информации короткими фрагментами (блоками). Сверточный кодер обладает памятью в том смысле, что символы на его выходе зависят не только от очередного фрагмента информационных символов на входе, но и
1. ВВЕДЕНИЕ
2. ТЕОРЕТИЧЕСКИЙ АНАЛИЗ
от предыдущих символов на его входе. Другими словами, кодер представляет собой последовательную машину или автомат с конечным числом состояний. Состояние кодера определяется содержимым его памяти. Под скоростью кода в теории кодирования понимается отношение Я = к/п. Более точное наименование параметра Я — относительная скорость кода, поскольку за единицу времени кодер принимает на вход к информационных разрядов и трансформирует их в п разрядов избыточного кода [10].
Сверточные коды генерируются с помощью регистра сдвига и могут быть описаны с помощью порождающих многочленов. При формировании систематического кода первый из порождающих многочленов в1(Х) = 1, то есть с первого разряда регистра сдвига информационный символ непосредственно поступает в канал. При этом генератор кода в двоичной форме будет соответствовать значению 100...0 с общим числом символов, равным числу разрядов т в сдвигающем регистре. Таким образом, выбор генераторов кода тождественен заданию номеров отводов т-разрядного регистра сдвига [2].
Асимптотическая эффективность кодирования в децибелах относительно некоторой некодированной эталонной системы с аналогичной средней мощностью сигнала и дисперсией шума выражается как отношение расстояний или квадратов расстояний [3]:
где и йэт — евклидов просвет кодированной системы и некодированной эталонной системы.
Просветом называется расстояние Хэмминга между нулевым путем кодера и минимальной длиной пути из числа расходящихся путей кодера.
Просвет данного кода можно вычислить, сосчитав число единиц в его структуре. Например, для кода со скоростью кодирования 2/3 просвет равен 12.
Для оценки возможностей кода коррекции ошибок используется выражение
где t — число ошибок, которое может исправить кодер, ] — оператор округления в меньшую сторону.
Например, код, рассмотренный выше, может исправить пять ошибок. Таким образом, эффективность кодера очень зависит от просвета. Она не может возрастать бесконечно и имеет верхнюю границу, которую (в дБ) можно выразить как
где г — степень кодирования, — просвет.
Например, для кода со скоростью 2/3 ЭК < 10 • ^(2 • 3/12) ~ 9дБ.
При сравнении численных значений эффективности различных кодов, полученных в результате моделирования, студентам предлагается также проверить тот факт, что, в отличие от модуляции PSK при некогерентной ортогональной передаче сигналов, существует оптимальное значение степени кодирования, приблизительно равное 1/2. Надежность передачи при степени кодирования 1/3,2/3 и 3/4 хуже, чем при степени кодирования 1/2. При фиксированной длине кодового ограничения и степени кодирования 1/3, 2/3 или 3/4 качество кодирования, как правило, падает на 0,25, 0,5 и 0,3 дБ, соответственно, по сравнению с достоверностью передачи при степени кодирования 1/2 [4].
в (дБ) = 20 • ^ — или в (дБ) = 20 • ^ йэт
(1)
йг -1
t = —— 2
(2)
ЭК < 10 • )
(3)
3. КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ
Для правильной установки параметров структуры кодера с помощью команды Мат-лаб ро1у2ПШ студентам, получившим задание по моделированию в виде многочленов, необходимо изучить правила преобразования коэффициентов многочлена в структуру кодера [6]. В команде ро1у21те1Ш входной параметр СопБ1гат11е^Ш должен быть вектором-строкой длиной к, указывающим число элементов памяти, используемых для каждого из к входных битов. Входной параметр CodeGenerator должен быть матрицей, имеющей к строк и п столбцов и содержащей восьмеричные числа, описывающие полиномиальную связь между каждым из п бит выходного символа и каждым из к бит входного символа. Для случая кодера с обратной связью в команде ро1у2ПШ используется входной параметр FeedbackConnection, который должен быть вектором-строкой длиной к, содержащим восьмеричные числа, описывающие обратные связи для каждого из к бит входного символа.
Для декодирования сигнала в программе выбран алгоритм декодирования Витерби, важным достоинством которого является то, что когда в результате воздействия шумов в канале связи или по другим причинам при декодировании сделана ошибка в выборе пути на решетчатой диаграмме кода, то есть выбран неправильный путь, то за несколько тактов, в течение которых могут происходить ошибки при декодировании, декодер вновь выходит на правильный путь [7].
При моделировании декодирования по алгоритму Витерби с помощью функции Матлаб vitdec необходимо учитывать, что код способен исправить t ошибок в пределах нескольких длин кодового ограничения (от 3 до 5), поэтому требуется правильно задать параметр Л^п — положительное целое число, задающее глубину просмотра решетки при декодировании. Причем значение параметра Л^п удваивается, если число входных символов кодера равно двум (как, например, в структуре кодера со скоростью 2/3, рассмотренной в [5]). В программе выбрана жесткая схема принятия решения, при которой энергетический выигрыш от применения кодирования снижается примерно на 2 дБ по сравнению с мягкой схемой.
Если используется направляемая среда передачи, то в сообщение, предварительно преобразованное из строкового представления в бинарные символы, добавляется шум с помощью команды randerr. Использование этой команды оправдано, потому что с ее помощью можно предусмотреть появление в каждом символе 1-, 2-, 3-, . . . п-битовых ошибок, появляющихся с различной вероятностью, или не предусматривать ошибок вовсе. Для корректного сравнения полученных на приемном конце некодированного и кодированного сообщений необходимо зашумить сигнал на выходе кодера тем же самым шумом, который использовался для зашумления некодированного сообщения.
При расчете асимптотической эффективности по формуле (1) в программе используется квадратичная метрика, поскольку в реальных микросхемах, предназначенных для сверточного декодирования, евклидово кодовое расстояние не применяется. Вместо него используется монотонная метрика, которая обладает сходными свойствами, но значительно проще в реализации [3]. Примером такой метрики является квадрат евклидова расстояния. В программе метрика йэт представляет собой количество битовых ошибок между принятым некодированным и исходным сообщением, а метрика представляет собой количество битовых ошибок между принятым кодированным и исходным сообщением, которые вычисляются с помощью команды Матлаб Ьиегг.
Для проверки эффективности кода при передаче сообщения по радиоканалу моделируется ортогональная частотная модуляция сообщения с последующей некогерентной демодуляцией. В этом случае шум в сигнал вводится с помощью модели аддитивного гауссовского шума, описанного в [8].
Алгоритм программы представлен на рис. 1.
Задание структур** кВДЕрэв
Рис. 1. Алгоритм программы для определения асимптотической эффективности сверточных кодеров
4. РЕЗУЛЬТАТЫ ОПРЕДЕЛЕНИЯ АСИМПТОТИЧЕСКОЙ ЭФФЕКТИВНОСТИ
СВЕРТОЧНЫХ КОДОВ
Для определения асимптотической эффективности сверточных кодов были выбраны три кода, оптимальные по критерию максимального просвета при данной степени кодирования и длине кодового ограничения [9]. Четвертым сравниваемым кодом был выбран код со скоростью 2/3. Все эти коды имеют одинаковое значение просвета, равное 10. На рис. 2 представлен результат работы программы при определении эффективности четырех сверточных кодов для случая появления двухбитовой ошибки в каждом символе с вероятностью 1.
^ii) New to MATLAB? Watch this Vbdeo. see Examptes, o( read Getting Started,
Исходное сообщение
Свёрючный код является частным случаем древовидных и решетчатых кодов. Полученное некодированное сообщение
двг2ш0йтз ;SflÄOJi,HV_CH*H¥bbH§K5ÄsDyU6M"Äl)fci ЮкндкггечащнЁПеУЗВУМкоК. jOÖ
Полученное сообщение при коррекции ошибок кодером trell= poly2trellis {7, [133 171]}; Свёрточныи код является частныд случаем древовидну г8 решжВчатых кодов. Полученное сообщение при коррекции ошибок кодерам trel2 — poly2trellis{8,[247 371 ]); Свёрточныи код является частным случаем древовид&1^>сг1раСКчатых кодов.
Полученное сообщение при коррекции ошибок кодером trel3 = poly2trell±s(4,[ 17 13 15]}; Свёрточныи код является частным случаем древовидных и решетчатых кодов.
Полученное сообщение при коррекции ошибок кодером trel4 — poly2trellis([5 4],[27 33 0; 0 15 13]} ' I _ д' (E-^Qjüa BDg ^¿eA®EDp'vcLisJäDDEiEgH.D p4j™ ö _]AÖimueügüe _ t:" Gj] jü^üjg
Эффективность (в дБ) кода (7, [117 155]) 9.5424
Эффективность(в дЕ)кода <8, [237 345]) 3. 8 021
Эффективность(в дБ)кода (4,[ 17 13 153) Inf
Эффективность(в дБ)кода ([5 4],[27 33 0; 0 15 13]) -4.3492
Рис. 2. Вид командного окна Матлаб при выполнении программы
Кроме информации об эффективности кодов, результат выполнения программы дает наглядное представление о возможностях разных кодов по исправлению ошибок в текстовом сообщении.
В табл. 1 представлены результаты определения асимптотической эффективности кодов (7, [117 155]), (8, [237 345]), (4, [17 13 15]), ([5 4], [27 33 0; 0 15 13]) для случая появления в каждом символе исходного сообщения с вероятностью 1-битовой либо 2-битовой, либо 3-битовой, либо 4-битовой, либо 5-битовой ошибки. Как можно видеть, наилучшей эффективностью обладает код (4, [17 13 15]) со скоростью кодирования 1/3, а наихудшей — код ([5 4], [27 33 0; 0 1513]) со скоростью кодирования 2/3.
В табл. 2 показаны значения эффективности кодирования для кода ([5 4], [27 33 0; 0 15 13]), полученные при условии появления либо 1-битовой, либо 2-битовой, либо 3-битовой, либо 4-битовой, либо 5-битовой ошибки в каждом бинарном символе исходного сообщения с вероятностью 0,1. Таким образом, можно заключить, что код ([5 4], [27 33 0; 0 15 13]) пригоден для кодирования сообщения в щадящей помеховой обстановке.
Таблица 1. Определение асимптотической эффективности кодов
Гарантированное появление в каждом символе сообщения 2-битовой ошибки 3-битовой ошибки 4-битовой ошибки 5-битовой ошибки
Выигрыш, дБ, для кода (7, [117 155]) 8,50 0,60 -1,00 -0,20
Выигрыш, дБ, для кода (8, [ 237 345]) 7,00 0,70 -1,15 -0,05
Выигрыш, дБ, для кода (4, [ 17 13 15]) те те те 12,00
Выигрыш, дБ, для кода ([5 4], [27 33 0; 0 5 13]) -4,30 -0,90 -1,40 -0,30
Таблица 2. Определение асимптотической эффективности кода ([5 4], [27 33 0; 0 5 13])
Появление в каждом символе сообщения с вероятностью 0,1 1-битовой ошибки 2-битовой ошибки 3-битовой ошибки 4-битовой ошибки 5-битовой ошибки
Выигрыш, дБ, для кода ([5 4], [27 33 0; 0 5 13]) те 3,98 3,2 3,0 2,1
В табл. 3 показаны полученные значения асимптотической эффективности кодов при передаче сообщения по радиоканалу с использованием ортогональной многочастотной манипуляции и некогерентной демодуляции на приемнике.
Таблица 3. Определение асимптотической эффективности кодов при применении некогерентной демодуляции
Еь/N0, дБ 15 10 8 7 6 5 3
Выигрыш, дБ, для кода (7, [117 155]) 0,00 те те 2,7 1,1
Выигрыш, дБ, для кода (8, [237 345]) 0,00 те те 4,3 0,9
Выигрыш, дБ, для кода (4, [17 13 15]) 0,00 те те 10 7 5 0
5. ВЫВОДЫ
Разработанная в пакете Матлаб программа для определения асимптотической эффективности сверточных кодов, моделирующая прохождение текстового сообщения по направляемой и ненаправляемой (радиоканал) среде передачи, позволяет, во-первых, облегчить студентам понимание способа задания сверточных кодов с помощью порождающих многочленов, во-вторых, наглядно продемонстрировать способность различных кодов исправлять ошибки, в-третьих, открывает возможности для научно-исследовательской работы студентов. С помощью данной программы можно, например, исследовать эффективность новых кодов, таких как, например, полученные в работе [11]. Кроме этого, изменение программного кода с учетом конкретного задания позволяет студентам практиковаться в программировании в среде Матлаб, которая является одной из самых широко применяемых сред для решения различных инженерных задач.
Полученные с помощью компьютерного моделирования значения асимптотической эффективности сверточных кодов при некогерентной демодуляции ортогональных сиг-
Chernetsova E.A.
налов FSK показывают, что при изменении скорости кода с 1/2 на 1/3 не только не ухудшается качество кодирования, но улучшается прием зашумленного сигнала. Тогда как изменение скорости кода с 1/n на k/п существенно влияет на изменение асимптотической эффективности кода в сторону ее уменьшения.
Список литературы
1. Сборник примерных программ учебных дисциплин по направлению подготовки (специальности) 090302 «Информационная безопасность телекоммуникационных систем» (квалификация (степень) «специалист») / сост. Белов Е.Б. М.: МГУПИ, 2011.
2. Никитин Г.И. Сверточные коды: Учеб. пособие. СПб.: СПбГУАП, 2001.
3. Бернард Скляр. Цифровая связь. Теоретические основы и практическое применение. М.: Ви-льямс, 2016.
4. Кларк Дж., КейнДж. Кодирование с исправлением ошибок в системах цифровой связи: Пер. с англ. М.: Радио и связь, 1987.
5. Sneha Bawane V.V. Gohokar Simulation of convolutional encoder // International Journal of Research in Engineering and Technology. Vol.3. Issue 3. Mar., 2014. P. 557-561.
6. Список функций CommunicationsToolbox: Утилиты. [Электронный ресурс] Режим доступа: http://matlab.exponenta.ru/communication/book2 (дата обращения: 20.12.2016).
7. Вишневский В.М., Портной С.Л., Шахнович И.В. Энциклопедия WiMAX. Путь к 4G. М.: Техносфера, 2009.
8. Прокис Дж. Цифровая связь. Пер. с англ. / Под ред. Д.Д. Кловского. М.: Радио и связь, 2000.
9. Pal Frenger. Pal Orten and Tony Ottosson. Convolutional codes with Optimum Distance Spectrum // IEEE Communications letters. Vol. 3, № 11. November 1999. P. 317-319.
10. Гладких А.А. Основы теории мягкого декодирования избыточных кодов в стирающем канале связи. Ульяновск: УлГТУ, 2010.
11. Данг КимНгок. Исследование методов поиска оптимальных сверточных и перфорированных сверточных кодов / Диссертация на соискание ученой степени кандидата технических наук. СПб.: ЛЭТИ, 2014.
Поступила в редакцию 29.12.2016, окончательный вариант — 30.01.2017.
Computer tools in education, 2017 № 1: 30-37
http://ipo.spb.ru/journal
A PROGRAM TO DETERMINE THE ASYMPTOTIC EFFICIENCY OF CONVOLUTIONAL CODES
Chernetsova E.A.1 1RSHU, Saint-Petersburg, Russia
Abstract
A program to determine the asymptotic efficiency of convolution codes, simulating the passage of a text message on guided and unguided (radio) transmission medium is considered. The program was designed for the purpose of teaching students the principles of formation and functioning of error correction codes.
Keywords: convolutional codes, efficiency, encoder simulation, the probability of error.
Citation: Chernetsova, E., 2017. "Programma dlya opredeleniya asimptoticheskoi effektivnosti svertochnykh kodov" ["A Program to Determine the Asymptotic Efficiency of Convolutional Codes"], Computer tools in education, no. 1, pp. 30-37.
Received29.12.2016, the final version — 30.01.2017.
Elena A. Chernetsova, PhD, assistant professor of information technology and security systems department of Russian State Hydrometeorology University; 195196, Saint-Petersburg, Metallistov prospect, 3, Department of Information Technologies and Security Systems, [email protected]
Чернецова Елена Анатольевна, кандидат технических наук, доцент кафедры информационных технологий и систем безопасности Российского государственного гидрометеорологического университета; 195196, Санкт-Петербург, пр. Металлистов, д. 3, кафедра Информационных Технологий и Систем Безопасности, [email protected]
© Наши авторы, 2017. Our authors, 2017.