Scientific journal
Modern high technologies
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,940

THE DEVELOPMENT OF SEARCH ALGORITHMS AND ERROR CORRECTION WHEN PROCESSING SIGNALS IN OFDM SYSTEMS BASED ON NON-POSITIONAL MODULAR CODE

Kalmykov M.I. 1 Dunin A.V. 1 Stepanova E.P. 1 Kalmykov I.A. 1 Toporkova E.V. 1
1 North Caucasus Federal University
Currently, wireless systems are widely used by OFDM technology. This is due to the fact that this technology has a number of advantages, which can be distinguished by an effective fight against multipath and intersymbol interference. However, the use of fast Fourier transforms in OFDM technology leads to significant computational errors. This disadvantage can be eliminated by integer orthogonal signal transformations. To increase the speed of such transformations, it is proposed to use non-positional modular codes (NMCs). Since in these codes the samples of the processed signal and orthogonal coefficients are represented as a set of residues, the calculation can be performed in parallel using NMK modules. As a result, the addition, subtraction, and multiplication operations are faster than using the positional number system. However, non-positional modular codes are also capable of finding and correcting calculation errors. To do this, additional redundant modules are introduced in NMK. Therefore, the development of an algorithm to improve the reliability of signal processing in the event of failures and failures is an urgent task. The aim of the work is to develop an algorithm that allows to correct the error in NMK at minimal circuit costs.
OFDM technology
integer orthogonal signal transformations
non-positional modular codes
error correction algorithm

В настоящее время быстрые преобразования Фурье (БПФ) нашли широкую реализацию в беспроводных системах связи, построенных на основе технологии OFDM. Применение прямого и обратного БПФ позволяет обеспечивать эффективное использование радиочастотного диапазона при заданных скоростях передачи информации, борьбу с многолучевостью и межсимвольной интерференцией. Однако ортогональные преобразования на основе БПФ имеют недостаток, который приводит к значительным погрешностям вычислений [1]. Для устранения такого недостатка в работах [2–4] предлагается использовать целочисленные ортогональные преобразования сигналов. С целью повышения скорости их выполнения в работах [4–6] предлагается использовать непозиционные модулярные коды (НМК). В кодах НМК отсчеты обрабатываемого сигнала и ортогональные коэффициенты представляются в виде набора остатков, что позволяет реализовать параллельные вычисления. Кроме того, такие арифметические коды способны проводить поиск и коррекцию ошибок вычислений. Для этого в НМК вводят дополнительные избыточные модули. Поэтому разработка алгоритма, позволяющего повысить достоверность обработки сигналов при возникновении сбоев и отказов в работе устройства OFDM, является актуальной задачей.

Для повышения эффективности выполнения целочисленных ортогональных преобразований сигналов целесообразно использовать непозиционные модулярные коды. Благодаря тому, что операнды имеют маленькую разрядность, а остатки получаются независимо друг от друга, то арифметические операции выполняются значительно быстрее, чем в позиционной системе счисления (ПСС) [5–7]. Непозиционные модулярные коды способны обнаруживать и корректировать ошибки, возникающие в процессе обработки данных. Для этого необходимо увеличить их избыточность за счет добавления дополнительных модулей. Однако это приводит к увеличению схемных затрат, что снижает эффективность использования беспроводных систем передачи информации. Поэтому целью работы является разработка алгоритма, позволяющего обнаружить и исправить ошибку в НМК при минимальных схемных затратах.

Материалы и методы исследования

Обеспечение реального масштаба времени при выполнении ортогональных преобразований сигналов возможно за счет использования параллельных вычислений. В работах [4–6] представлены математические модели выполнения таких преобразований, реализованные с использованием непозиционных модулярных кодов. Такие коды являются арифметическими, поэтому их можно использовать для поиска и коррекции ошибок, которые имеют место при вычислениях из-за сбоев. В таких кодах позиционный код числа kalm01.wmf, где kalm02.wmf, j = 0,…, n – 1, сначала представляют в виде полинома

kalm03.wmf (1)

Затем выбирается множество взаимно простых полиномов kalm04.wmf. Для получения НМК необходимо вычислить остатки kalm05.wmf. Тогда справедливо

kalm06.wmf (2)

Набор выбранных оснований определяет рабочий диапазон НМК

kalm07.wmf (3)

Так как остатки получены независимо друг от друга, то для двух комбинаций НМК kalm08.wmf и kalm09.wmf справедливы выражения

kalm10.wmf (4)

kalm11.wmf (5)

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

kalm12.wmf (6)

kalm13.wmf (7)

где z – элемент поля, порожденного полиномом pi(z); kalm14.wmf; kalm15.wmf; kalm16.wmf – набор отсчетов входного сигнала; kalm17.wmf – вектор спектральных составляющих сигнала; kalm18.wmf; j = 1, …, d – 1.

Чтобы произвести коррекцию ошибок, возникающих из-за сбоев в процессе реализации вычислений, в непозиционные модулярные коды необходимо добавить избыточные основания kalm19.wmf. При этом должно выполняться условие

kalm20.wmf (8)

где r – количество избыточных оснований.

Это приводит к расширению рабочего диапазона НМК до полного, который равен

kalm21.wmf (9)

Для расширенной комбинации кода НМК kalm22.wmf должно выполняться равенство

kalm23.wmf (10)

В случае возникновения однократной ошибки в i-м остатке, получаем

kalm24.wmf (11)

где kalm25.wmf – искаженный остаток комбинации; kalm26.wmf – глубина однократной ошибки.

В результате искажения комбинации kalm27.wmf выйдет за пределы Pраб(z), так как

kalm28.wmf (12)

где Bj(z) – ортогональный базис для j-го основания НМК.

Таким образом, очевидно, что kalm29.wmf

Согласно [6] для коррекции ошибки, искажающей только один остаток НМК, необходимо использовать два контрольных основания, удовлетворяющих условию

kalm30.wmf (13)

Так как НМК являются непозиционными кодами, то для коррекции ошибки необходимо сравнить степени числа kalm31.wmf и Pраб(z). В работе [6] для этого предлагают использовать интервал полинома, который определяется

kalm32.wmf, (14)

где kalm33.wmf; B*j(z) – ортогональный базис НМК без контрольных оснований; kalm34.wmf – ранг безызбыточного НМК.

Проведенные исследования показали, что данный алгоритм является избыточным. Устранить данный недостаток позволяет разработанный алгоритм, в котором используется синдром ошибки по контрольным основаниям НМК. Для его вычисления необходимо выполнить следующие вычисления:

kalm35.wmf (15)

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

Если синдром ошибки является нулевым, а это возможно при совпадении kalm37.wmf и kalm38.wmf, то код НМК является разрешенным. В противном случае очевидно, что комбинация НМК содержит ошибку.

Анализ выражения (12) показал, что только второе слагаемое kalm39.wmf определяется искаженным остатком. Осуществим перевод из НМК, определяемого только рабочими основаниями kalm40.wmf, в позиционный код. Тогда имеем

kalm41.wmf (16)

где kalm42.wmf – ортогональный базис НМК; mi(z) – вес базиса Bi(z); kalm43.wmf; rX(z) – ранг кода X(z), показывающий число превышений Pраб(z).

Используя требование ортогональности базисов kalm44.wmf, найдем произведение остатков НМК на величину веса базиса Bi(z). Тогда получаем, что данное произведение удовлетворяет условию kalm45.wmf. В этом случае степень произведения kalm46.wmf. Учитывая, что суммирование производится по модулю два, то выражение (16) преобразуется к виду

kalm47.wmf (17)

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

kalm48.wmf (18)

Второй остаток по контрольному основанию определяется

kalm49.wmf (19)

Затем остатки kalm50.wmf суммируются по модулю два с остатками kalm51.wmf, входящими в комбинацию kalm52.wmf. Полученное значение синдрома ошибки укажет на наличие ошибки в НМК.

Результаты исследования и их обсуждение

Пусть заданы информационные основания НМК, kalm53.wmf, kalm54.wmf, kalm55.wmf. В этом случае рабочий диапазон составит kalm56.wmf. Для коррекции однократной ошибки введем два контрольных основания kalm57.wmf, kalm58.wmf.

Вычислим значение констант Pi(z) информационных оснований и весов mi(z) ортогональных базисов определяются из условия kalm59.wmf:

kalm60.wmf

Представим значение констант Pi(z) контрольным основаниям

kalm61.wmf

Пусть задан полином kalm62.wmf, который удовлетворяет условию (10). Представим данный полином в НМК kalm63.wmf.

Для вычисления первого контрольного остатка воспользуемся (18). Тогда

kalm64.wmf

Второй остаток по контрольному основанию определяется выражением (19)

kalm65.wmf

Для вычисления синдрома ошибки воспользуемся (15). Тогда получаем

kalm66.wmf

Так как синдром ошибки равен нулю, то X(z) является разрешенной комбинацией.

Пусть ошибка произошла в третьем остатке, а ее глубина равна kalm67.wmf. Тогда ошибочная комбинация имеет вид kalm68.wmf.

Вычислим первый контрольный остаток:

kalm69.wmf

Второй остаток по контрольному основанию определяется выражением (19):

kalm70.wmf

Для вычисления синдрома ошибки воспользуемся (15). Тогда получаем

kalm71.wmf

Так как синдром ошибки не равен нулю, то комбинация НМК X(z) содержит ошибку.. В рассмотренном примере получаем вектор ошибки, который имеет вид kalm72.wmf. Для устранения ошибки необходимо сложить комбинацию kalm73.wmf с вектором ошибки. Получаем

kalm78a.wmf

kalm78b.wmf.

На основе разработанного алгоритма была получена структурная модель блока обнаружения и коррекции ошибки. В каждом контрольном основании необходимы три LUT-таблицы для выполнения операции kalm75.wmf, три LUT-таблицы для выполнения процедуры kalm76.wmf, где j = 1, 2, а также две LUT-таблицы для вычисления kalm77.wmf. Полученные результаты свидетельствуют о том, что для рассмотренного примера потребуется 16 LUT-таблиц.

В алгоритме поиска и коррекции ошибок на основе выражения (14) в каждом контрольном канале потребуется пять LUT-таблиц для выполнения операции kalm78.wmf, i = 1,…, 5, четыре LUT-таблицы для вычисления суммы wi(z). Кроме того, для вычисления ранга безызбыточного НМК K*(z) необходимо пять LUT-таблиц. Таким образом, схемная реализация требует 23 LUT-таблицы. Следовательно, использование разработанного алгоритма поиска и коррекции ошибок позволяет снизить схемные затраты в 1,44 раза по сравнению с алгоритмом, приведенным в работе [6].

Заключение

Для повышения скорости выполнения ортогональных преобразований сигналов в системах OFDM предложено использовать НМК, так как в данных кодах отсчеты обрабатываемого сигнала и ортогональные коэффициенты представляются в виде остатков, над которыми выполняется параллельное вычисление. Показано, что применение НМК позволяет проводить поиск и коррекцию ошибок вычислений. В статье представлен разработанный алгоритм, позволяющий повысить достоверность обработки сигналов при возникновении сбоев и отказов в работе устройства OFDM. При этом для его реализации требуется в 1,44 раза меньше схемных затрат по сравнению с алгоритмом, приведенным в работе [6] уже при использовании пятиразрядных модуле НМК.

Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 18-37-00009.