УДК 621.396.4, 519.876.5
Повышение помехоустойчивости OFDM модема в канале с замираниями
Машкин А.И., Машкин И.В, Шаптала В.С.
Аннотация: В статье ставятся задачи программной реализации кодов Рида-Соломона на языке программирования American national standards institute C/C++ и разработки системы поиска оптимального положения слота. Целью работы является получение графиков Bit Error Rate для OFDM модема с блоком помехоустойчивого кодирования Рида-Соломона, для каналов с аддитивным белым гауссовским шумом и трех каналов из рекомендации F.1487: Good, Moderate и Poor channel. При моделировании используются методы кроссплатформенного программирования и цифровой обработки сигналов. Новизна обсуждаемого решения состоит в программной реализации кодов Рида-Соломона, способных работать в полях Галуа GF (8) - GF (1024). К результатам работы следует отнести графики помехоустойчивости разрабатываемого модема, а также программное обеспечение кодера и декодера Рида-Соломона. Практическая значимость работы заключается в возможности кроссплатформенного использования программного обеспечения кодов Рида-Соломона произвольной длины в полях Галуа GF (8) - GF (1024).
Ключевые слова: коды Рида-Соломона; помехоустойчивость; цифровая обработка сигналов.
Введение
При передаче данных в радиоканале коротковолнового (КВ) диапазона из-за наличия шумов и помех существует вероятность искажения передаваемых символов. Для обнаружения и/или исправления некоторых из возникающих ошибок используется помехоустойчивое (канальное) кодирование.
В канале с замираниями пакетные ошибки могут образовываться столь часто, что исправить их с помощью кодов, исправляющих одиночные ошибки, не представляется возможным. В качестве решения данной проблемы могут быть использованы коды Рида-Соломона (РС), обладающие оптимальным соотношением между скоростью кодирования и исправляющей способностью среди всех не двоичных кодов, той же длины и скорости, вследствие чего получившие широкое применение в современных информационных системах [1].
В статье рассматривается программная реализация кодов РС на языке American national standards institute (ANSI) C/C++, система поиска оптимального положения слота, а также анализ графиков помехоустойчивости OFDM модема с блоком кода РС.
Общие сведения о кодах Рида-Соломона
Коды Рида-Соломона - помехоустойчивые коды, относящиеся к классу блоковых циклических кодов. Для описания кодов PC будем использовать устоявшуюся терминологию, а именно: п - длина кодированного блока, к - длина информационного сообщения, d - минимальное кодовое расстояние.
Коды PC являются оптимальными по критерию расстояния среди всех 2F" (т > 1) кодов той же длины и скорости, т. к. лежат на границе Синглтона [1]:
Известно, что код может исправлять до t ошибок, если выполняется неравенство:
d > 21 +1 . (2)
Согласно (2), при заданном кодовом расстоянии d, код может исправить до t ошибок. Исправляющая способность кода вычисляется по формуле:
■ (3)
Квадратными скобками здесь обозначено выделение целой части числа. Подстановка (1) в (3) позволяет получить формулу, связывающую и исправляющую способность кода и параметры кода РС:
Гп — к'
t -
(4)
Таким образом, исправляющая способность зависит от числа введенных избыточных символов т = п- к. Чем больше это расстояние, тем больше ошибок может исправить код.
Длина кодированного блока зависит от используемого поля Галуа, следующим образом: п = 2т — 1, где, т - это степень расширения поля Галуа СгР(2'п~).
Кодер Рида-Соломона
Кодирование Рида-Соломона может быть реализовано в несистематической и систематической форме. В отличие от несистематического кодирования, систематическое обеспечивает наличие информационных символов в кодовом слове. С целью разработки кодов произвольной длины было принято решение осуществлять систематическое кодирование. В этом случае, кодовое слово и (к) может быть получено следующим образом:
!>(*) = + хп~ки{х)то1^д{хУ) ( (5)
где, -ц(.х) - информационный вектор, д(.х) - порождающий многочлен:
•оо-Ц.
Ü+UÍ— I
О + £'),
где, Ь - целое (обычно 0 или 1), е - примитивный элемент поля Галуа.
Алгоритм систематического кодирования описывается следующими шагами:
1). Осуществляется сдвиг информационного полинома и(У) в крайние старшие к разрядов кодового слова путем умножения полинома на
2). Полученный полином хп~ки(х) делится на пораждающий многочлен д(х) для получения остатка от деления. В результате получаем г(х) = л:п~к tí (У) то d (д (У)).
3). Согласно формуле (5) получаем кодовое слово v(_x) [2].
Декодер Рида-Соломона
Для описания алгоритма декодирования обозначим сообщение на входе декодера следующим образом:
г (i) = иСО + |?(д:)г
где, е(х) - полином ошибки.
Алгебраический метод декодирования кодов Рида-Соломона описывается следующими шагами:
1) Первый этап декодирования заключается в вычислении значения принятого полинома Т'ОО в нулях кода (вычисление синдромов S(x)):
где, j = Ъ..Ъ + 2t— 1, Ъ = 0 или Ъ = 1, £J - корни порождающего многочлена
2) Решение ключевого уравнения:
В случае если deg(<j(;t)) > t, где deg - старшая степень полинома, происходит отказ от декодирования и переход к пункту 5.
j - полином локаторов ошибок (его корни являются обратными величинами локаторов искаженных позиций); его степень равна исправляющей способности кода t. Поиск многочлена локаторов ошибок производится с помощью алгоритма Берлекэмпа-Мэсси.
- многочлен значений ошибок degfwC*:)) < deg(cr(;e)) •
3) Отказа от декодирования возвращается информационная часть систематического декодированного Определение множества локаторов ошибок проводится по процедуре Ченя. Если число локаторов ошибок не совпадает со степенью а(х), то отказ и переход к пункту 5.
4) Вычисление значений ошибок и исправление искаженных позиций по алгоритму Форни.
5) Восстановление искаженных информационных символов или выдача отказа декодирования, в случае отсутствия кодового слова, а также количества исправленных ошибок [2].
Программная реализация модема
Разработанное программное обеспечение (ПО) включает набор функций для кодирования/декодирования, а также тестирующий блок, позволяющий моделировать различные («, к) коды Рида-Соломона с последующим прохождением через канал с шумом и декодированием.
API (applicationprogramming interface) проекта включает в себя следующие блоки:
- инициализация параметров кода: int RS_init(int mode, int n, int k, RS* st);
- кодирование: void Encoder (int* message, int* code, RS* st);
- декодирование: unsigned int Decoder (int* code, int* message, RS* st).
Функция инициализации параметров кода устанавливает заданные п,к,mode параметры и на их основе формирует порождающий многочлен (mode - характеристика поля Галуа). Кодер и декодер осуществляют систематическое кодирование и декодирование с возращением числа исправленных ошибок. Количество строк кода на C/C++ - 516.
Система поиска оптимального положения слота
С целью уменьшения вероятности битовой ошибки в канале с замираниями на основе кодов РС разработана система поиска оптимального положения слота (СПОПС) с учетом длительности защитного интервала. Идея алгоритма отображена на рис. 1.
.N-Л
_У-2Л
_¥-3Л
_№4Л
OFDM Модем ei,si
(приемная часть) e2,S2
OFDM Модем
(приемная часть) e3,S3
OFDM Модем
(приемная часть) e4,S4
OFDM Модем
(приемная часть) e5,S5
OFDM Модем
(приемная часть)
S{emin}
Рис. 1. Алгоритм системы поиска оптимального положения слота
Осуществляется прием сигнального слота длительностью Лг = 640 отсчетов. Принятый слот разбивается на 4 части, каждый из которых получен путем сдвига относительного предыдущего на Д=8 отсчетов. Каждый слот демодулируется и декодируется с запоминанием декодированного кодового слова.?; и количества исправленных кодом ошибок е,, / = 1, 2, ..., 5. Выбор наилучшего слова осуществляется по критерию минимума ошибки декодирования
N
Результаты моделирования
Завершающим этапом исследования стало проведение моделирования работы модема с блоком помехоустойчивого кодирования и СПОПС в среде технических расчетов MATLAB.
Параметры модема:
используемая технология - OFDM, ОФМ (относительная фазовая манипуляция) - 2, 4, 8;
количество информационных поднесущих - 44;
интервал ортогональности - 10 мс; защитный интервал - 2,5 мс;
длительность слота Т - 50 мс;
количество посылок в слоте - 4;
количество точек преобразования Фурье - 128, помехоустойчивый код для соответствующих позиционностей модуляции - код Рида-Соломона (26,16), (44,24), (33,23).
Исследуемые каналы: аддитивный белый Гауссовский шум (АБГШ) (AWGN), Good, Moderate и Poor channel.
Количество передаваемых информационных бит во всех экспериментах - не менее 106.
Диапазон отношения сигнал/шум для экспериментов: от 0 до 20 дБ с шагом 1 дБ.
Полученные графики Bit Error Rate (BER) представлены на рис. 2.
Для канала с АБГШ сравнивалась работа модема с использованием и без использования помехоустойчивого кодирования. Для каналов из рекомендации F.1487 [3] анализировалась работа с включенной СПОПС и без нее.
Рис. 2. Коэффициент битовых ошибок в зависимости Eb /No
Выводы
В результате разработано ПО на языке ANSI C/C++ для кодов РС, позволяющее работать в полях Галуа GF (8) - GF (1024).
В канале с АБГШ начиная с 3 дБ для позиционностей 2, 4 и с 8 дБ для позиционности 8, кодируемая передача обеспечивает лучшее качество связи в сравнении с некодируемой.
СПОПС является первым шагом к построению системы синхронизации модема. Полученные результаты BER c ее использованием, показывают теоретически достижимый уровень помехоустойчивости при оптимальной системе синхронизации с заданным защитным интервалом. Разработанная система уже при низких отношениях сигнал/шум (от 0 дБ и выше) обеспечивает почти в два раза меньший уровень вероятности битовой ошибки.
Разработанное ПО кодера и декодера РС было использовано [4].
Литература
1. Ипатов В.П., Самойлов И.М., Гайворонский Д.В. Основы теории кодирования и шифрования: учеб. пособие. СПб.: Изд-во СПбГЭТУ «ЛЭТИ», 2015. 128 с.
2. Золотарёв В.В. Помехоустойчивое кодирование. Методы и алгоритмы: Справочник / В.В. Золотарёв, Г.В. Овечкин; Под ред. чл.-корр. РАН Ю.Б. Зубарева. М.
3. F.1487 : Testing of HF modems with bandwidths of up to about 12 kHz using ionospheric channel simulators URL: https://www.itu.int/rec/R-REC-F.1487/en (дата обращения 3 Sep. 2020).
4. Шаптала В.С., Солнцев Д.В. Модель фрагмента сети цифровой радиосвязи // Техника средств связи. 2020. № 2 (150). С. 71-79.
References
1. Ipatov V.P., Samoilov I.M., Gaivoronsky D.V. Foundations of the theory of coding and encryption: textbook allowance. Saint-Petersburg Electrotechnical University "LETI", 2015. 128 с. (in Russian).
2. Zolotarev V.V., Ovechkin G.V. Anti-interference coding. Methods and algorithms. Handbook. Ed. Corresponding Member RAS Yu.B. Zubarev. - M. (in Russian).
3. F.520: Use of high frequency ionospheric channel simulators URL: https://www.itu.int/rec/R-REC-F.520/en (accessed 3 Sep. 2020).
4. Shaptala V.S., Solntsev D.V. Model of pilot area of digital radio network. Means of communication equipment. 2020. No 2 (150). Pp. 71-79 (in Russian).
Статья поступила 30 ноября 2020 г.
Информация об авторах
Машкин Андрей Игоревич - Магистр СПбГЭТУ «ЛЭТИ». Инженер ПАО «Интелтех». E-mail: [email protected].
Машкин Игорь Вячеславович - Кандидат военных наук, доцент. Начальник отдела ПАО «Интелтех». E-mail: [email protected].
Шаптала Василий Сергеевич - Кандидат технических наук. Начальник лаборатории ПАО «Интелтех». E-mail: [email protected].
Адрес: 197342, г. Санкт-Петербург, Кантемировская ул., д. 8. Тел. 8 (812) 448-19-01.
Improving the noise immunity of ofdm modem in a fading channel
A.I. Mashkin, I.V. Mashkin, V.S. Shaptala
Annotation. The article sets the problem of software implementation of Reed-Solomon codes in the ANSI C / C + programming language and the development of a system for finding the optimal slot position. The aim of the work is to obtain BER graphs for an OFDM modem with a PC noise-immune coding unit, for channels with AWGN and three channels from the F.1487 recommendation:Good,Moderate and Poor channel.The modeling uses the methods of cross-platform programming and digital signal processing. The novelty of the discussed solution lies in the software implementation ofRS codes capable of operating in Galois fields GF (8) - GF (1024). The results of the work should include the graphs of the noise immunity of the modem being developed, as well as the software of the PC codes. The practical significance of the work lies in the possibility of cross-platform use of software of RS codes of arbitrary length in the fields GF (8) - GF (1024).
Keywords: Reed-Solomon codes; noise immunity; digital signal processing.
Information about Authors
Mashkin Andrey Igorevich - Master of Saint-Petersburg Electrotechnical University "LETI". Software engineer of PJSC "Inteltech". E-mail: [email protected].
Mashkin Igor Vyacheslavovich - Ph.D in Military Sciences, Associate Professor. Head of Department of "Inteltech" PJSC. E-mail: [email protected].
Shaptala Vasilij Sergeevich - Ph.D. Head of laboratory PJSC "Inteltech". E-mail: [email protected].
Address: Russia, 197342, Saint-Petersburg, Kantemirovskaya street 8. Tel. 8 (812) 448-19-01.
Для цитирования: Машкин А.И, Машкин И.В., Шаптала В.С. Повышение помехоустойчивости OFDM модема в канале с замираниями // Техника средств связи. 2020. № 4 (152). С. 60-64.
For citation: Mashkin A.I., Mashkin I.V., Shaptala V.S. Improving the noise immunity of OFDM modem in a fading channel. Means of communication equipment. 2020. No 4 (152). Pp. 60-64 (in Russian).