ZH2Qxw9SGq
.pdfНа правах рукописи
Данг Ким Нгок
ИССЛЕДОВАНИЕ МЕТОДОВ ПОИСКА ОПТИМАЛЬНЫХ СВЕРТОЧНЫХ И ПЕРФОРИРОВАННЫХ СВЕРТОЧНЫХ КОДОВ
Специальность: 05.12.04 – Радиотехника, в том числе системы и устройства телевидения
АВТОРЕФЕРАТ
диссертации на соискание ученой степени кандидата технических наук
Санкт-Петербург – 2014
Работа выполнена в федеральном государственном автономном образовательном учреждении высшего образования «Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В.И. Ульянова (Ленина)» на кафедре радиотехнических систем
Научный руководитель – кандидат технических наук, доцент Смирнов Виктор Николаевич
Официальные оппоненты:
Колесов Николай Викторович д.т.н., профессор, главный научный сотрудник ОАО «Концерн Электроприбор».
Шехунова Наталия Александровна, к.т.н., профессор, Санкт-Петербургский государственный университет аэрокосмического приборостроения (СПбГУАП).
Ведущая организация: Санкт-Петербургский государственный университет телекоммуникаций им. проф. Бонч-Бруевича.
Защита состоится «04» февраля 2015 г. в 1400 час. на заседании диссертационного совета Д 212.238.03 Санкт-Петербургского государственного электротехнического университета «ЛЭТИ» им. В.И. Ульянова (Ленина) по адресу: 197376, Санкт-Петербург, ул. Проф. Попова, 5.
С диссертацией можно ознакомиться в библиотеке университета на сайте СПБ ГЭТУ www.eltech.ru.
Автореферат разослан «03» декабря 2014 г.
Ученый секретарь |
|
Диссертационного совета Д 212.238.03, |
|
к.т.н., доцент |
_____________Шевченко М.Е. |
|
2 |
ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ
Актуальность работы. Помехоустойчивое кодирование является очень важной функцией цифровых систем связи. Высокое качество передачи информации обеспечивается за счет коррекции ошибок, возникающих в канале связи из-за помех. Сверточные коды обладают высокой помехоустойчивостью и быстрым декодированием. Они широко используются, например, в мобильных системах связи, в системах спутниковой связи, в цифровом телевидении DVB и т.д. Поэтому поиск оптимальных сверточных кодов является потребностью практики.
В зависимости от требуемой коррекции ошибок применяются сверточные коды с разными скоростями и кодовыми ограничениями. Существует несколько методов поиска сверточных кодов по разным критериям МСР, ПОР, СОР и вероятности битовой ошибки. Для сравнения и оценки качества сверточных кодов используется вероятность битовой ошибки. Эффективность кода тем выше, чем меньше эта вероятность. Актуальным является исследование методов поиска оптимальных сверточных и перфорированных сверточных кодов.
Методы исследования: теоретические исследования осуществлялись с использованием методов машинного моделирования алгоритмов декодирования.
Целью диссертационной работы является поиск оптимальных сверточных и перфорированных сверточных кодов, обладающих высокой помехоустойчивостью. Для достижения заявленной цели в работе решаются следующие задачи:
анализ существующих методов поиска оптимальных сверточных и перфорированных сверточных кодов;
построение алгоритмов и программ поиска оптимальных сверточных и перфорированных сверточных кодов;
поиск оптимальных сверточных кодов по вероятности битовой ошибки, определяемой с помощью симуляции;
поиск оптимальных сверточных кодов по верхней границе вероятности битовой ошибки на основе усечѐнной передаточной функции;
поиск оптимальных перфорированных сверточных кодов с помощью симуляции.
Научная новизна работы заключается в следующем.
Найдены новые оптимальные сверточные и перфорированные сверточные коды, обладающие высокой помехоустойчивостью. Определены диапазоны отношения сигнал/шум, в которых новые коды превосходят известные.
Практическая значимость.
1. Расширен список оптимальных сверточных и перфорированных сверточных кодов, что позволяет строить цифровые системы связи, адаптируемые к изменяющимся условиям передачи.
3
2. Созданы и отлажены программы оценки эффективности произвольных сверточных и перфорированных сверточных кодов.
Научные положения, выносимые на защиту:
1.Оценка вероятности битовой ошибки является основным инструментом при поиске оптимальных сверточных и перфорированных сверточных кодов.
2.Верхняя граница вероятности битовой ошибки позволяет с высокой достоверностью определять помехоустойчивость сверточных кодов.
Апробация работы. Результаты работы докладывались и обсуждались на 67-69-й научных сессиях, посвященных Дню радио (СПб, 2012, 2013, 2014); на 67-й конференции профессорско-преподавательского состава СПбГЭТУ «ЛЭТИ» (СПб, 2014); на научно-технической школе-семенаре «Инфокоммуникационные технологии в цифровом мире» СПбГЭТУ «ЛЭТИ»
(СПб, 2012).
Достоверность результатов исследования. Достоверность результатов диссертационной работы подтверждается применением машинного моделирования при достаточно больших объѐмах выборок.
Публикации. Основные теоретические и практические результаты диссертации опубликованы в 8-ми работах из которых 3 работы – в ведущих рецензируемых изданиях, рекомендуемых в действующем перечне ВАК, 5 работ – в материалах научно-технических конференций.
Структура и объем диссертации. Диссертация состоит из введения, четырех глав с выводами по каждой из них, заключения, списка литературы, включающего 51 наименование. Основная часть работы изложена на 124 страницах машинописного текста. Работа содержит 38 рисунков, 41 таблицу и приложение общим объемом 9 страниц.
ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ
Во введении дано обоснование актуальности темы диссертационного исследования, сформулированы цели и задачи работы, ее научная новизна и практическая значимость, представлены научные положения, выносимые на защиту.
Впервой главе дается общий обзор методов канального кодирования. Представлена классификация помехоустойчивых линейных непрерывных и блоковых кодов.
Рассматриваются структуры и параметры сверточных и перфорированных сверточных кодов. Кодовое слово сверточного кода формируется при прохождении передаваемой информационной последовательности через линейный сдвигающий регистр с конечным числом разрядов. В общем случае регистр сдвига состоит из K ячеек (K – кодовое ограничение). Каждая ячейка содержит k разрядов, данные из которых поступают на n вычислителей символов кодового слова.
Вданной работе рассматриваются коды при k 1, что устанавливает скорость материнского кода 1n . С помощью перфорирования формируются
коды с разными скоростями.
4
Способы задания сверточного кода соответствуют способам задания линейного подпространства. Чаще всего сверточных кодов задаются с помощью порождающей матрицы, передаточной функции и кодовой решетки. Кодовое слово высчитывается по формуле:
|
|
V UG , |
(1) |
|
где |
U u1,u2 ,...,ui ,... - |
входная информационная последовательность, |
G |
- |
порождающая матрица сверточного кода. |
|
|
||
|
Для сверточного кода со скоростью 1/n порождающая матрица |
|
|
|
|
|
G [G1,G2 ,...,Gn ], |
(2) |
|
где |
Gj [g j1, g j 2 ,..., g jK ] |
- порождающая подматрица j 1 n ; g j1, g j 2 ,..., g jK |
- |
двоичные символы «0» или «1». Элементы выходной последовательности vij вычисляются:
vij ui g j1 ui 1g j 2 ... ui K g jK . |
(3) |
Передаточная функция (весовой перечислитель) является функцией, описывающей дистанционный спектр сверточного кода. В общем случае передаточная функция
|
|
T D, N ad N fd Dd , |
(5) |
d dCB |
|
где dCB - свободное расстояние кода; ad - число путей с расстоянием d ; N |
- вес |
входной информационной последовательности, соответствующей переходу
состояния кодера; fd - |
вес информационного слова; D - |
вес |
выходной |
|||||||||
последовательности, соответствующей переходу состояния кодера. |
|
|||||||||||
Для оценки эффективности кода используется верхняя граница |
||||||||||||
вероятности битовой ошибки, связанная с передаточной функцией, |
|
|||||||||||
|
|
dT D, |
N |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
Pb |
|
|
|
cd Dd |
|
Eb , |
|
(6) |
||||
dN |
|
|
|
|
R |
|
||||||
|
|
|
|
|
N 1 |
d dCB |
N0 |
|
|
|
||
|
|
|
|
|
|
D e |
|
|
|
|
||
где cd - число битовых |
ошибок |
для |
путей с |
расстоянием |
d; R |
- скорость |
кодирования; Eb - энергия бита; N0 - спектральная плотность мощности шума.
Точное вычисление верхней границы требует больших временных затрат. Поэтому рассматривается расчет верхней границы по усеченной передаточной
функции сверточного кода при учете путей с расстояниями d dCB , |
dCB 1, …, |
|||
dCB Lус . При этом выражения (5), (6) преобразуются к виду: |
|
|||
dCB Lус |
|
|
|
|
T D ad Dd ; |
(7) |
|||
d dCB |
|
|
|
|
dCB Lус |
|
|
|
|
|
|
|
|
|
Pb cd Dd |
|
E , |
(8) |
|
d dCB |
R |
b |
|
|
N0 |
|
|
||
|
D e |
|
где Lус - число учитываемых слагаемых передаточной функции. Установлено, что погрешность вычисления по формуле (8) приемлема, если Lус 10 .
Рассматривается перфорирование сверточных кодов, как способ увеличения скорости кода. Перфорированный сверточный код (ПСК) создается
5
удалением некоторых битов из слов материнского сверточного кода. Обычно материнские сверточные коды для перфорирования являются хорошими кодами с низкими скоростями 1/2, 1/3 или 1/4. С помощью разных векторов перфорирования создаются перфорированные сверточные коды с высокими скоростями, например 2/3, 3/4... 7/8. Эффективности перфорированных сверточных кодов зависит не только от характеристик материнских кодов, но и от вектора перфорирования.
В первой главе диссертации рассмотрены также методы декодирования сверточного кода: декодирование Витерби и алгоритм последовательного декодирования. Проведенные исследования выполнены в предположении реализации алгоритма Витерби с мягким решением.
Во второй главе описаны критерии поиска оптимальных сверточных кодов. Для поиска хороших сверточных кодов используются следующие критерии: поиск по максимальному свободному расстоянию (МСР), поиск по профилю оптимального расстояния (ПОР), поиск по спектру оптимального расстояния (СОР) и поиск по вероятности битовой ошибки Pb . Рассмотрен
критерий СОР, обеспечивающий поиск кодов высокой эффективности.
Спектр сверточного кода определяется множествами {ad } , cd и
свободным расстоянием dCB |
в формулах (5), (6). |
|
|
||||
По критерию СОР сверточный код |
C(G1,G2 ,...Gn ) |
с параметрами dCB , cd |
|||||
лучше другого кода |
|
|
|
|
|
, если удовлетворяются |
|
C(G1 |
,G2 |
,...,Gn ) с параметрами dCB , |
cd |
||||
условия: |
|
|
|
|
|
|
|
1. dCB dCB |
или |
|
|
|
|
|
|
|
|
|
|
|
при изменении расстояния от d dCB |
||
2. dCB dCB |
и cd cd |
при d dCB или cd cd |
|||||
до d dCB 1, и cd |
cd при d dCB , где - целое 0 . |
||||||
|
|
|
|
|
|
|
|
Результаты поиска хороших сверточных кодов со скоростями 1/2, 1/3, 1/4 и с кодовыми ограничениями K 3,...,11 по критерию СОР показаны в таблице 1, где символы (*) и (**) указывают на совпадение найденных кодов с кодами, оптимальными по критериям МСР и ПОР.
Таблица 1 - Хорошие сверточные коды по критерию СОР
K |
Код со скоростью 1/2 |
Код со скоростью 1/3 |
Код со скоростью 1/4 |
3 |
C(5,7) (*), (**) |
C(5,7,7) (*), (**) |
C(5,5,7,7) (*) |
4 |
C(15,17) (*) |
C(13,15,17) (*), (**) |
C(13,15,15,17) (*) |
5 |
C(23,35) (*), (**) |
C(25,33,37) (*), (**) |
C(25,27,33,37) (*) |
6 |
C(53,75) (*) |
C(47,53,75) (*), (**) |
C(51,55,67,77) |
7 |
C(133,171) (*) |
C(133,165,171) |
C(117,127,155,171) |
8 |
C(247,371) (*) |
C(225,331,367) (*) |
C(231,273,327,375) |
9 |
C(561,753) (*) |
C(575,623,727) |
C(473,513,671,765) |
10 |
C(1151,1753) |
C(1233,1375,1671) |
C(1173,1325,1467,1751) |
11 |
C(3345,3613) |
C(2335,2531,3477) |
C(2565,2747,3311,3723) |
Критерий СОР анализирует часть спектра кода. Поэтому возможно существование кодов, помехоустойчивость которых выше, чем у кода,
6
оптимального по критерию СОР. Найдена пара кодов C(53,75) C(51,77) подтверждающая это положение. Спектры этих кодов с ограничением K 6 показаны в таблице 2.
Таблица 2 - Спектры кодов C(51,77), С(53,75)
|
K |
|
Код |
dCB |
|
(ad, d= dCB, dCB +1, …, dCB +10) |
|
|
|
|
|
|
|
|
|||||||||
|
|
|
[cd , d= dCB, dCB +1, …, dCB +10] |
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
6 |
|
C(51,77) |
8 |
|
(2, 3, 8, 15, 41, 90, 224, 515, 1239, 2896, 6879) |
|
|
|
|
|
||||||||||||
|
|
|
[4, 11, 36, 83, 250, 630, 1776, 4531, 11982, 30474, 78492] |
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
6 |
|
C(53,75) |
8 |
|
(1, 8, 7, 12, 48, 95, 281, 605, 1272, 3334, 7615) |
|
|
|
|
|
||||||||||||
|
|
|
[2, 36, 32, 62, 332, 701, 2342, 5503, 12506, 36234, 88576] |
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
По критерию СОР код C(53,75) лучше, |
потому что при равенстве dCB 8 |
|||||||||||||||||||
двух |
|
кодов первое слагаемое cd |
спектра |
кода |
C(53,75) меньше |
первого |
|||||||||||||||||
слагаемого кода C(51,77). Однако при |
d dCB 1 |
второе |
слагаемое |
cd |
кода |
||||||||||||||||||
C(51,77) значительно меньше второго слагаемого кода C(53,75). Критерий |
|||||||||||||||||||||||
поиска СОР не учитывает эти отличия. |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
Для сравнения помехоустойчивости этих кодов рассчитаны верхние |
||||||||||||||||||||
границы вероятности битовой ошибки. Откуда следует, что код C(53,75) |
|||||||||||||||||||||||
является |
лучшим в |
|
диапазоне |
E |
N |
0 |
7 дБ |
или |
при |
P 6.34 10 9 . |
При |
||||||||||||
|
|
|
|
|
|
|
|
|
|
b |
|
|
|
|
|
|
|
b |
|
|
|
|
|
вероятности P 6.34 10 9 код C(51,77) лучше кода C(53,75). |
|
|
|
|
|
||||||||||||||||||
|
|
|
|
b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Другим примером несовершенства критерия СОР могут служить коды |
||||||||||||||||||||
C(2153,3705) и C(3345,3613) с ограничением K 11. Код C(3345,3613) является |
|||||||||||||||||||||||
лучшим по критерию СОР. Показано, |
что |
|
при |
|
отношении |
Eb N0 7,65 дБ |
|||||||||||||||||
значения верхней границы кода C(2153,3705) всегда меньше значений верхней |
|||||||||||||||||||||||
границы кода C(3345,3613). А при отношении Eb N0 |
7,65 дБ код C(3345,3613) |
||||||||||||||||||||||
характеризуется меньшими значениями вероятности битовой ошибки. |
|
|
|
||||||||||||||||||||
|
|
На практике сверточные коды и ПСК используются в определенном |
|||||||||||||||||||||
диапазоне |
отношений |
Eb N0 |
при |
заданной |
достоверности |
декодирования |
|||||||||||||||||
(вероятности Pb ). Например, критерий цифрового |
телевидения |
DVB - |
|||||||||||||||||||||
Вьетнамский стандарт цифрового телевидения DVB - S требует обеспечить |
|||||||||||||||||||||||
вероятность битовой ошибки |
P 2 10 4 , а стандарт DVB - S2 P 2 10 7 . В |
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
b |
|
|
|
|
|
|
|
|
|
|
b |
|
|
|
европейском стандарте DVB требуется вероятность битовой ошибки |
P от 10-3 |
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b |
|
|
до 10-7. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
В третьей главе описаны созданные алгоритмы и программы поиска |
|||||||||||||||||||||
оптимальных сверточных кодов и ПСК. |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
Блок-схема программы поиска оптимальных сверточных кодов и ПСК |
||||||||||||||||||||
показана на рисунке 1, где выделены |
блоки «Вычисление Pb по верхней |
||||||||||||||||||||||
границе» и «Вычисление Pb симуляцией SIMULINK». |
Стрелки со штриховой |
линией указывают на выбор только одного из двух методов. Результаты вычислений сохраняются в базе данных и показываются на мониторе.
7
Интерфейс пользователя
Вычисление Pb |
|
|
|
|
Вычисление Pb |
||
Входные данные |
|||||||
по верхней |
|
|
|
|
симуляцией |
||
|
|
|
|
||||
границе |
|
|
|
|
SIMULINK |
||
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Сравнение, выбор |
|
|
|
|
|
|
|
оптимальных кодов |
|
|
|
|
|
|
|
|
|
|
|
Платформа MATLAB
База данных |
Отображение результатов |
|
|
|
на мониторе |
|
|
Рисунок 1 - Блок-схема программы поиска оптимальных кодов
Алгоритмы поиска оптимальных сверточных кодов и ПСК показаны на рисунках 2 и 3.
Входными данными программы являются: кодовое ограничение K, скорость кодирования R, интервал значений вероятности битовой ошибки. По заданному кодовому ограничению K определяется множество возможных сверточных кодов M. Например, для скорости 1/2 множество возможных сверточных кодов содержит M 3(22K 3 2K 2 ) кодов. Чтобы ускорить поиск хороших кодов, из этого множества исключаются катастрофические и эквивалентные коды.
Программы поиска оптимальных сверточных кодов и ПСК описаны в среде MATLAB. Метод поиска основан на вычислении вероятности битовой ошибки Pb симуляцией или по верхней границе. Оптимальный код является
кодом, имеющим минимальную вероятность Pb .
Программа поиска оптимальных сверточных кодов по верхней границе вероятности битовой ошибки использует дополнительные функции, например функция вычисления весового спектра и верхней границы вероятности битовой ошибки.
8
Программа поиска ПСК по вероятности битовой ошибки реализуется симуляцией. Входными данными являются списки хороших сверточных кодов и векторов перфорирования. Число возможных векторов перфорирования зависит от скорости материнского кода и скорости ПСК. Допустим скорость материнского кода 1/n, скорость ПСК r/(r+1) тогда число возможных векторов
|
nr |
|
|
(nr)! |
|
|
соответствует сочетанию |
|
|
|
|
. |
|
|
|
|
||||
r 1 |
|
(r 1)!(nr r 1)! |
|
Начало
Задание параметров:
-кодового ограничения K;
-интервала значений вероятности
ошибок на бит P |
P |
; |
b min |
b max |
|
- скорость кодирования R.
Выбор кода из множества кодов, обладающих заданным кодовым ограничением
Выбранный код эквивалентен коду, Да ранее внесенному
в список?
Нет
Оценка Pb
P P Нет
b bmax
Да
Внесение в список кода и значения Pb
Переупорядочивание списка по значениям Pb
Проанализированы |
Нет |
все возможные коды? |
|
|
Да
Формирование списка отобранных кодов и их параметров
Конец
Рисунок 2 - Алгоритм поиска оптимальных сверточных кодов
Начало
Ввод параметров:
-списка предварительно отобранных материнских кодов;
-скорость кодирования R;
-начальное значение вероятности минимальной ошибки на бит для перфорированных кодов
Pb п min ;
- списка векторов перфорирования.
Выбор материнского кода
Выбор вектора перфорирования
Перфорирование
Оценка Pb п
Pb п Pb п min ? |
Нет |
|
|
|
Да |
|
||
|
|
|
|
|
|
|
P |
P |
|
|
|
|
b п |
b п min |
|
|
|
|
|
|
|||
|
Зафиксировать |
|
|
||
вектор перфорирования |
|
|
|||
Проверены все векторы |
Нет |
||||
|
|||||
перфорирования? |
|
||||
|
|
Да |
|
||
|
Проверены все |
Нет |
|||
материнские коды? |
|
Да
Зафиксировать код и вектор перфорирования, характеризующиеся Pb п min
|
Конец |
|
Рисунок 3 - Алгоритм поиска |
9 |
оптимальных ПСК |
В четвертой главе описаны результаты поиска оптимальных сверточных кодов и ПСК. Проведена оценка эффективности новых найденных кодов.
Результаты поиска оптимальных сверточных кодов с помощью симуляции показаны в таблицах 3, 4.
Таблица 3 - Оптимальные сверточные коды со скоростью 1/2, найденные симуляцией
K |
Код |
Диапазон Eb/N0, дБ |
Комментарий |
|
|
Не более |
Не менее |
|
|||
|
|
|
|
||
3 |
C(5,7) |
8 |
- |
Лучший по критериям МСР, |
ПОР, СОР |
4 |
C(15,17) |
6 |
3,5 |
Лучший по критериям МСР, |
СОР |
5 |
C(23,35) |
6 |
4 |
Лучший по критериям МСР, |
ПОР, СОР |
6 |
C(51,77) |
5,5 |
4 |
Новый |
|
7 |
C(133,171) |
5 |
3,5 |
Лучший по критериям МСР, |
СОР |
8 |
C(225,367) |
4,5 |
- |
Новый |
|
C(255,363) |
- |
4,5 |
|
||
|
|
|
|||
9 |
C(523,731) |
4,5 |
2 |
Новый |
|
Таблица 4 - Оптимальные сверточные коды со скоростью 1/3, найденные симуляцией
K |
Код |
Диапазон Eb/N0, дБ |
Комментарий |
||
Не более |
Не менее |
||||
|
|
|
|||
3 |
C(5,7,7) |
7,5 |
5 |
Лучший по критериям МСР, ПОР, СОР |
|
4 |
C(13,15,17) |
6 |
4,5 |
Лучший по критериям МСР, ПОР, СОР |
|
5 |
C(27,31,35) |
5,5 |
4 |
Новый |
|
6 |
C(43,55,75) |
5 |
3 |
Новый |
|
7 |
C(133,145,171) |
4,5 |
2,5 |
Новый |
|
8 |
C(225,331,367) |
4,5 |
2,5 |
Лучший по критериям МСР, СОР |
Видно, что некоторые найденные коды совпадают с известными, лучшими по критериям МСР, ПОР, СОР. Это служит доказательством работоспособности созданных программ поиска.
В определенном диапазоне Eb N0 найдены сверточные коды, обладающие более высокой помехоустойчивостью, чем известные. Например, код C(51,77) с
ограничением K 6 при отношении Eb N0 |
от 4 дБ до 5,5 дБ или код C(523,731) |
с ограничением K 9 , при отношении |
Eb N0 от 2 дБ до 4,5 дБ имеет |
наименьшую вероятность битовой ошибки. Аналогичные выводы справедливы для других кодов, показанных в таблицах 3 и 4.
На рисунке 4 приведены зависимости вероятности Pb от отношения Eb N0 , построенные с помощью симуляции нескольких найденных и известных кодов.
10