Государственное образовательное учреждение высшего профессионального образования “Санкт-Петербургский государственный по...
13 downloads
210 Views
2MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Государственное образовательное учреждение высшего профессионального образования “Санкт-Петербургский государственный политехнический университет” На правах рукописи
Трифонов Петр Владимирович
Адаптивное кодирование в многочастотных системах 05.13.01 — Системный анализ, управление и обработка информации
Диссертация на соискание ученой степени кандидата технических наук
Научный руководитель д.т.н., проф. Крук Е.А.
Санкт-Петербург — 2005
Оглавление Введение 1
5
Обработка информации на физическом уровне цифровых систем связи 1.1 Каналы передачи информации . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1 Двоичный канал со стираниями . . . . . . . . . . . . . . . . . . . 1.1.2 Двоичный симметричный канал . . . . . . . . . . . . . . . . . . . 1.1.3 Аддитивный Гауссовский канал . . . . . . . . . . . . . . . . . . . 1.1.4 Линейный Гауссовский канал с межсимвольной интерференцией 1.1.5 Релеевский канал . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Модуляция . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Одноканальная M-ичная модуляция . . . . . . . . . . . . . . . . . 1.2.2 Ортогональное разделение частот . . . . . . . . . . . . . . . . . . 1.3 Многопользовательские системы связи . . . . . . . . . . . . . . . . . . . 1.3.1 Временное разделение . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.2 Частотное разделение . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.3 Пространственное и поляризационное разделение . . . . . . . . . 1.3.4 Кодовое разделение . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Помехоустойчивое кодирование . . . . . . . . . . . . . . . . . . . . . . . 1.4.1 Основные понятия . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.2 Коды Рида-Соломона . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.3 Вычислительные алгоритмы алгебраического декодирования . . . 1.4.4 Низкоплотностные коды . . . . . . . . . . . . . . . . . . . . . . . . 1.4.5 Фактор-графы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.6 Кодированная модуляция . . . . . . . . . . . . . . . . . . . . . . . 1.5 Методы адаптивной передачи . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.1 Однопользовательские одноканальные системы . . . . . . . . . . 1.5.2 Однопользовательские многочастотные системы . . . . . . . . . . 1.5.3 Многопользовательские многочастотные системы . . . . . . . . . 1.6 Выводы. Задачи диссертационной работы . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
2 Адаптивные методы передачи 2.1 Адаптивное многоуровневое кодирование . . . . . . . . . . . . . . . . . . . . 2.1.1 Постановка задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.2 Семейство многоуровневых кодов . . . . . . . . . . . . . . . . . . . . 2.1.3 Адаптивное кодирование в многочастотных системах . . . . . . . . . 2.1.4 Анализ эффективности . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Адаптивное разделение каналов в многопользовательских многочастотных системах . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Постановка задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
8 8 9 10 10 13 15 16 16 18 20 21 22 22 22 26 26 27 32 37 40 43 46 46 48 52 56 58 58 58 58 61 65 66 67
ОГЛАВЛЕНИЕ
3 . . . . . .
70 71 72 73 76 79
3 Вычислительные процедуры декодирования 3.1 Ускоренный поиск корней многочленов над конечными полями . . . . . . . 3.1.1 Аффинное разложение . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 Специальные разложения . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.3 Обобщенное разложение . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.4 Гибридный алгоритм поиска корней многочленов . . . . . . . . . . . 3.2 Быстрое преобразование Фурье над конечным полем . . . . . . . . . . . . . 3.2.1 Циклотомический алгоритм БПФ . . . . . . . . . . . . . . . . . . . . 3.2.2 Применение обратного преобразования Фурье для быстрого вычисления вектора синдрома . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Разреженное представление линейных кодов . . . . . . . . . . . . . . . . . . 3.3.1 Построение разреженного фактор-графа линейного двоичного кода . 3.3.2 Быстрое умножение вектора на двоичную матрицу . . . . . . . . . . 3.3.3 Разреженное представление кодов Рида-Соломона . . . . . . . . . . . 3.4 Двумерная интерполяция при списочном декодировании кодов РидаСоломона . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 Матричная интерпретация алгоритма Нильсена . . . . . . . . . . . . 3.4.2 Алгебро-геометрическая интерпретация алгоритма Нильсена . . . . 3.4.3 Быстрое вычисление произведения идеалов . . . . . . . . . . . . . . . 3.5 Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81 81 81 83 84 84 86 86
2.2.2 Оптимизационный алгоритм . . . . . . . . 2.2.3 Анализ эффективности . . . . . . . . . . . 2.2.4 Частотно-временное расширение . . . . . . 2.2.5 Сжатие служебной информации . . . . . . 2.2.6 Чувствительность к изменениям состояния 2.3 Выводы . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . канала . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
93 99 99 101 101 102 103 105 107 110
4 Применение адаптивных методов в широкополосных системах связи 111 4.1 Модели некоторых физических каналов . . . . . . . . . . . . . . . . . . . . . 111 4.1.1 Модель радиоканала со стационарными в широком смысле некоррелированными отражениями . . . . . . . . . . . . . . . . . . . . . . . . 111 4.1.2 Модель кабельного канала на основе неэкранированной витой пары 113 4.2 Адаптивная передача в однопользовательской системе . . . . . . . . . . . . 113 4.2.1 Построение семейства многоуровневых кодов . . . . . . . . . . . . . 113 4.2.2 Адаптивное многоуровневое кодирование . . . . . . . . . . . . . . . . 119 4.3 Адаптивная передача в многопользовательской системе . . . . . . . . . . . 122 4.3.1 Сравнение адаптивных методов . . . . . . . . . . . . . . . . . . . . . 122 4.3.2 Анализ характеристик системы с адаптивным разделением подканалов124 4.3.3 Чувствительность предложенного метода к временным изменениям состояния канала . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 4.3.4 Чувствительность предложенного метода к неточности оценивания канала . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 4.3.5 Оценка сложности предложенного метода . . . . . . . . . . . . . . . 129
ОГЛАВЛЕНИЕ 4.4 Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Выводы
4 131 133
Введение Бурное развитие микроэлектроники, имевшее место в конце 20 века, создало возможность для реализации сложных высокопроизводительных вычислительных систем, используемых в настоящее время практически во всех отраслях народного хозяйства. Это в свою очередь потребовало организации взаимодействия этих систем, причем с ростом их производительности растут требования к скорости и качеству связи между ними. Для эффективного функционирования подобных систем необходим точный учет текущего состояния среды передачи данных. По мере его изменения необходимо осуществлять подстройку параметров системы связи с целью минимизации мощности передатчика, требуемой для поддержания заданного качества связи. Таким образом, возникает задача управления параметрами передатчика. Несмотря на то, что в теории информации были построены решения для этой задачи, их нельзя признать удовлетворительными с практической точки зрения. Причиной этого является оптимизационный критерий, используемый в подобных теоретико-информационных исследованиях, а именно максимизация суммарной (или взвешенной) пропускной способности всех пользователей системы. Это не позволяет учесть ограничений, связанных как с невозможностью достижения пропускной способности канала с помощью существующих методов передачи информации, так и с необходимостью поддержания определенного качества обслуживания отдельных пользователей системы. В связи с этим возникает необходимость разработки алгоритмов адаптивной передачи, учитывающих вышеприведенные ограничения. При этом использование многочастотного метода передачи, получившего широкое распространение в последние годы, позволяет существенно упростить реализацию соответствующих оптимизационных алгоритмов, а также допускает использование при анализе системы достаточно простых математических моделей. Построение адаптивной системы передачи данных требует наличия нескольких методов кодирования и модуляции, обеспечивающих различную степень защиты передаваемых данных от помех. При этом особую важность имеет эффективная реализация используемых методов обработки информации, в частности кодирования и декодирования корректирующих кодов. Алгоритмы кодирования и декодирования многих современных кодов включают в себя классические вычислительные примитивы, такие как циклическая свертка, поиск корней многочлена, дискретное преобразование Фурье и т.п. При этом в большинстве случае вычисления производятся в конечных полях. Несмотря на то, что известны быстрые алгоритмы решения указанных задач, во многих случаях их непосредственное использование при реализации алгоритмов кодирования и декодирования оказывается крайне неэффективным как в силу специфики вычислений в конечных полях, так и в силу ограничений, накладываемых структурой алгоритмов кодирования и декодирования. В связи с этим возникает задача эффективной реализации соответствующих вычислительных алгоритмов. Целью данной диссертационной работы является построение методов оптимизации параметров кодирования в многочастотных системах, позволяющих снизить мощность передатчика, требуемую для достижения заданного качества работы системы. В рамках 5
ВВЕДЕНИЕ
6
работы решаются следующие задачи: 1. Разработка методов настройки параметров помехоустойчивого кодирования, модуляции, разделения канала и распределения мощности в зависимости от текущего состояния физического канала связи. 2. Эффективная реализация соответствующих процедур обработки информации при кодировании и декодировании данных. Объектом исследования являются широкополосные системы связи, основанные на принципе многочастотной передачи, а также алгоритмы кодирования и декодирования корректирующих кодов, используемых при передаче данных в подобных системах. В данной работе используются методы теорий цифровой связи, условного экстремума, помехоустойчивого кодирования, чисел и коммутативной алгебры. Достоверность полученных результатов обеспечена сопоставлением результатов теоретического анализа и имитационного моделирования, а также наличием программной реализации всех предложенных методов. Предметом исследования являются оптимизация параметров передачи данных в многочастотных системах, а также алгоритмы кодирования и декодирования корректирующих кодов, используемых в них. Научные результаты и их новизна: 1. Разработан метод оптимизации разделения канала, распределения мощности и скорости передачи в многопользовательских многочастотных системах вещания, позволяющий получить существенный (до 5 дБ) энергетический выигрыш по сравнению с известными методами. 2. Предложен новый метод адаптивной передачи в многочастотных системах на основе многоуровневого кодирования, позволяющий повысить точность адаптации по сравнению с существующими методами, что позволяет получить энергетический выигрыш до 2 дБ по сравнению с существующими методами. 3. Разработан метод быстрого нахождения корней многочлена локаторов ошибки при классическом декодировании кодов Рида-Соломона, обеспечивающий снижение сложности одного из этапов декодирования в 2 – 6 раз по сравнению со стандартными методами. 4. Построен циклотомический алгоритм быстрого преобразования Фурье (БПФ) над конечными полями, на основе него разработан метод вычисления вектора синдрома при классическом декодировании кодов Рида-Соломона. Данные алгоритмы обладают наименьшей сложностью среди известных аналогов. 5. Предложен новый метод двумерной интерполяции при списочном декодировании кодов Рида-Соломона, позволяющий построить параллельную реализацию вычислительно наиболее сложного шага алгоритма Гурусвами-Судана.
ВВЕДЕНИЕ
7
Практическая ценность работы состоит в разработке методов адаптивной передачи в одно- и многопользовательских системах, позволяющий существенно снизить требуемую мощность передатчика, а также методов декодирования некоторых классов кодов, исправляющих ошибки, со сложностью, существенно меньшей по сравнению со стандартными методами. Предложенный метод адаптивной передачи в однопользовательских системах при использовании кодов длины 3200 обеспечивает функционирование системы при вероятности ошибки на бит порядка 10−7 на отношении сигнал/шум, превышающем предел Шеннона всего на 3 децибела. Данный метод может быть также использован и в многопользовательских системах. Предложенный метод адаптивной передачи в многопользовательских системах на основе кодового разделения позволяет снизить мощность передатчика, требуемую для достижения заданных параметров работы системы, на 5 дБ по сравнению с наилучшим известным автору методом, использующим частотное разделение. Предложенный метод нахождения корней многочленов над конечным полем обладает наименьшей сложностью среди известных аналогов. Предложенный алгоритм БПФ имеет наименьшую сложность среди известных алгоритмов на длине по крайней мере до 512 и позволяет построить алгоритмы вычисления синдрома при классическом декодировании кодов Рида-Соломона, обладающие наименьшей сложностью среди известных методов. Публикации и апробация работы. Предложенные методы были опубликованы в журналах IEEE Transactions on Communications [38], Проблемы передачи информации [175], European Transactions on Telecommunications [31, 39], Информационно-управляющие системы [174], на конференциях IEEE International Symposium on Information Theory [84], IEEE Vehicular Technology Conference [127], International OFDM Workshop [126]. По материалам диссертации получен Европейский патент [36]. Диссертационная работа организована следующим образом. В главе 1 представлен обзор некоторых методов обработки информации, используемых при реализации протоколов физического уровня систем связи. В главе 2 рассматриваются новые методы адаптивной передачи в многочастотных системах. Глава 3 посвящена построению новых вычислительных алгоритмов для систем с помехоустойчивым кодированием. Применение предложенных методов в широкополосных системах связи рассмотривается в главе 4.
Глава 1. Обработка информации на физическом уровне цифровых систем связи В данной главе представлено описание некоторых методов передачи информации, используемых в данной диссертационной работе. Последовательность изложения в основном соответствует типичной структуре современной приемо-передающей аппаратуры цифровой связи. Раздел 1.1 посвящен краткому описанию математических моделей каналов передачи информации, рассматриваемых в данной работе. В разделе 1.2 описаны некоторые методы модуляции и демодуляции. Раздел 1.3 посвящен описанию некоторых методов множественного доступа и вещания. В разделе 1.4 рассматриваются некоторые классы кодов, исправляющих ошибки. Обзор некоторых методов адаптивной передачи представлен в разделе 1.5. Глава не содержит никаких новых результатов автора и предназначена исключительно для введения основных понятий, используемых в дальнейшем.
1.1 Каналы передачи информации Основной задачей теории связи является восстановление сообщения, сформированного передатчиком в некоторый момент времени в некоторой точке пространства, в некоторой другой точке пространства спустя некоторый интервал времени. Очевидно, что для решения этой задачи необходимо изучение свойств среды передачи информации, называемой также каналом. Под моделью канала здесь понимается математическая абстрация, позволяющая задать принимаемый сигнал r(t) как функцию (как правило, случайную) от передаваемого сигнала s(t), где t —время. В цифровых системах связи принимаемый сигнал на некотором этапе его обработки дискретизуется как по времени, так и по амплитуде, поэтому рассматриваются также дискретные модели каналов, связывающие отсчеты ri и si принимаемого и передаваемого сигналов соответственно. При этом наличие дискретизации по амплитуде приводит к возникновению шума квантования, влияние которого может быть снижено путем увеличения числа уровней дискретизации. Т.к. современные аппаратные средства цифровой обработки сигналов имеют достаточно большую разрядность, этим эффектом можно в значительной степени пренебречь. Поэтому далее, если не указано иное, дискретизация сигнала по амплитуде учитываться не будет. Всякий канал передачи информации может быть охарактеризован входным алфавитом A, выходным алфавитом B и семейством условных распределений p(r|s), характеризующих статистические свойства принимаемого сигнала r = (. . . , ri−1 , ri , ri+1 , . . .) в зависимости от передаваемого сигнала s = (. . . , ri−1 , si , si+1 , . . .). Простейшим случаем канала передачи информации является канал без памяти, для которого справедливо p(ri |s1 , . . . , si−1 ) = p(ri |si), i ∈ N, 8
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
9
т.е. принимаемый сигнал зависит исключительно от сигнала, передаваемого в данный момент времени. В тех случаях, когда передаваемые символы si выбираются независимо от ранее принятых символов, т.е. p(si |s1 , . . . , sn−1, r1 , . . . , rn−1 ) = p(si |s1 , . . . , sn−1 ), несложно показать, что p(r1 , . . . , rn |s1 , . . . , rn ) =
n Y i=1
p(ri |si )
Фундаментальной характеристикой любого канала связи является его пропускная способность, определяемая как C = max I(r; s), (1.1) pA (s)
где максимум вычисляется по всем возможным распределениям передаваемых символов pA (s), а I(r; s) = H(r) − H(r|s) — взаимная информация между R принятой последовательностью r и переданной последовательностью s, H(x) = − x∈B pB (x) log2 pB (x)dx — неопределенность (энтропия) случайной величины x, принимающей значения из некоторого множества B с плотностью распределения pB (x). Таким образом, выражение для пропускной способности имеет вид ! Z ∞Z p(r|s) dsdr, (1.2) CA = max pA (s)p(r|s) log2 R pA (s) −∞ s∈A p (s′ )p(r|s′ )ds′ s′ ∈A A
где pA (s) — плотность распределения передаваемых символов, а p(r|s) — условная плотность распределения принятого сигнала. В случае дискретного алфавита интеграл по A в этом выражении заменяется на сумму. Можно показать [161], что надежная передача информации по каналу возможна только со скоростью R, не превышающей эту величину. Под надежной передачей здесь понимается возможность построения такой пары передатчика и приемника, что сообщение достаточно большой длины n = Rk, несущее k бит информации, может быть восстановлено приемником со сколь угодно малой вероятностью ошибки. При этом необходимо отметить, что в большинстве практических систем распределение передаваемых символов не оптимизируется, что приводит к определенному снижению максимальной достижимой скорости передачи данных.
1.1.1 Двоичный канал со стираниями Предположим, что передача ведется с помощью двух сигналов, обозначаемых далее как 0 и 1, и приемник способен каким-либо образом достоверно распозать часть принятых символов (сигналов). Тогда оставшаяся часть принятых символов может быть объявлена недостоверной или стертой, т.е. множество сигналов на выходе канала равно {0, 1, _}. Такой канал характеризуется вероятностью pE того, что символ будет объявлен стертым, и носит название двоичного канала со стираниями. Модель двоичного канала со стираниями непосредственно возникает при рассмотрении сетей с коммутацией пакетов. Как известно, при передаче данных по ним некоторые
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
10
пакеты могут теряются. Очевидно, что обнаружение факта потери может быть интерпретировано как стирание. Эта модель также может быть использована для анализа свойств низкоплотностных кодов. Пропускная способность двоичного канала со стираниями равна CBEC = 1 − pE
1.1.2 Двоичный симметричный канал Предположим, что передача ведется с помощью двух сигналов, обозначаемых далее как 0 и 1 (т.е. элементов конечного поля GF (2)). В результате воздействия шума принятые символы могут отличаться от переданных с некоторой ненулевой вероятностью pe , т.е. ri = si + ηi , ri , si , ηi ∈ GF (2), P {ηi = 1} = pe Такой канал носит название двоичного симметричного канала. Эта модель широко использовалась для анализа свойств кодов, исправляющих ошибки. Пропускная способность двоичного симметричного канала равна CBSC = 1 + pe log2 (pe ) + (1 − pe ) log2 (pe )
1.1.3 Аддитивный Гауссовский канал Предположим, что передаваемый символы принадлежат некоторому множеству A ⊂ R, а помеха является аддитивной и представляет собой случайную величину с нормальным распределением, т.е. принятый сигнал может быть представлен как ri = si + ηi , si ∈ A, ηi ∼ N(0, σ 2 ). Аддитивный Гауссовский канал характеризуется отношением сигнал-шум на символ, которое определяется как M[s2i ] γ= . σ2 Кроме того, часто используется отношение сигнал-шум на бит γ Eb /N0 = , R где R — среднее число информационных бит, содержащихся в одном символе из алфавита A, передаваемом по каналу. Пропускная способность аддитивного Гауссовского канала достигается при условии нормального распределения передаваемых сигналов si (т.е. A = R) и равна CAW GN =
1 log2 (1 + γ) . 2
(1.3)
Достаточно часто (например, при рассмотрении различных методов модуляции, отображающих передаваемые данные на некоторые (вещественные) сигналы, передаваемые по физическому каналу связи) возникает необходимость рассмотрения комплексных сигналов,
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
11
т.е. A ∈ C. В этом случае пропускная способность также максимизируется при условии нормального (комплексного) распределения передаваемых сигналов и равна CAW GN = log2 (1 + γ) .
(1.4)
В общем случае необходимо рассмотрение непрерывных сигналов r(t) = s(t) + η(t), где r(t) — принятый сигнал, η(t) — Гауссовский случайный процесс со спектральной плотностью мощности N0 , а s(t) — передаваемый сигнал, также представляющий собой Гауссовский процесс со спектральной полосой шириной W и имеющий спектральную плотность мощности Es . Можно показать [161, 176], что пропускная способность подобного канала равна Es . (1.5) CAW GN = W log2 1 + W N0
Однако достаточно часто оказывается, что передаваемые символы не являются гауссовскими, а вместо этого равномерно распределены по некоторому конечному множеству A. В этом случае пропускная способность может быть вычислена непосредственно с помощью выражения (1.2). Хотя использование таких сигналов и не является оптимальным, это позволяет существенно упростить процедуры приема и передачи. Простейшим способом организации приема является поиск символа (“жесткого” решения) sbi ∈ A, ближайшего к принятой величине ri , и передача его для дальнейшей обработки. Например, в случае ( 1, ri > 0 , т.е. произвовходного алфавита A = {−1, 1} это правило принимает вид sbi = 0, ri ≤ 0 дится дискретизация на два уровня. Тогда sbi можно рассматривать как результат q передачи si по двоичному симметричному каналу с вероятностью ошибки pe = Q 1 Q(x) = √ 2π
Z
∞
2 /2
e−t
2Eb N0
, где
dt.
x
Очевидно, что при такой организации приемника теряется достаточно много информации о принятом сигнале, которая могла бы быть использована при дальнейшей обработке для принятия более точного решения. В связи с этим в большинстве случаев производят дискретизацию на большее число уровней (принятие “мягкого решения”). Частным случаем такого подхода является использование стираний, т.е. указание позиций принятых символов b si , для которых |ri | < δ, где δ — некоторое пороговое значение. Достаточно часто оказывается, что система связи может быть представлена в виде нескольких параллельных Гауссовских каналов (векторный Гауссовский канал), причем сигнал, принятый приемником i-го канала, может быть представлен как ri = µi si + ηi ,
(1.6)
где µi ∈ C — различные передаточные коэффициенты. Каждый из таких подканалов 2 может быть охарактеризован своим отношением канал/шум ξi = |µσi2| , i = 1..N. Используя
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
12
1
ξi 0
0
Номер подканала
Vi 2
Рис. 1.1 Принцип ”водонаполнения” стандартные методы оптимизации, легко показать, что пропускная способность подобной системы при фиксированной общей мощности P достигается путем ее распределения по отдельным каналам в соответствии с правилом Vi2 = max (λ − 1/ξi, 0) ,
(1.7)
где константа λ подбирается таким образом, чтобы удовлетворить ограничение на общую мощность передатчика N X Vi2 = P, i=1
и Vi2 = M[|si |2 ] — мощность сигнала, передаваемого по i-му подканалу. Это правило получило название принципа ”водонаполнения”, т.к. мощность передатчика распределяется аналогично воде в резервуаре с неровным дном (см. рис. 1.1). Полная пропускная способность такого канала равна CV AW GN =
N X i=1
log2 1 + Vi2 ξi
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
13
1.1.4 Линейный Гауссовский канал с межсимвольной интерференцией В большинстве случаев среда передачи информации может быть достаточно хорошо описана как линейная система с некоторым импульсным откликом h(τ ). Тогда принимаемый сигнал может быть представлен как Z t r(t) = s(t − τ )h(τ )dτ + η(t), (1.8) 0
где η(t) — Гауссовский случайный процесс со спектральной плотностью мощности Φ(f ). Выполняя дискретизацию по времени, получим ri =
L−1 X
si−j hj + ηi ,
j=0
где L — длительность импульсного отклика. Очевидно, что такой канал обладает памятью, т.к. его выход зависит от N − 1 символов, переданных ранее. Вычисляя преобразование Фурье от выражения (1.8), получим r(f ) = s(f )H(f ) + η(f )
(1.9)
Для анализа пропускной способности такого канала он может быть разбит на совокупность аддитивных Гауссовских каналов, ограниченных бесконечно малой полосой ∆f . Используя выражение (1.5) и выполняя условную максимизацию пропускной способности, аналогично случаю векторного Гауссовского канала, несложно показать, что оптимальное распределение мощности сигнала по частоте имеет вид P (f ) = max(0, λ −
|Φ(f )|2 ), |H(f )|2
(1.10)
где константа λ подбирается так, чтобы удовлетворить ограничение на мощность сигнала Z ∞ P (f )df = P, 0
а пропускная способность равна CISI =
Z
0
∞
P (f )|H(f )|2 log2 1 + df, |Φ(f )|2
(1.11)
где |H(f )|2 — амплитудно-частотная характеристика канала. В кабельных системах связи межсимвольная интерференция возникает из-за наличия паразитных емкостей и индуктивностей. При этом поведение линии связи в большинстве случаев является детерминированным и может быть достаточно хорошо предсказано с помощью методов теории электрических цепей.
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
14
В системах радиосвязи межсимвольная интерференция возникает из-за наличия большого числа путей распространения сигнала от передатчика к приемнику, создаваемых различными объектами, отражающими радиосигнал. Более того, перемещения этих объектов в пространстве и изменение их свойств приводит к тому, что импульсный отклик канала меняется во времени и представляет собой некоторый случайный процесс X h(τ, t) = αi (t)e− j 2πfc τi (t) δ(τ − τi (t)), (1.12) i
где τi (t) — задержка сигнала на i-м пути распространения в момент времени t и fc — несущая частота системы. Предполагая, что этот процесс стационарен в широком смысле, введем автокорреляционную функцию канала как [172] 1 φh (τ1 , τ2 , ∆t) = M[h∗ (τ1 , t)h(τ2 , t + ∆t)] 2
(1.13)
В большинстве случае имеет место некоррелированное рассеяние, т.е. затухание сигнала и сдвиг по фазе при различных задержках τ1 и τ2 некоррелированы. Тогда 1 M[h∗ (τ1 , t)h(τ2 , t + ∆t)] = φh (τ1 , ∆t)δ(τ1 − τ2 ) 2 Полагая ∆t = 0, получим φh (τ ) = φh (τ, 0) — характеристику средней мощности выхода канала как функцию задержки или спектр мощности задержек канала. Область значений, в которых φh (τ ) существенно больше нуля1 , называется многопутевым рассеянием канала τmax . Аналогичная характеристика может быть получена в частотной области. Рассмотрим частотную передаточную функцию канала Z ∞ H(f, t) = h(τ, t)e−j2πf τ dτ −∞
Предполагая стационарность канала в широком смысле и некоррелированность рассеяния по различным путям, несложно показать [172], что автокорреляционная функция от H(f, t) φH (f1 , f2 , ∆t) по частоте зависит только от разности частот ∆f = f2 − f1 . Кроме того, имеет место соотношение Z ∞ φH (∆f ) = φH (∆f, 0) = φh (τ )e−j2π∆f τ dτ −∞
В частотной области многопутевому рассеянию τmax соответствует полоса частотной когерентности канала, определяемая как (∆f )h ≈
1 τmax
Если эта величина мала по сравнению с полосой частот передаваемого сигнала, канал называется частотно селективным. 1
В данной работе это значение предполагается соответствующим затуханию сигнала на 30 дБ.
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
15
Т.к. местоположение отражателей относительно приемника и передатчика непрерывно изменяется, характеристики канала также изменяются во времени. При этом необходимо различать кратковременные изменения, связанные со сравнительно быстрыми перемещениями предметов друг относительно друга (эффект Доплера), и долговременные изменения, связанные с принципиальными изменениями в среде передачи сигнала (например, перемещение приемника вовнутрь некоторого сооружения). Для исследования кратковременных изменений вычислим преобразование Фурье функции φH (∆f, ∆t) по переменной ∆t, т.е. Z ∞ SH (∆f, λ) = φH (∆f, ∆t)e−j2πλ∆t d(∆t) (1.14) −∞
Функция SH (λ) = SH (0, λ) называется доплеровским спектром мощности и характеризует его как функцию от частоты Доплера λ. Действительно, если канал не изменяется во времени, φH (∆t) = K и SH (λ) = Kδ(λ) для некоторого K. Область значений λ, в которой значение SH (λ) существенно отлично от нуля, называется максимальным доплеровским рассеянием fD . Обратная величина называется временем когерентности канала 1 (∆t)h ≈ . fd
Кроме того, необходимо различать медленные и быстрые замирания [176]. В первом случае состояние канала остается примерно постоянным на протяжении нескольких символьных интервалов.
1.1.5 Релеевский канал Для анализа радиоканалов с многопутевым распространением сигнала во многих случаях может быть использована релеевская модель канала. Основное отличие релеевского канала с замираниями и рассеяниями от гауссовского канала состоит в наличии как аддитивной, так и мультипликативной помех, т.е. ri = µisi + ηi , si ∈ A, ηi ∼ N(0, σ 2 ),
(1.15)
причем вещественная и мнимая компоненты мультипликативной помехи µi являются независимыми нормально распределенными случайными величинами с нулевым матожиданием. Тогда |µi| имеет распределение Релея. Состояние такого канала удобно характеризовать отношением канал/шум, равным ξi = |µi|2 /σ 2 , имеющим экспоненциальное распределение В большинстве случаев оказывается, что µi (и ξi) являются зависимыми случайными величинами. Приемник для случая релеевского канала может функционировать как без учета информации о текущей фазе µi , так и с ее учетом [176]. В первом случае (некогерентный прием) демодуляция основывается исключительно на свойствах используемого сигнального множества. Во втором случае оказывается возможным оценивание по максимуму правдоподобия, состоящее в поиске такого si ∈ A, что |µi si − ri |2 минимально. Ясно, что в последнем случае можно добиться намного лучшего качества демодуляции. Ввиду большой вычислительной сложности этого подхода на практике в большинстве случаев
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
16
применяется упрощенная схема, состоящая в выравнивании принятого сигнала и использовании некоторой вычислительно простой функции v(ˆ si ) : C → {0, 1}log2 |A| , позволяющей по оценке переданного символа вычислить соответствующие ему информационные биты, а при необходимости и их отношения правдоподобия. Выравнивание состоит в вычислении sˆi = gi ri , где gi — некоторый коэффициент. Наилучшие показатели в большинстве случаев обеспечивает выравнивание по минимуму среднего квадрата ошибки. В этом случае gi =
µ∗i . |µi|2 + σ 2 /M[|si |2 ]
В том случае, когда передатчик никак не учитывает состояние канала, выражение для пропускной способности Релеевского канала может быть получено путем усреднения выражения (1.3) по всем возможным значениям отношения канал/шум ξi, что приводит к следующему выражению [176]: CRayleigh
1 1/γ e ≈− ln 2
Z
1/γ −∞
et dt. t
(1.16)
С другой стороны, процесс передачи последовательности из n символов может рассматриваться как передача блока данных по векторному Гауссовскому каналу. В этом случае пропускная способность может быть существенно улучшена путем адаптации мощности передатчика в соответствии с принципом “водонаполнения” [47]. Обобщениями релеевской модели канала являются модели Райса и Накагами. Выражения для пропускной способности этих каналов приведены в [5].
1.2
Модуляция
В данном разделе представлено описание некоторых методов модуляции сигнала, рассматриваемых в данной работе. Под модуляцией здесь понимается процесс преобразования дискретной последовательности символов из конечного алфавита в непрерывный сигнал, пригодный для передачи по каналу.
1.2.1 Одноканальная M-ичная модуляция Передача данных по любой среде производится путем формирования некоторых вещественных сигналов sY (t), где t — время, а Y — передаваемая последовательность данных. Для простоты предположим, что Y = {. . . , yi, yi+1 , . . .} представляет собой последовательность независимых M-ичных символов; обобщения на случай кодированной передаваемой последовательности (кодированной модуляции) будут представлены ниже. Предполагая, что модуляция выполняется независимо для каждого из символов yi , получим, что переданный сигнал может быть представлен как X s(t) = s(t − iTs , yi ), i
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
17
где Ts — временной интервал, в течение которого передается один символ, а s(t, y) — сигнал, формируемый для передачи символа y. Важной характеристикой является средняя энергия, затрачиваемая на передачу одного символа. Если s(t) соответствует напряжению, то при импедансе передатчика, равном 1 Ом, и при условии равных вероятностей выбора всех передаваемых символов средняя энергия сигнала численно равна Z 1 X ∞ 2 Es = s (t, yi )dt. M y ∈A −∞ i
Модуляция может производиться как с использованием несущей с частотой fc > 0, так и без несущей (т.е. fc = 0). В случае систем с несущей различают базовый сигнал (или видеосигнал), непосредственно кодирующий передаваемую информацию, и полосовой сигнал, получаемый наложением базового сигнала на несущую частоту. Однако при рассмотрении систем с несущей в большинстве случаев их оказывается возможным заменить эквивалентной системой без несущей. В данной работе рассматриваются следующие простейшие методы модуляции (т.е. функции s(t, yi )): 1. Импульсно-амплитудная модуляция (АМ). Передаваемая информация кодируется амплитудой некоторого импульса, т.е. сигнал формируется как s(t, yi) = ℜ(V (2G(yi) − M + 1)gT (t)ej 2πfc t ), 0 ≤ yi ≤ M − 1 где V — некоторый коэффициент усиления, fc ≥ 0 — несущая частота, gT (t) задает форму импульса, а G(y) является функцией разметки сигнального множества. Одной из наиболее популярных функций разметки является код Грея, т.е. смежным сигналам сопоставляются значения yi , различающиеся ровно в одном бите. Такой способ позволяет снизить число неверно определяемых битов в случае ошибочной демодуляции. Пример сигнального множества с разметкой представлен на рис. 1.2(a). Вероятность ошибки на символ для M-ичной АМ равна [172] s ! 2(M − 1) 6Es (1.17) Q PM = M (M 2 − 1)N0 2. Квадратурно-амплитудная модуляция. Передаваемая информация кодируется как амплитудой, так и фазой сигнала, т.е. s(t, xi ) = V ℜ(Axi ej 2πf t ), где Axi ∈ C — один из элементов сигнального множества, представленного на рис. 1.2(b). Сигнал квадратурно-амплитудную модуляции можно также рассматривать как суперпозицию двух сигналов импульсно-амплитудной модуляции. Для случая аддитивного Гауссовского канала вероятность ошибки может быть вычислена как [172] s ! 3Es Pe ≤ 4Q (1.18) (M − 1)N0
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
18
100
100 101
101 111
111
110
110
010 010
011 001
011
000 001
100
101
111
110
010
001
011
000
000
(a) Импульсно-амплитудная (b) Квадратурно-амплитудная модуляция модуляция
Рис. 1.2 Примеры сигнальных множеств
1.2.2 Ортогональное разделение частот Ортогональное разделение частот (Orthogonal frequency Division Multiplexing, OFDM) [13] было предложено в конце 50-х годов 20 века [87, 141] и долгое время не применялось ввиду высокой сложности аппаратной реализации. Однако с появлением современных сигнальных процессоров эта проблема была снята и данный метод стал широко внедряться во многие практические системы. В системе с ортогональным частотным разделением данные передаются по набору подканалов с ортогональными несущими частотами. В результате полоса частот, занимаемая системой передачи данных, разбивается на большое число узких полос. Тогда условия распространения сигнала, передаваемого по каждому из подканалов, становятся близкими к ограниченному по полосе Гауссовскому каналу, что существенно упрощает построение приемника. Формально, отсчеты базового сигнала, передаваемого OFDM-системой, могут быть представлены как N −1 1 X 2π j ik √ si e N , k = 0, 1, . . . , N − 1, Sk = N i=0
(1.19)
или, в непрерывном времени, N −1 1 X 2π j it si e T , 0 ≤ t ≤ T, S(t) = √ N i=0
(1.20)
где T символьный интервал и si — сигналы, передаваемые по подканалам. Несложно заметить, что выражение (1.19) представляет собой обратное дискретное преобразование Фурье от символов, передаваемых по подканалам. Кроме того, к передаваемому сигналу добавляется префикс, состоящий из отсчетов S−v = SN −v , S−v+1 = SN −v+1 , . . . , S−1 = SN −1 . Это дает возможность полностью исключить межсимвольную и межканальную интерференцию за счет некоторого снижения скорости передачи данных [13, 172]. Если это условие не выполняется, возникает необходимость применения специальных методов подавления
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
19
Закодированные данные
Канал с МСИ h(τ )
АЦП
ДПФ
ЦАП
удален. цикл. префикса
Добавл. цикл. префикса
ОДПФ
Модуляция Модуляция Модуляция Модуляция Модуляция
К декодеру Выравнивание Выравнивание Выравнивание Выравнивание Выравнивание
Демодуляция Демодуляция Демодуляция Демодуляция Демодуляция
Приемник
Передатчик
Рис. 1.3 Структура OFDM-системы межсимвольной и межканальной интерференции [37, 101]. Требуемая величина циклического префикса может быть снижена с помощью фильтров, укорачивающих импульсный отклик канала [7, 6]. Передача сигнала S(t) по каналу с импульсным откликом h(τ ), который предполагается неизменным на протяжении символьного интервала T , приводит к возникновению межсимвольной интерференции, т.е. принятый сигнал R(t) после дискретизации может быть представлен как Rk = R(kT /N) =
L−1 X i=0
h(iT /N)S((k − i)T /N) + ηˆ(kT /N) =
N −1 X i=0
hi Sk−i + ηˆk , k = −v..N − 1,
(1.21) где ηˆ(t) — шумовой процесс Приемник OFDM-системы отбрасывает первые v принятых отсчетов, соответствующих циклическому префиксу. Несложно заметить, что оставшиеся отсчеты R0 ..RN −1 представляют собой циклическую свертку длины N последовательности Sk и дискретизованного импульсного отклика канала hi = h(iT /N). Следовательно, дискретное преобразование Фурье вектора (R0 , . . . , RN −1 ) дает величины 2
ri = µi si + ηi ,
(1.22)
PL−1
где µi = k=0 h(kT /N)e− j 2πki/N — передаточный коэффициент канала, а ηi — преобразованные отсчеты аддитивного Гауссовский шум с дисперсиями σi2 . Блок-схема OFDMсистемы представлена на рис. 1.3. Таким образом, передача данных по каналу с межсимвольной интерференцией может быть сведена к задаче передачи данных по векторному Гауссовскому каналу, каждый из подканалов которого может быть охарактеризован от2 ношением канал/шум ξi = |µσi2| . В большинстве случаев оказывается, что величины ξi i существенно различны, вследствие чего возникает необходимость адаптации используемой схемы передачи. Многочастотная передача может быть реализована в системах как с использованием несущей, так и без нее. Многочастотная передача без несущей носит название дискретной многотональной (Discrete Multitone, DMT) и применяется в кабельных системах электросвязи. В этом случае сигнал S(t) должен быть вещественным, что требует обеспечения эрмитовой симметрии символов si . 2
Необходимо отметить, что эти отсчеты не являются шумом и могут быть использованы для улучшения качества приема [138].
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
20
Существенным недостатком OFDM является большой динамический диапазон формируемого сигнала, что может вызвать сложности при реализации аналогового тракта системы. Для преодоления этой проблемы был предложен ряд методов [119, 97, 85, 51, 56, 55, 96, 21, 123, 33, 54, 93], позволяющих уменьшить пиковую величину передаваемого сигнала за счет некоторого снижения скорости передачи данных или увеличения средней мощности сигнала. Если импульсный отклик канала изменяется с течением времени или имеет место несовпадение частот осцилляторов в приемнике и передатчике, возможно возникновение межблоковой и межканальной интерференции, подавление которой требует применения специальных методов [13, 144, 9]. В данной работе предполагается, что этими эффектами можно пренебречь.
1.3
Многопользовательские системы связи
В данном разделе описаны некоторые широко используемые методы организации многопользовательских систем. Известно несколько типов систем связи со многими пользователями[172]. 1. Система множественного доступа, в которой несколько пользователей используют общий канал связи (например, полосу частот) для передачи инормации к приемнику. 2. Система вещания, в которой один передатчик передает информацию нескольким пользователям. Таким передатчиком может быть, например, базовая станция в системе мобильной связи. В [65] была установлена связь между характеристиками каналов множественного доступа и широковещательных каналов. 3. Сеть накопления-передачи, в которой некоторые (или все) узлы ретранслируют полученную информацию другим узлам. 4. Дуплексные системы связи. Предметом рассмотрения данной работы являются системы вещания. Основной характеристикой систем множественного доступа и систем вещания является область достижимых скоростей, т.е. такое подмножество C ⊂ RK , что K пользователей системы могут осуществлять передачу (прием) данных с произвольно малой вероятностью ошибки со скоростями Rk , k = 0..K − 1, такими что (R0 , . . . , RK−1) ∈ C. В большинстве случаев область достижимых скоростей является выпуклой. В этом случае ее граница может быть получена как решение оптимизационной задачи αk : Pmax α =1 k
K X
αk Rk
(1.23)
k=1
при соответствующих ограничениях. При рассмотрении систем вещания достаточно часто оказывается полезным использование модели ухудшающегося дискретного канала (см. рис. 1.4(a)), рассмотренной в
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
21
N (0,σ 02 )
Источник 0 Передатчик
Канал 0
Источник 0
Канал 1
+ Передатчик
Источник 1
Источник 1 Приемник 0
Приемник 1
(a) Ухудшающийся широковещательный канал
N (0,σ12 )
+
Приемник 0
Приемник 1
(b) Независимые широковещательные каналы
Рис. 1.4 Широковещательные каналы [168]. Анализ подобной системы основывается на том, что если передаваемые сообщения могут быть восстановлены с произвольно малой вероятностью ошибки на выходе худшей составляющей канала, то они могут быть восстановлены и на выходе лучшей составляющей. Более общую модель независимых широковещательных каналов (см. рис. 1.4(b)) во многих случаях удается свести к модели ухудшающегося канала путем переупорядочения каналов различных пользователей в соответствии с их качеством [46].
1.3.1 Временное разделение Простейшим способом разделения канала между пользователями является разбиение некоторого временного отрезка T на N неперекрывающихся интервалов длительностью T /N. Каждому пользователю выделяется один из этих интервалов. Такая система носит название временного разделения. Рассмотрим область достижимых скоростей системы вещания, использующей временное разделение. Пусть Ξ = (ξ0 , . . . , ξK−1) — вектор, характеризующий отношения канал/шум в каналах каждого из пользователей, причем сигналы, принятые всеми пользователями, предполагаются свободными от межсимвольной интерференции. Параметрами оптимизационной задачи (1.23) являются величины PK−1 τ (Ξ) = 1. τj (Ξ) характеризует долю времени, выделяемую пользователю τj (Ξ) : j=0 j j при состоянии каналов Ξ. Можно показать [80], что множество достижимых скоростей имеет вид [ Pj (Ξ)ξj K (R0 , . . . , RK−1) ∈ R |Rj ≤ MΞ τj (Ξ)W log2 1 + CT D (P ) = , (1.24) W P∈F где F — множество всех правил распределения мощности P, удовлетворяющих ограничениям "K−1 # X τj (Ξ)Pj (Ξ) ≤ P MΞ j=0 , K−1 X τj (Ξ) = 1 j=0
где P — максимальная допустимая мощность передаваемого сигнала. Необходимо отметить, что в тех случаях, когда ставится задача максимизировать полную пропускную
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
22
способность системы (т.е. α0 = α1 = . . . = αK−1 = K1 в (1.23)), оказывается достаточным выделить весь канал пользователю с наибольшим отношением канал/шум. В том случае, когда каналы являются частотно-селективными, величины ξj , j = 0..K −1 |H (f )|2 могут быть заменены на функции ξj (f ) = |Φjj (f )|2 . В этом случае область достижимых скоростей имеет вид Z [ K CT D (P ) = (R0 , . . . , RK−1) ∈ R |Rj ≤ τj (f ) log2 (1 + Pj (f )ξj (f )) df , (1.25) W
P∈F
где F — множество всех правил распределения мощности по частоте P, удовлетворяющих ограничениям Z K−1 X τj (Ξ, f )Pj (f )df ≤ P W j=0 , K−1 X τj (f ) = 1 ∀f j=0
где τj (Ξ, f ) задает параметры временного разделения различных частот.
1.3.2 Частотное разделение Метод частотного разделения состоит в разбиении имеющейся полосы частот на набор неперекрывающихся подполос, каждая из которых выделяется одному из пользователей. Большое распространение получил метод ортогонального частотного разделения, состоящий в выделении пользователям одного или нескольких подканалов в OFDM-системе. Можно показать [118], что средняя задержка сообщения в системе с частотным разделением больше, чем в случае временного разделения. В случае частотно-селективного канала полная пропускная способность системы может быть достигнута путем выделения каждого подканала i пользователю k = arg maxk ξki [19, 149, 90].
1.3.3 Пространственное и поляризационное разделение Разделение сигналов различных пользователей может также осуществляться за счет использования поляризованных и многолучевых антенн. Это позволяет существенно повысить эффективность использования дефицитного частотного ресурса.
1.3.4 Кодовое разделение Альтернативой частотному и временному разделению является кодовое разделение. В этом случае допускается одновременная передача сигнала по одной и той же полосе частот несколькими пользователями. Прием сводится к декодированию принятого сигнала, причем сигналы от других пользователей рассматриваются как шум (однопользовательский детектор) или производится совместное декодирование (многопользовательский
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
23
детектор). Для упрощения процедуры детектирования используется прием расширения спектра, состоящий в том, что каждый символ, передаваемый пользователем, умножается на некоторую расширяющую последовательность, уникальную для каждого пользователя, т.е. передаваемый сигнал базовой станции может быть представлен как (k) siS+s
=
K X k=1
(k)
aks yi , s = 0..S − 1
(1.26) (k)
где ak = (ak0 , . . . , ak,S−1) — расширяющая последовательность k-го пользователя, yi — i-й символ, передаваемый k-м пользователем. Детектирование сигнала, предназначенного k-му пользователю, может осуществляться следующими методами: • Однопользовательское детектирование, состоящее в том, что сигналы других пользователей рассматриваются как шум. Если мощность сигнала каждого из пользователей равна E, то сигнал детектируемого пользователя оказывается пораженным интерференцией и аддитивным Гауссовским шумом общей мощностью W N0 +(K −1)P . Если расширяющие последовательности, принадлежащие различным пользователям, ортогональны, однопользовательское детектирование3 может быть произведено путем взаимной корреляции принятого сигнала с соответствующей последовательностью. • Многопользовательское детектирование, состоящее в том, что декодер осуществляет поиск вектора, соответствующего наложенным сигналам пользователей, ближайшего к принятому сигналу. Эту процедуру можно также рассматривать как декодирование кода первого пользователя в условиях шума, создаваемого каналом и другими пользователями, вычитание его восстановленного сигнала из принятой последователности, декодирование кода второго пользователя и т.д. (последовательное декодирование). Таким образом, коды отдельных пользователей должны проектироваться с учетом шума, создаваемого друг другом. В более общем случае многомерного канала для проектирования пользовательских кодов, максимизирующих полную пропускную способность, могут быть использованы процедуры, представленные в работах [134, 149]. Как и в случае однопользовательских систем, архитектура приемника может быть существенно упрощена за счет использования многоканальной передачи. При этом возможны различные варианты отображения наложенных сигналов на параллельные подканалы [145]: 1. Многочастотное кодовое разделение (Multi-carrier CDMA, MC-CDMA), представленное на рис. 1.5(a). Каждая компонента совмещенного вектора длины S передается по отдельному подканалу, причем одновременно осуществляется передача P символов. Предположим, что набор из N подканалов4 разбит на P непересекающихся подмножеств Wp , p = 1..P размером Sf = N/P . Каждый из P символов каждого 3
При передаче по аддитивному Гауссовскому каналу. Необходимо отметить, что здесь N не обязательно должно быть равно числу подканалов в OFDMсистеме. Описанная конструкция может быть реализована на любом их подмножестве. 4
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
ОДПФ
Перемежение
ОДПФ
ОДПФ
Наложенные последовательности
Перемежение
Наложенные последовательности
Перемежение
Наложенные последовательности
24
(a) Многочастотное кодовое разде- (b) Многочастотное кодовое разде- (c) Многочастотное частотноление ление прямой последовательностью временное кодовое разделение
Рис. 1.5 Отображение наложенных сигналов на подканалы в многочастотной системе пользователя после расширения передаются по подканалам, входящим в соответствующее множество Wp . Как правило, эти множества формируются таким образом, что подканалы, входящие в них, максимально удалены друг от друга, что создает эффект разнесения [172]. Однако необходимо также учитывать возможное изменение корреляционных свойств расширяющих последовательностей после передачи их компонент по каналам с различающимися передаточными коэффициентами, что может привести к возникновению межпользовательской интерференции. Формально, переданный сигнал может быть представлен в частотной области как (j) = sw ps
K X k=1
(j)
Vkp ykp cks , s = 0..Sf − 1, p = 1..P
где K — число пользователей, (ck1 . . . , ckSf ) — расширяющая последовательность (j) k-го пользователя, ykp — p-й символ, передаваемый k-му пользователю в момент времени j, Vkp — соответствующий коэффициент усиления. Данный метод является простейшим способом реализации кодового разделения в многочастотной системе. Каждый пользователь может выделить предназначенные ему символы после получения одного OFDM-символа. Ясно, что максимальное число пользователей в подобной системе равно числу ортогональных расширяющих последовательностей S. Т.к. применение длинных расширяющих последовательностей общего вида часто оказывается затруднительным, в некоторых случаях применяется смешанное частотно-кодовое разделение. 2. Многочастотное кодовое разделение прямой последовательностью (multi-carrier direct sequence CDMA), представленное на рис. 1.5(b). В данном случае CDMAсигнал формируется независимо для каждого из подканалов, т.е. (jSt +s)
si
=
K X k=1
(j)
Vkiyki cks , s = 0..St − 1
Если каждый пользователь использует ровно одну расширяющую последовательность и осуществляет передачу по всем подканалам одновременно, общее число
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
25
пользователей ограничено числом расширяющих последовательностей S. Однако в некоторых случаях допускается использование одним пользователем нескольких расширяющих последовательностей. Если рассматривать пары (подканал, расширяющая последовательность) как независимые каналы передачи информации, то они могут быть произвольным образом распределены между пользователями. В этом случае общее число пользователей ограничено NSf 3. Многочастотное частотно-временное кодовое разделение5, представленное на рис. 1.5(c), является обобщением двух вышеописанных методов. Компоненты совмещенного вектора длины S распределяются по Sf подканалам и St OFDM-символам. Формально, переданный сигнал может быть представлен как (jSt +s) sw pi
=
K X k=1
(j)
Vkp ykp ck,iSt +s , s = 0..St − 1, i = 0..Sf − 1p = 1..P.
где ck uv — компоненты расширяющей последовательности длины St Sf , используемой k-м пользователя. Можно показать [80], что при использовании в широковещательной системе кодового разделения с многопользовательским декодированием область достижимых скоростей имеет вид " ( !#) [ P (Ξ) j C(P ) = (R0 , . . . , RK−1 ) ∈ RK |Rj ≤ MΞ W log2 1 + W PK−1 , P (Ξ)1[ξ < ξ ] + i j i i=0 P∈F ξj (1.27) где Pj (Ξ) — мощность, выделяемая в соответствии с некоторым правилом P для передачи данных j-го пользователя в том случае, когда каналы находятся в состоянии Ξ =P(ξ0 , . . . , ξK−1), F — множество всех правил распределения мощности, таких что MΞ [ K−1 j=0 Pj (Ξ)] ≤ P , 1(x) — индикаторная функция, равная 1 при выполнении логического условия x и 0 в противном случае. Граница этой области может быть получена как множество решений оптимизационной задачи "K−1 !# X Pj (Ξ) max MΞ αj log2 1 + W PK−1 (1.28) P0 (Ξ)..PK−1 (Ξ) + i=0 Pi (Ξ)1[ξj < ξi ] j=0 ξj при условии
MΞ
"K−1 X j=0
PK−1
#
Pj (Ξ) ≤ P
для параметров αj : j=0 αj = 1. Заметим, что решение этой оптимизационной задачи соответствует двухуровневому “водонаполнению” в пространстве пользователей и в 5
В [145] данная схема также называется MC-DS-CDMA, однако это название представляется не вполне адекватным
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
26
пространстве состояний канала. Если α0 = α1 = . . . = αK−1 = K1 , то оптимальным правилом P разделения является выделение всего канала для передачи данных пользователя с наименее зашумленным каналом. Аналогично случаю временного разделения, пропускная способность частотноселективного канала равна Z [ P (f ) j K df , 1 + (R0 , . . . , RK−1) ∈ R |Rj ≤ log2 C(P ) = K−1 X W 1 P∈F + Pi (f )1[ξj (f ) < ξi (f )] Ξj (f ) i=0 (1.29) o n PK−1 R где F = P : j=0 W Pj (f )df ≤ P и интегрирование ведется по всей полосе частот, занимаемой системой. Заметим, что при α0 = α1 = . . . = αK−1 = K1 оптимальное правило P, получаемое путем решения соответствующим образом модифицированной оптимизационной задачи (1.28), соответствует частотному разделению канала. При других значениях этих параметров совместное использование (на основе кодового или временного разделения) отдельных частот может оказаться неизбежным. Необхоимо также отметить, что максимизация взвешенной пропускной способности (см. (1.28), (1.23)), используемая при построении области достижимых скоростей, не позволяет гарантировать фиксированную пропускную способность канала для отдельных пользователей. Можно показать [80], что область достижимых скоростей при использовании кодового разделения без последовательного декодирования входит в область достижимых скоростей, соответствующую временному разделению. Тем не менее, в данной работе будут рассматриваться системы вещания, основанные на кодовом разделении с однопользовательским декодиронием, т.к. использование кодового разделения позволяет существенно упростить отображение передаваемых сигналов на многочастотную систему.
1.4 Помехоустойчивое кодирование В данном разделе описываются некоторые методы помехоустойчивого кодирования, используемые в последующих главах.
1.4.1 Основные понятия Пусть задано векторное пространство An , на котором определена метрика d(y), y ∈ An . Тогда [n, M, d] кодом C называется некоторое подмножество векторов из этого пространства, где M — размер кода (число векторов), d = min d(y1 − y2 ) — его минимальное y1 ,y2 ∈C, y1 6=y2
расстояние. При практическом использовании кодов, исправляющих ошибки, необходимо также задание некоторого алгоритма, позволяющего по произвольному вектору z найти
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
27
ближайшее к нему кодовое слово y = arg min d(z − y). В большинстве случаев полное y∈C
решение этой задачи оказывается чрезмерно сложным, вследствие чего используются различные субоптимальные методы, основанные на некоторых специальных свойствах кода C. Кроме того, желательно наличие компактного способа задания кода и эффективного метода кодирования, т.е. отображения ⌊log2 M⌋-битного сообщения в одно из слов C. Наибольшее распространение получили линейные коды над GF (q) [169]. В качестве метрики здесь наиболее часто используется метрика Хемминга d(y) = wt(y) = |{i|yi 6= 0}|.
(1.30)
Линейным (n, k, d) кодом называется k-мерное линейное подпространство GF (q)n . Очевидно, что размер кода равен M = q k . Всякий линейный код C характеризуется порождающей и проверочной матрицами G и H, причем C = {y ∈ GF (q)n |y = mG, m ∈ GF (q)k }, ∀y ∈ C : H T y = 0. Видно, что GH T = 0. Несложно показать, что если принятый вектор может быть представлен как z = y + e, где e — вектор ошибки, то исходный вектор y может быть однозначно восстановлен, если wt(e) ≤ t = ⌊(d − 1)/2⌋. Если вес вектора ошибки превышает это значение, то может быть использовано списочное декодирование, состоящее в поиске всех кодовых слов, совпадающих с вектором z не менее чем в τ позициях. Известно достаточно много классов линейных кодов, обладающих эффективными алгоритмами декодирования. Далее будут описаны два класса линейных кодов, которые будут рассматриваться в последующих главах.
1.4.2 Коды Рида-Соломона Коды Рида-Соломона являются одним из наиболее популярных классов корректирующих кодов, используемых в современных системах. Их использование предусмотрено стандартами физического уровня многих телекоммуникационных систем. (n, k, d) код Рида-Соломона над GF (q) является циклическими кодом с порождающим многочленом Q (x − αβ+i ), где α — примитивный элемент GF (q), β ≥ 0, n ≤ q, т.е. код может g(x) = d−2 i=0 быть представлен как CRS = {(y1, . . . , yn )|Y (x) =
n−1 X
yi xi = m(x)g(x), deg m(x) < k},
(1.31)
i=0
где m(x) — многочлен, коэффициентами которого являются информационные символы. Из границ БЧХ и Синглтона [169] следует, что минимальное расстояние кода равно d = n − k + 1. Во многих приложениях целесообразно применять систематическое кодирование, т.е. использовать для передачи данных кодовые слова, имеющие своей частью исходное сообщение. Несложно показать, что всякий многочлен вида c(x) = xd−1 m(x) − xd−1 m(x) mod g(x)
соответствует кодовому слову кода Рида-Соломона и его коэффициенты cd−1 , . . . , cn−1 совпадают с коэффициентами информационного многочлена m(x). Поэтому данное выражение представляет собой способ систематического кодирования как кодов Рида-Соломона, так и любых других циклических кодов[169].
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
28
С другой стороны, все кодовые слова могут быть представлены как CRS = {(y1 , . . . , yn )|yi = m(xi ), xi ∈ GF (q), i = 1..n},
(1.32)
где xi — различные элементы конечного поля, называемые локаторами кода. Ясно, что для одного и того же многочлена m(x) описанные способы кодирования дают разные кодовые слова, но несложно показать, что они все эквивалентны6. Далее будут рассмотрены два метода алгебраического декодирования кодов РидаСоломона. Классическое синдромное декодирование Пусть z = y + e, причем y ∈ CRS , wt(e) ≤ t. В многочленном представлении принятый Pn−1 Pwt(e) вектор может быть записан как Z(x) = Y (x) + E(x), Z(x) = i=0 zi xi , E(x) = l=1 ejl xjl , где Ejl — значение ошибки, произошедшей в символе jl . Вычислим синдромный многочлен этого вектора S(x) =
d−2 X
Si xi : Si = Z(αβ+i ) = M(αβ+i )g(αβ+i) + E(αβ+i) = E(αβ+i ).
(1.33)
i=0
Как и для всех линейных кодов, синдром принятого вектора зависит только от вектора ошибки. Предположим, что в результате воздействия канала искажению подверглись символы jl ∈ J : |J| ≤ t, т.е. X Si = ejl α(β+i)jl . jl ∈J
Величины El = ejl и Xl = αjl носят названия значений и локаторов ошибок. Тогда S(x) =
X
ejl α
Pd−2
i=0 (Xl x)
S(x) =
i
d−2 X
(Xl x)i
i=0
jl ∈J
Т.к. 1 − (Xl x)d−1 = (1 − Xl x)
βjl
≡ 1 mod xd−1 , получим
X El αβjl mod xd−1 1 − X x l j ∈J l
Пусть Λ(x) =
Y
jl ∈J
(1 − Xl x)
(1.34)
Xl−1
— многочлен локаторов ошибок (т.е. являются его корнями). Кроме того, введем многочлен значений ошибок X El αβl X Y βl (1 − Xp x) = Λ(x) Γ(x) = El α 1 − Xl x j ∈J j ∈J l
6
Третий способ — при β = 0.
jp ∈J/jl
l
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
29
Таким образом, получено ключевое уравнение для декодирования кодов Рида-Соломона Γ(x) = Λ(x)S(x) mod xd−1 .
(1.35)
Это уравнение может быть решено с помощью алгоритмов Берлекэмпа-Месси или Евклида [155]. После того, как получен многочлен Λ(x), необходимо найти его корни, указывающие местоположение искаженных символов. Далее значения ошибок могут быть найдены как (алгоритм Форни) Xl Γ(X −1 ) El = − βl · ′ l−1 (1.36) α Λ (Xl ) Таким образом, задача вычисления вектора ошибки по принятому вектору разбивается на следующие этапы: 1. Вычисление синдромного многочлена (1.33). 2. Решение ключевого уравнения (1.35). 3. Поиск корней многочлена локаторов ошибок (1.34). 4. Вычисление значений ошибок (1.36). При реализации этого метода оказывается, что наиболее трудоемкими этапами являются вычисление синдрома и поиск корней многочлена локаторов ошибок. В разделе 1.4.3 представлено описание некоторых вычислительных алгоритмов, которые могут быть использованы для эффективной реализации этих шагов. Списочное декодирование Рассмотрим задачу списочного декодирования (n, k, n − k + 1) кода Рида-Соломона, т.е. поиска для любого заданного вектора Y = (y1 , . . . , yn ) всех кодовых слов, совпадающих с ним по крайней мере в τ позициях. С учетом (1.32), она может быть cформулирована как поиск всех многочленов f (j) (x) : deg f (j) (x) < k, совпадающих с заданным вектором (y1 , . . . , yn ) по крайней мере в τ точках xi . Определение 1. j-й производной Хассе многочлена g(x) в точке x0 называется коэффициент при xj многочлена g ′(x) = g(x + x0 ): X j ′ Cj ′ gj ′ xj0 −j g [j](x0 ) = coeff(g(x + x0 ), xj ) = j ′ ≥j
Заметим, что производная Хассе связана с обычной производной соотношением j g(x) g (x0 ) = j!1 ∂ ∂x . Аналогично могут быть определены частные производные Хассе j x=x0 P многочлена от двух переменных Q(x, y) = j1 ,j2 qj1 j2 xj1 y j2 : [j]
Q[j1 ,j2 ] (x0 , y0 ) = coeff(Q(x + x0 , y + y0 ), xj1 y j2 ) =
X X
j1′ ≥j1 j2′ ≥j2
j ′ −j1 j2′ −j2 y0
Cjj′1 Cjj′2 qj1′ j2′ x01 1
2
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
30
Определение 2. (wx , wy )-взвешенной степенью одночлена xi y j называется wdeg(wx ,wy ) xi y j = iwx + jwy P (wx , wy )-взвешенной степенью многочлена Q(x, y) = i,j qij xi y j называется максимальная (wx , wy )-взвешенная степень его членов qij xi y j : qij 6= 0. Многочлен Q(x, y) имеет корень кратности r в точке (x0 , y0 ), если все его производные Хассе общего порядка до r равны 0. В работе [52] был предложен алгоритм списочного декодирования кодов РидаСоломона с полиномиальной сложностью, состоящий из следующих этапов: 1. Построить ненулевой многочлен Q(x, y) : wdeg(1,k-1) Q(x, y) ≤ l, имеющий точки (xi , yi ) корнями кратности r: X X j j j ′ −j j ′ −j Cj ′1 Cj ′2 qj1′ j2′ xi 1 1 yi 2 2 = 0 (1.37) ∀i = 1..n, j1 + j2 < r : Q[j1 ,j2 ] (xi , yi ) = j1′ ≥j1 j2′ ≥j2
1
2
2. Найти все f (j) (x) : Q(x, f (j) (x)) = 0. Решениями задачи списочного декодирования являются все вектора (j) (j) (j) (j) (j) (j) {(z1 , . . . , zn )|zi = f (xi ), deg f (x) < k, {i|zi = yi } ≥ τ }
Здесь l и r являются параметрами алгоритма; в [52, 95] представлены условия на них, позволяющие максимизировать число исправляемых ошибок. Введем лексикографическое упорядочение одночленов xα y β ≤lex xa y b ⇐⇒ α < a ∨ (α = a ∧ β ≤ b).
Т.к. алгоритм Гурусвами-Судана накладывает ограничения на взвешенную степень, введем упорядочение одночленов по их взвешенной степени: f ≤wdeg g ⇐⇒ wdeg(1,k-1) (f ) < wdeg(1,k-1) (g) ∨ wdeg(1,k-1) (f ) = wdeg (1,k-1) (g) ∧ f ≤lex g
Пусть LT Q(x, y) обозначает старший член Q(x, y) относительно упорядочения ≤wdeg . Для построения решения задачи интерполяции на первом шаге алгоритма достаточно P 2 рассмотреть многочлены вида Q(x, y) = N q m i=0 i i , где N = nCr+1 — число уравнений в (1.37); mi — все одночлены взвешенной степени не более l, упорядоченные в соответствии с отношением ≤wdeg : m0 ≤wdeg m1 ≤wdeg . . . ≤wdeg mi ≤wdeg . . . .
Несложно показать [95], что в этом случае wdeg(0,1) Q(x, y) ≤ ρr − 1, где Cρ2r ≤
2 nCr+1 < Cρ2r +1 , k−1
(1.38)
Разобъем все многочлены Q(x, y) : wdeg(0,1) Q(x, y) ≤ ρr − 1 на ρr непересекающихся классов Gj = {Q(x, y)| LT Q(x, y) = y j xi , i ≥ 0}. Будем последовательно обрабатывать
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
31
ITERATIVEINTERPOLATE(n, r, {(xi , yi ), i = 1..n}) 1 for j := 0 to ρr − 1 2 do Qj (x, y) := y j 3 for i := 1 to n 4 do for α := 0 to r − 1 5 do for β := 0 to r − α − 1 [α,β] 6 do ∆j := Qj (xi , yi ), j = 0..ρr − 1 7 j0 := arg min Qj (x, y) j:∆j 6=0
8 9 10 11
for j 6= j0 ∆ do Qj (x, y) := Qj (x, y) − ∆jj Qj0 (x, y) 0 Qj0 (x, y) := (x − xi )Qj0 (x, y) return minj Qj (x, y) Рис. 1.6 Интерполяционный алгоритм Нильсена
интерполяционные уравнения (1.37), строя на каждом шаге для каждого Gj многочлен, удовлетворяющий всем обработанным условиям. При этом допустимыми действиями являются умножение многочлена на константу, сложение многочлена из одного класса с меньшим многочленом из другого класса и умножение на многочлен первой степени. Ясно, что применение этих операций к многочлену не выводит его за пределы его класса. На рис. 1.6 представлен алгоритм Нильсена, реализующий описанный подход [95, 94]. В [95] показано, что многочлены Qj (x, y), получаемые после обработки всех интерполяционных условий, являются минимальными в классах Gj , удовлетворяющими им. Несложно показать, что алгоритм Нильсена с любым порядком обработки интерполяционных точек приведет к эквивалентным результатам. Видно, что сложность вычисления одной производной Хассе многочлена, имеющего s членов, равна O(s), т.е. асимптотическая сложность вычисления вектора невязок ∆ на каждом шаге равна O(ρr s) = O(ρr nr 2 ) = O(nr 3). Аналогично, сложность манипуляций с многочленами равна O(nr 3 ). Таким образом, общая асимптотическая сложность алгоритма составляет O(n2 r 5 ). Для поиска корней y = f (j) (x) интерполяционного многочлена Q(x, y), получаемого на первом шаге, может быть использован алгоритм Рота-Рукенштейна[113]. Этот подход Pk i основан на следующем свойстве. Предположим, что f (x) = i=0 fi x является корнем многочлена Q(x, y), рассматриваемого как полином от y, с коэффициентами, являющимися полиномами от x: l X Q(x, f (x)) = hj (x)(f (x))j = 0 j=0
Если это необходимо, разделим многочлен Q(x, y) на множитель xs максимально возPl можной степени. Тогда Q(0, f (0)) = j=0 hj (0)f0j = 0. Решая это уравнение относительно f0 , получим набор возможных значений начальных коэффициентов искомых многочленов f (x). 0 = f1 + f2 x + . . .. Пусть Q′ (x, y) = Q(x, y + f0 ); Q′′ (x, y) = Q′ (x, xy). Пусть f ′ (x) = f (x)−f x
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
32
RECONSTRUCT(Q(x, y), k, i, φ) 1 Найти наибольшее t, такое что xr делит Q(x, y) 2 M(x, y) := Q(x, y)/xr ; 3 Найти корни mj многочлена от одной переменной M(0, y) ; 4 for Each root mj 5 do φ[i] := mj ; 6 if i = k − 1 7 then return φ; c(x, y) := M(x, y + mj ); 8 else M ˜ (x, y) := M(x, yx); 9 M ˜ (x, y), k, i + 1, φ); 10 RECONSTRUCT(M Рис. 1.7 Поиск корней многочлена от двух переменных Тогда Q′′ (x, f ′ (x)) = Q′ (x, xf ′ (x)) = Q(x, xf ′ (x) + f0 ) = Q(x, f (x)) = 0 Таким образом, коэффициент f1 может быть найден аналогично f0 . Таким образом, корни многочлена от двух переменных могут быть рекурсивно выражены через корни многочленов от одной переменной. Асимптотическая сложность данного алгоритма равна O((l log2 l)k(n+ l log q)). Таким образом, вычислительно наиболее сложным этапом списочного декодирования кодов Рида-Соломона является интерполяционный шаг. Необходимо отметить, что для высокоскоростных кодов может быть выполнено преобразование данных, позволяющее снизить размерность задачи [73].
1.4.3 Вычислительные алгоритмы алгебраического декодирования В данном разделе представлено описание некоторых вычислительных алгоритмов, которые могут быть использованы для повышения производительности вышеописанных методов алгебраического декодирования кодов Рида-Соломона. Как было указано выше, наиболее трудоемкими этапами классического синдромного декодирования кодов РидаСоломона являются поиск корней многочленов над конечным полем, т.е. нахождение x ∈ GF (q) : f (x) =
t X
fi xi = 0,
i=0
и вычисление значений многочлена в наборе точек Fj = f (αj ) =
n X
fi αij .
i=0
Последняя задача может также рассматриваться как вычисление неполного дискретного преобразования Фурье многочлена над конечным полем. Заметим, что аналогичные вычислительные задачи возникают и при списочном декодировании кодов Рида-Соломона.
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
33
Известно достаточно большое число алгоритмов решения этих задач, среди которых можно выделить следующие: 1. P Процедура Ченя является переборным методом поиска корней многочлена f (x) = t i i=0 fi x и состоит в переборе элементов поля с вычислением значений многочлена для каждого xj ∈ GF (2m ). Если многочлен f (x) не имеет кратных корней и требуется найти d корней из t при наличии n возможных кандидатов, то вычисления могут быть прекращены немедленно после нахождения последнего из d корней. В этом случае математическое ожидание числа обращений к процедуре вычисления значений многочлена равно W = W (d, n, t) = d
n+1 t+1
(1.39)
Доказательство. Вероятность того, что k-ый элемент множества возможных корней X = {xi ∈ GF (2m )|i = 1..n} окажется d-ым корнем равна p{f (xk ) = 0d } =
t−d Ckd Cn−k d Cnt k
Математическое ожидание числа обращений к процедуре вычисления значений многочлена при поиске d корней равно n X
n d X d t−d k p{f (xk ) = 0d } = t W = C C , Cn k=1 k n−k k=1
Используя тождество
r X
n m m+n+1 Cs+k Cr−k = Cr+s+1 ,
k=0
получаем требуемое.
Процедура Ченя может быть реализована двумя способами. Алгоритм Ченя [22] использует массив Q, инициализируемый коэффициентами многочлена: Qi := fi . На Pt каждом шаге j значение многочлена вычисляется как f (xj ) = i=0 Qi , после чего элементы массива обновляются: Qi := Qi αi. Схема Горнера является оптимальным методом вычисления значения многочлена в одной точке. Значения вычисляются как f (x) = f0 + x(f1 + x(f2 + ... + ft )). В обоих случаях сложность равна CChien = W (Cmul + Cadd )t,
(1.40)
где Cmul и Cadd — сложности операций умножения и сложения соответственно. 2. Орбитальный метод поиска корней многочленов [23]. Предположим, что исходный многочлен имеет два корня, лежащих в одном циклотомическом классе, т.е. f (x) = k f ′ (x)(x − x0 )(x − x20 ). Тогда k
GCD(f (x), f2k (x)) = (x − x20 ),
(1.41)
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ где f2k (x) =
t X
k
fi2 xi
34
(1.42)
i=0
Многочлены, получаемые на основе соотношения (1.41), имеют, как правило, небольшую степень, что позволяет использовать для них эффективные методы поиска корней. Таким образом, часть корней может быть исключена в соответствии со следующим алгоритмом: • Построить набор f2k (x), k = 1..r/2, где r — максимальный размер циклотомического класса по модулю 2m − 1; • Вычислить gk (x) = GCD(f (x), f2k (x)) k
• Найти корни x2ki многочленов gk (x). Корнями исходного многочлена являются k пары (xki , x2ki ). Q • Разделить исходный многочлен на j (x − xj ), где xj — все известные корни многочлена • Произвести перебор значений ji по всем циклотомическим классам по модулю 2m − 1, проверяя выполнение соотношения f (αji ) = 0. При обнаружении такого значения оно должно быть внесено в список известных корней. Перебор элементов циклотомического класса, в котором на одном из этапов этой процедуры был найден хотя бы один корень, может не проводиться.
Для ускорения вычислений на последнем этапе после нахождения очередного корня xi многочлен может быть разделен на (x − xi ). 3. Поиск наименьшего аффинного кратного Определение 3. Линеаризованными многочленами над GF (2m ) называются многочлены вида X i l(x) = li x2 , li ∈ GF (2m ) i
Несложно показать, что для линеаризованных многочленов выполняется l(a + b) = l(a) + l(b), a, b ∈ GF (2m ).
(1.43)
Следствием этого свойства является следующая теорема, представленная здесь в немного модифицированном виде: Теорема 1 ([154]). Пусть y ∈ GF (2m ) и элементы β0 , β1 , ..., βm−1 образуют некоторый базис этого поля. Если y=
m−1 X i=0
то
yi βi , yi ∈ GF (2),
l(y) =
m−1 X i=0
yil(βi ).
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
35
Обобщением линеаризованных многочленов являются аффинные многочлены, т.е. многочлены вида a(x) = l(x) + b, b ∈ GF (2m ), где l(x) — линеаризованный многочлен. Теорема 1 позволяет использовать для поиска корней аффинных многочленов классическиеPметоды решения систем линейных уравнений. Действительно, если веm−1 ′ i yiα является корнем многочлена a(y) = l(y) + b, где элементы αi личина y ′ = i=0 образуют стандартный базис, то выполняется l(α0 ) l(α1 ) ′ (1.44) (y0′ , y1′ , ..., ym−1 ) ... = (b0 , b1 , ..., bm−1 ), l(αm−1 )
где l(αi ) рассматриваются как вектора над GF (2). Следовательно, решая систему (1.44), можно найти все корни аффинного многочлена.
Ввиду того, что для поиска корней аффинного многочлена может быть использован алгоритм Гаусса, задача нахождения корней произвольного многочлена f (x) может быть заменена задачей поиска кратного ему аффинного многочлена a(x) = p(x)f (x), поиска его корней и отбрасыванием паразитных корней многочлена p(x). Алгоритм для нахождения наименьшего аффинного кратного произвольного многочлена приведен в [154]. 4. Метод Берлекэмпа-Рамсея-Соломона поиска корней многочленов степени 2. Предположим, что необходимо найти все простые корни многочлена f (x) = x2 +√ax + b. В тех случаях, когда a = 0, многочлен имеет один корень кратности 2 x = b, что свидетельствует об ошибке. В противном случае выполним подстановку x = ay. Тогда многочлен преобразуется в g(y) = y 2 + y + c, c = ab2 . Т.к. полученный многочлен является аффинным, для нахождения его корней может быть использован метод Берлекэмпа-Рамсея-Соломона [154]. Поиск корней сводится к нахождению решений системы l(1) (y0 , y1, ..., ym−1 ) ... = (c0 , c1 , ..., cm−1 ), (1.45) l(αm−1 ) где l(x) = x2 + x. Эта система имеет не более 2 решений. Необходимо отметить, что множество решений этой системы уравнений может быть построено заранее в общем виде. Это дает возможность найти решение уравнения к помощью набора простых логических схем, реализующих вектора умножение на столбцы некоторой матрицы.
5. Метод Чена поиска корней многочленов степени 2. Для поиска одного из корней квадратного трехчлена над GF (2m ), m mod 2 = 1 после его преобразования к виду G(y) = y 2 + y + b может использоваться формула [20] X i X j y1 = b2 = b2 ; I = {1, 3, ..., m − 2}, J = {0, 2, ..., m − 1} (1.46) i∈I
j∈J
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
36
В случае четных m необходимо воспользоваться модифицированным следом эле(m−2)/2 X 2i мента Tr4 (a) = a2 . Если многочлен y 2 + y + b имеет корни в GF (2m ), то i=0
Tr4 (b) ∈ {0, 1}. В тех случаях, когда m = 2 mod 4, справедливы соотношения P(m−6)/4 2+4i (b + b2 )2 , Tr4 (b) = 0, (1.47) y1 = i=0 P(m−6)/4 2 2 22+4i y1 = α + i=0 (b + b ) , α + α = 1, Tr4 (b) = 1 Если m = 0 mod 4, то аналогичным образом может быть показано, что m/4−1 X m−1 2i+m/2 1 + , y = S + S 4 + b2 b2
(1.48)
i=0
m/4−1 m/4−1
где S =
X X j=1
2i−1+m/2 +22j−1
b2
.
i=j
6. Табличный метод поиска корней многочленов состоит в сведении произвольного многочлена к канонической форме с небольшим числом параметров и использовании их в качестве ключа для поиска по заранее подготовленной таблице корней многочленов [23]. Основным недостатком этого метода является наличие сравнительно больших таблиц корней с нерегулярной структурой, затрудняющей поиск. 7. Аналитический метод поиска корней многочленов третьей и четвертой степени основывается на известных выражениях для корней многочленов малой степени [158]. 8. Алгоритм Кули-Тьюки вычисления дискретного преобразования Фурье [155, 150]: ′′
′
n = n′ n′′ , β = αn , γ = αn i = i′ + n′ i′′ , i′ = 0, ..., n′ − 1, i′′ = 0, ..., n′′ − 1 j = n′′ j ′ + j ′′ , j ′ = 0, ..., n′ − 1, j ′′ = 0, ..., n′′ − 1 # " ′′ −1 ′ −1 nX n X ′′ ′′ ′ ′ ′ ′′ γ i j fi′ ,i′′ , β i j αi j Fj ′ ,j ′′ = i′′ =0
i′ =0
где Fj = Fj ′ ,j ′′ . Сложность данного алгоритма равна WCT ≈ (n(n′ + n′′ ) + n)Cmul . 9. Алгоритм Гуда-Томаса вычисления дискретного преобразования Фурье: n = n′ n′′ , N ′ n′ + N ′′ n′′ = 1, НОД(n′ , n′′ ) = 1 ′′
′′ 2
′
′ 2
, β = αN (n ) , γ = αN (n ) i′ = i mod n′ , i′′ = i mod n′′ j ′ = N ′′ j mod n′ , j ′′ = N ′ j mod n′′ "n′′ −1 # ′ −1 n X X ′′ ′′ i′ j ′ i j β Fj ′ ,j ′′ = γ fi′ ,i′′ i′ =0
i′′ =0
Сложность данного алгоритма равна WGT ≈ n(n′ + n′′ )Cmul .
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
37
10. Метод Рейдера. Компоненты векторов f и F могут быть переупорядочены как fk∗ = fγ k , Fl∗ = Fγ l , k, l = 0..n − 2, где γ — порождающий элемент группы порядка n − 1. Т.к. ∀k : γ k 6= 0, выражение для ДПФ может быть переписано как F ∗ (x) =
n−2 X n−2 X l=0 k=0
xl fk∗ αγ
k+l
+ f0
n−2 X
xl
l=0
Видно, что при фиксированном l изменение k приводит к циклическому Pn−2 сдвиi γ k+l γi гу последовательности {α }. Вводя обозначения ωi = α , ω(x) = i=0 ωi x и P f ∗ (x) = k fk∗ xk , получим F ∗ (x) = f ∗ (x)ω(x)
(mod xn−1 − 1) + f0
xn−1 − 1 x−1
Таким образом, алгоритм БПФ может быть построен на основе быстрого алгоритма вычисления циклической свертки. Q 11. Алгоритм Герцеля для конечных полей. Пусть xn −1 = i πi (x), где πi (x) ∈ GF (q)[x] — минимальные многочлены элементов поля GF (q m ), n = q m − 1. Всякий элемент этого поля является корнем ровно одного многочлена πi (x). Вычислим остатки от деления многочлена f (x) на минимальные многочлены: f (x) = qi (x)πi (x) + φi (x) Тогда f (αj ) = φi (αj ) для всех αj : πi (αj ) = 0. Ясно, что вычисление значения многочлена φi (x) требует намного меньших вычислительных затрат, чем аналогичная операция над многочленом f (x). Вычисление собственно многочленов φi(x) требует только операций над простым подполем GF (q), которые, как правило, существенно проще операций в GF (q m ). Наличие ограничений на свойства n приводит к тому, что построение эффективного алгоритма БПФ для практически используемых длин становится самостоятельной задачей с плохо формализованными методами решения [160]. Более того, как было показано выше, при реализации алгоритмов декодирования кодов Рида-Соломона требуется вычисление неполного ДПФ или ДПФ многочлена малой степени. Большинство из описанных быстрых алгоритмов оказываются абсолютно неэффективными при такой постановке задачи.
1.4.4 Низкоплотностные коды Основные понятия Низкоплотностные коды были предложены Галлагером [43]. Отличительной особенностью (n, k)-низкоплотностного кода является существование разреженной проверочной m × n, n − k ≤ m матрицы H, т.е. такой матрицы, у которой число ненулевых элементов пренебрежимо мало по сравнению с ее размерами. Проверочная матрица может быть представлена в виде графа Таннера. Граф Таннера является двудольным неориентированным графом, имеющим n символьных и m проверочных узлов, причем i-ый символьный
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
38
узел соединен с j-ым проверочным узлом тогда и только тогда, когда Hji = 1. Код называется (wc , wr )-регулярным, если каждый столбец и каждая строка проверочной матрицы имеют ровно wc и wr ненулевых элементов соответственно. В противном случае код называется нерегулярным. (λ, ρ)-нерегулярный код характеризуется многочленами λ(x) и ρ(x) распределения степеней символьных и проверочных узлов соответственно. В многочлене λ(x) =
dv X
λd xd−1
d=1
λd равно доле ребер в графе Таннера, соединенных с символьными узлами степени d, где dv обозначает максимальную степень узла. Ясно, что λ(1) = 1. Аналогичным образом определяется многочлен распределения степеней проверочных узлов ρ(x). Кроме того, несложно показать, что скорость кода связана с распределениями степеней узлов следующим образом: R1 ρ(x)dx r = 1 − R01 (1.49) λ(x)dx 0 Итеративный алгоритм декодирования
Предположим, что используется двоичный низкоплотностной код и допустим, что передача данных ведется по аддитивному Гауссовскому каналу, причем нулевые биты кодовых слов y передаются как 1, а единичные — как −1, т.е. ri = (−1)yi + ηi , i = 1..n.
(1.50)
Алгоритм мягкого декодирования низкоплотностных кодов известен под названиями алгоритма передачи сообщений, алгоритма “сумма-произведение” и алгоритма распространения доверия. Его суть сводится к итеративному вычислению апостериорных вероятностей того, что каждый из символов переданного кодового слова y = (y0 , . . . , yn−1 ) равен 1 на основе принятого вектора r = (r0 , . . . , rn−1 ), т.е. P (yi = 1|r), или, эквивалентно, логарифмического отношения правдоподобия7 P (yi = 0|r) L(yi ) = ln . P (yi = 1|r) Алгоритм декодирования состоит в передаче сообщений по сети, задаваемой графом Таннера. Во время первой полуитерации сообщения пересылаются от каждого из символьных узлов к смежным с ним проверочным узлам. Информация, содержащаяся в этих сообщениях, соответствует вероятности того, что соответствующий символ равен 1 при условии r и всех сообщений, принятых узлом на предыдущей полуитерации, причем сообщение, посылаемое любому из узлов вычисляется без учета сообщения, поступившего от этого узла на предыдущей полуитерации. Во время второй полуитерации сообщения посылаются от проверочных узлов к символьным узлам. При этом сообщения указывают 7
Обычно отношение правдоподобия определяется как отношение вероятности 1 к вероятности 0, но в данном случае удобнее воспользоваться обратным отношением.
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
39
вероятность того, что проверочное уравнение выполняется, если соответствующий символ равен 1. Введем следующие обозначения: 1. Vj — множество символьных узлов, соединенных с проверочным узлом #j; 2. Vj \i = Vj \{i}; 3. Ci — множество проверочных узлов, соединенных с символьнным узлом #i; 4. Ci \j = Ci \{j}; Путем несложных преобразований можно показать [114], что декодирование низкоплотностных кодов может быть выполнено следующим образом: 1. Вычислить лог. отношения правдоподобия принятых символов. Для аддитивного Гауссовского канала с дисперсией шума, равной σ 2 , они задаются выражением L(qij ) = L(yi ) = 2ri /σ 2 . 2. Вычислить {L(rji)} в соответствии с выражением Y X L(rji ) = αi′ j · φ φ(βi′ j ) , i′ ∈Vj \i
(1.51)
(1.52)
i′ ∈Vj \i
где αij = sign L(qij ), βij = |L(qij )|,
φ(x) = − log tanh(x/2) (1.53) Q и φ−1 (x) = φ(x), x > 0. Заметим, что i′ ∈Vj \i αi′ j соответствует операции “исключающее или”. 3. Вычислить {L(qij )} в соответствии с выражением X L(qij ) = L(ci ) + L(rj ′ i ).
(1.54)
j ′ ∈Ci \j
4. Вычислить апостериорные лог. отношения правдоподобия для символов принятого вектора в соответствии с выражением X L(Qi ) = L(ci ) + L(rji ). (1.55) j∈Ci
5. Проверить слово yˆ = (ˆ y0 , . . . , yˆn−1 ), где yˆi = 1 если L(Qi ) < 0, на предмет принадлежности коду, т.е. yˆH T = 0. При выполнении этого условия производится останов. 6. Переход к шагу 2, до тех пор пока не будет превышено некоторое предельное число итераций.
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
40
Анализ и построение низкоплотностных кодов Графовая структура низкоплотностных кодов позволяет произвести анализ поведение декодера (по крайней мере, асимптотически). В [110, 111] был представлен метод вычисления распределений сообщений, циркулирующих по сети, задаваемой графом Таннера, на каждой итерации вышеописанного алгоритма декодирования. Это позволяет для заданной дисперсии шума в канале найти вероятность наличия в сети ошибочных сообщений после нескольких итераций. Кроме того, в [110] было доказано существование порогового отношения сигнал/шум γ0 , такого что для всех γ > γ0 декодирование низкоплотностного кода бесконечной длины с заданными распределениями λ(x) и ρ(x) является успешным. Это позволяет сформулировать оптимизационную задачу нахождения λ(x) и ρ(x), минимизирующих γ0 при заданной скорости кода. Вычислительные эксперименты позволяют получить оптимальные значения порога, вплотную приближающиеся к границе Шеннона [98]. На основе полученных таким образом параметров λ(x) и ρ(x) могут быть алгоритмически построены коды умеренной длины с очень хорошими характеристиками. Вместе с тем, при построении низкоплотностных кодов необходим также учет как классических характеристик корректирующих кодов (например, минимального расстояния), так и специфических свойств итеративного алгоритма декодирования (псевдокодовых слов) [136]. Существующие классы низкоплотностных кодов могут быть разделены на псевдослучайные конструкции [104, 62, 29, 14], основывающиеся на оптимизированных распределениях λ(x) и ρ(x), и алгебраические конструкции [142, 66, 133, 67, 79, 30, 27, 74, 112, 35], ориентированные на максимизацию минимального расстояния кода.
1.4.5 Фактор-графы Основные понятия Графы Таннера, используемые для описания низкоплотностных кодов, являются частным случаем фактор-графов [76]. Рассмотрим некоторую функцию g(x1 , . . . , xn ) : A = A1 × A2 × An → R. Предположим, что эта функция может быть факторизована как g(x1 , . . . , xn ) =
K Y
fi (Xi ),
(1.56)
i=1
где Xi — некоторые комбинации переменных xj , j = 1..n. Построим двудольный факторграф, имеющий n символьных узлов, соответствующих переменным xj , и K факторузлов, соответствующих fi , а также набора ребер, причем символьный узел xj соединен с факторным узлом fi тогда и только тогда, когда xj ∈ Xi . Таким образом, получено графическое представление арифметического выражения g(x1 , . . . , xn ). Введем понятие граничной функции X g(x). gi (a) = x∈A:xi =a
Эту функцию удобно также обозначать следующим образом: X gi (xi ) = g(x1 , . . . , xn ), ∼(xi )
(1.57)
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
41
т.е. суммирование выполняется по всем переменным, кроме xi . Примером граничной функции может быть вероятность того, что i-й символ кодового слова равен 1, вычисляемая на основе всех остальных компонентов принятого вектора. Однако область применения фактор-графов не ограничивается построением алгоритмов декодирования. Если функции fi (Xi ) представлены в виде граничных функций (возможно, с использованием скобочных конструкций), то соответствующий фактор-граф непосредственно задает процедуру вычисления gi (xi ). Для этого необходимо лишь представить его как дерево, имеющее xi своим корнем. Подробное описание этой процедуры приведено в [76]. Несложно заметить, что эта конструкция очень близка дереву выражений, используемому в теории построениия компиляторов. В тех случаях, когда необходимо вычислить не одну, а все граничные функции gi (xi ), представление в виде фактор-графа позволяет существенно снизить сложность вычислений, т.к. в этом случае одинаковые выражения, встречающися в выражениях для различных i, могут вычисляться однократно. Если фактор-граф не имеет циклов, вычисления завершаются сразу же, как только по каждому ребру графа прошли по одному сообщению в обоих направлениях. При наличии циклов в графе вышеописанный формализм уже нельзя рассматривать как спецификацию вычислительного алгоритма в строгом смысле, т.к. выполнение любого из его шагов модифицирует исходные данные, используемые на некоторых других шагах, вследствие чего вычислительная процедура становится бесконечно длинной. Но оказывается, что при выполнении определенных условий, специфичных для конкретной решаемой задачи, существует некоторая неподвижная точка, к которой сходятся промежуточные значения. Представление быстрых алгоритмов в виде фактор-графов Оказывается, что многие вычислительные алгоритмы также могут быть представлены в виде алгоритмов на фактор-графах [76]. Одним из наиболее известных алгоритмов быстрого преобразования Фурье является метод, основанный на разбиении преобразуемой последовательности на две части и вычислении их БПФ по отдельности. Рассмотрим пример вычисления БПФ последовательности w = (w0 , w1 , . . . , w7 ), т.е. 7 X Wk = wn Ω−nk , k = 0..7, n=0
где Ω — примитивный корень восьмой степени из единицы. Пусть n = 4x2 + 2x1 + x0 и k = 4y2 + 2y1 + y0 , yi , xi ∈ {0, 1}. Рассмотрим функцию g(n, k) = wn Ω−nk = g(x0 , x1 , x2 , y0 , y1 , y2) = w4x2 +2x1 +x0 Ω−(4x2 +2x1 +x0 )(4y2 +2y1 +y0 ) = f (x0 , x1 , x2 )(−1)x2 y0 (−1)x1 y1 (−1)x0 y2 (j)−x0 y1 (j)−x1 y0 Ω−x0 y0 ,
где f (x0 , x1 , x0 ) = w4x2 +2x1 +x0 , Ω16 = Ω8 = 1, Ω4 = −1, Ω2 = j. Таким образом, ядро ДПФ представлено в виде произведения “локальных” функций, как показано на рисунке 1.8. Заметим, что XXX g(x0 , x1 , x2 , y0 , y1 , y2). Wk = W4y2 +2y1 +y0 = x0
x1
x2
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
42
Рис. 1.8 Фактор-граф алгоритма БПФ
0 0
u0 u1
1 1 1 α4
1 1 1 α4
1 1 1 α4
c0 c1
u2 u3
1 1 1 α4
1 α2
1 α
1 α6
1 α5
c2 c3
u4 u5
1 1 1 α4
1 1 1 α4
1 α2
1 1 1 α4
1 α2
1 α3
1 α6
1 α7
1 α6
c4 c5 c6 c7
Рис. 1.9 Разреженное представление (8, 6, 3) РС-кода над GF (9) Заметим, что каждая из внутренних сумм вычисляется при фиксированных значениях переменных внешних сумм, т.е. ДПФ может рассматриваться как граничная функция, аналогично тому, как при декодировании низкоплотностных кодов таковыми являются отношения правдоподобия отдельных символов. Разреженное представление кодов Рида-Соломона Рассмотрим задание кодов Рида-Соломона как ДПФ информационной последовательности (см. (1.32)). Предположим, что длина кода равна N = 2m и существует алгоритм БПФ такой длины [146]. Тогда значения символов кодового слова могут быть представлены как ДПФ информационных символов, а вычисление ДПФ может быть осуществлено с помощью указанного алгоритма БПФ. Как было показано выше, алгоритмы БПФ представимы в виде фактор-графов, причем, согласно определению быстрого алгоритма, число ребер в этом графе должно быть мало по сравнению с n2 — числом элементов матрицы ДПФ, т.е. фактор-граф является разреженным. Отсюда следует, что коды Рида-Соломона также обладают представлением в виде разреженного фактор-графа. На рисунке 1.9 представлен пример фактор-графа, полученный с помощью описанного
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
43
a b соответствуют операции умножения указанметода [146]. Здесь блоки вида A = c d ной матрицы на вектор (x0 , x1 ), соответствующий левым входам в блок, т.е. уравнению (y0 , y1 ) = A(x0 , x1 ), где (y0 , y1 ) — правые входы блока. Существенным недостатком данного метода являются ограничения на параметры кодов, вытекающие из условий существования ДПФ.
1.4.6 Кодированная модуляция Очевидно, что применение помехоустойчивого кодирования приводит к определенному снижению скорости передачи данных. Поэтому автономное использование кодов, исправляющих ошибки, как правило, практикуется только в системах, ограниченных по мощности, т.е. R/B < 1, где R — скорость передачи данных, B — доступная полоса пропускания [172]. Для систем, ограниченных по полосе пропускания, т.е. R/B > 1, возникает необходимость применения методов модуляции с большим числом сигнальных точек. В этом случае непосредственное применение помехоустойчивого кодирования приводит к существенному увеличению отношения сигнал/шум, требуемого для достижения заданной скорости передачи. Данная проблема может быть решена путем совместной оптимизации модуляции и кодирования, т.е. кодированной модуляции. Т.к. вероятность ошибки при передаче по аддитивному Гауссовскому каналу зависит от расстояния между последовательностями, соответствующими различным кодовым словам, при проектировании схемы кодированной модуляции целесообразно найти такое отображение кодовых слов на точки сигнального множества, при котором это расстояние максимизируется [129]. Простейшим и достаточно эффективным способом осуществления этого является отображение на основе разбиения сигнального множества. Основная идея метода состоит в том, что сигнальное множество разбивается на несколько подмножеств так, что расстояние внутри каждого из подмножеств увеличивается (в большинстве случаев одинаково для каждого из полученных подмножеств). Далее биты кодового слова используются для выбора одного из полученных подмножеств. Конкретная сигнальная точка из выбранного подмножества выбирается далее с помощью некоторого количества некодированных битов. Особое распространение подобный метод получил в сочетании со сверточными кодами. Пример его использования представлен на рис. 1.10. Более общий способ построения схем кодированной модуляции — многоуровневое кодирование — был предложен в [63]. Основная идея метода состоит в том, что точки в сигнальном множестве выбираются с помощью некоторых индексов. Каждый из бит индекса xi может быть защищен с помощью отдельного корректирующего кода C i (см. рис 1.11(a)). Блок данных q разбивается на подблоки q0 , q1 , . . . , ql−1 . Каждый подблок кодируется своим (n, ki) кодом8 Ci , причем это могут быть и тривиальные коды с ki = n. Биты этих кодовых слов обозначаются как xij , j = 1..n. Слова (x0j , . . . , xl−1 j ) используются для выбора 8
Для простоты здесь предполагается, что все коды имеют одинаковую длину, но в общем случае это необязательно.
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
1 бит
Сверт. код со скор. 1/2
2 кодированных бита
44
Выбор смежного класса Ζ2 / 2Ζ2 ABCD Одна из 64 сигнальных точек
Выбор сигнальной точки
4 некодированных бита
A C A C A C A C
B D B D B D B D
A C A C A C A C
B D B D B D B D
A C A C A C A C
B D B D B D B D
A C A C A C A C
B D B D B D B D
Рис. 1.10 Решеточно-кодированная модуляция n точек из сигнального множества. Тогда кодовая скорость полученной схемы равна R=
l−1 X i=0
l−1
k 1X ki = Ri = n i=0 n
(1.58)
По сравнению с решеточно-кодированной модуляцией многоуровневое кодирование предоставляет намного большую свободу в выборе скорости передач, т.к. размерность сигнального множества и скорости кодов могут выбираться практически независимо. Кроме того, могут использоваться любые известные классы корректирующих кодов. Однако подбор скоростей этих кодов требует специального анализа. Неверный их выбор может существенно ухудшить качество работы из-за распространения ошибок, произошедших на нижних уровнях кодирования. Известно достаточно много методов преодоления этой проблемы (см., например, [143]), но оказывается, что намного проще выбрать надлежащим образом скорость кодов, чем реализовать сложный алгоритм демодуляции. Рассмотрим декодирование многоуровневого кода. Взаимная информация между переданным символом s ∈ A и принятым сигналом r ∈ Y , где A — используемое сигнальное множество, а Y — выходной алфавит канала, может быть записана как I(Y ; A) = I(Y ; X 0 , X 1 , . . . , X l−1 ) = I(Y ; X 0 ) + I(Y ; X 1 |X 0 ) + . . . + I(Y ; X l−1|X 0 , . . . , X l−2 ), (1.59) 0 1 l−1 где I(Y ; X , X , . . . , X ) взаимная информация между адресным вектором x ∈ {0, 1}l и принятым сигналом y ∈ Y . Это выражение задает естественный способ декодирования многоуровневых кодов (см. рис. 1.11(b)): компонентные коды декодируются начиная с нижнего уровня с учетом решений, принятых на предыдущих уровнях. Эта процедура носит название многошагового декодирования (multi-stage decoding). Кроме того, из описания этого алгоритма следует, что скорости компонентных кодов должны выбираться в соответствии с пропускными способностями эквивалентных подканалов, соотвествующих
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
ql −1 q
Кодер
El −1
45
xl −1 Декодер l-1
... Разделение потока данных
q1
Кодер
x1 E1
Отображение
a ...
y
Декодер 1
q0
Кодер
E0
xˆ l −1
⌢ x1
x0 Декодер 0
(a) Многоуровневый кодер
⌢ x0
(b) Многошаговый декодер
Рис. 1.11 Многоуровневое кодирование компонентам адресного вектора [137]. Эти пропускные способности могут быть вычислены как C i = Ki − Ki+1 , (1.60) где Ki — пропускная способность сигнального подмножества, соответствующего i фиксированным кодовым символам. Пропускная способность K(B) произвольного множества равновероятных сигнальных точек B может быть вычислена с помощью выражения (1.2) [60]. Предполагая, что шум является Гауссовским, получим (y−am )2 Z − ∞ 2 (y−am ) 1 e 2σ2 1 X dy √ (1.61) K(B) = e− 2σ2 log2 |B| P (y−ak )2 |B| a ∈B −∞ 2πσ 2 − 2 2σ m ak ∈B e Другими правилами выбора скоростей являются [137]:
1. Правило сбалансированных расстояний. Несложно заметить, что минимальное Евклидово расстояние между различными кодовыми словами многоуровневого кода равно d = min(dl δl ), l
где dl — минимальное расстояние l-го компонентного кода, а δl — расстояние между точками на l-м уровне разбиения сигнального множества. Ясно, что для максимизации d желательно иметь все произведения dl δl примерно равными. Однако вероятность ошибки декодирования зависит не только от минимального расстояния кода, но и от числа слов малого веса. Оказывается, что применение этого правила приводит к кодам с очень большим числом таких слов, что существенно увеличиает вероятность ошибки декодирования. 2. Правило равных вероятностей ошибки. Предположим, что известны выражения, позволяющие оценить вероятности ошибки декодирования компонентных кодов с различными их параметрами. Тогда целесообразно выбрать параметры кодов таким образом, чтобы вероятность ошибки на всех уровнях была примерно одинаковой.
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
46
3. Правило экспонент кодирования основывается на границе для вероятности ошибки при случайном кодировании [161]. Данное правило требует, чтобы значения вероятности ошибки, даваемые этой границей, были одинаковы для всех уровней. 4. Правило скоростей среза применимо к кодам, не достигающим пропускной способности канала. Например, при использовании сверточных кодов и последовательного декодирования [171], предельно достижимая скорость передачи носит название скорости среза. Данное правило предполагает, что на каждом из уровней используется код со скоростью, равной скорости среза соответствующего подканала. С практической точки зрения предпочтительным является использование правила равных вероятностей ошибки. Однако его использование требует знания весовых спектров используемых компонентных кодов, нахождение которых, как правило, сопряжено с чрезвычайно большими вычислительными сложностями.
1.5 Методы адаптивной передачи В тех случаях, когда состояние канала изменяется во времени достаточно медленно возникает возможность подстройки параметров передатчика, т.е. адаптивного кодирования [176]. В зависимости от технических требований к системе могут быть сформулированы различные оптимизационные критерии. В настоящей работе рассматривается задача минимизации мощности передатчика при условии поддержания заданной скорости передачи данных отдельных пользователей и заданной вероятности ошибки декодирования. При этом предполагается, что приемник и передатчик имеют возможность оценить состояние канала каким-либо образом. Рассмотрение методов оценивания канала выходит за рамки данной работы. В данном разделе представлено описание некоторых известных методов адаптивной передачи.
1.5.1 Однопользовательские одноканальные системы Одной из простейших форм адаптивной передачи является адаптивная модуляция. Этот метод был предложен в работе [163, 53] и достаточно долго не использовался ввиду отсутствия соответствующих аппаратных ресурсов. Исследования в этой области возобновились с появлением высокопроизводительных цифровых интегральных микросхем [140, 115, 4, 48, 124]. Первоначально адаптивная передача рассматривалась в контексте каналов без рассеяния (1.15). В этом случае основная идея метода может быть сформулирована как поддержание постоянного отношения сигнал/шум путем подстройки мощности передатчика, скорости передачи, методов модуляции и кодирования или комбинации этих параметров. Эти позволяет обеспечить заданную вероятность ошибки, передавая данные с большой скоростью тогда, когда канал находится в хорошем состоянии, и снижая скорость при его ухудшении. Пропускная способность канала опеределяется максимальной возможной мощностью передатчика E¯ и допустимой спектральной полосой сигнала B. В каждый момент времени
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
47 2
i качество канала связи характеризуется отношением канал/шум ξi = |µσi2| , являющимся случайной величиной с некоторой плотностью распределения p(ξ). Средняя пропускная способность может быть вычислена как [48] Z ∞ C= W log2 (1 + E(ξ)ξ) p(ξ)dξ, (1.62) R max E(ξ): E(ξ)p(ξ)dξ = E¯ 0
где E(ξ) представляет собой правило адаптации мощности передатчика к текущему состоянию канала. Аналогично (1.11), можно показать, что оптимальное правило имеет вид ( λ − 1ξ , ξ ≥ 1/λ S(ξ) (1.63) = E¯ 0, ξ<λ для некоторой величины γ0 . Тогда пропускная способность равна Z ∞ C= W log2 (ξλ)p(ξ)dξ.
(1.64)
1/λ
Для сравнения различных методов передачи удобно также рассматривать спектральную эффективность, определяемую как C/B. Для практической реализации методов адаптивной модуляции, как правило, анализируется качество работы (например, вероятность ошибки на бит) различных методов, на основе чего составляется набор порогов переключения {ξ˜j }, таких что j-й метод передачи (со скоростью Rj ) используется, если ξ˜j ≤ ξ ≤ ξ˜j+1. При этом желательно наличие аналитических функций (или, по крайней мере, аппроксимаций) Pj (ξ), характеризующих вероятность ошибки для рассматриваемых схем. Т.к. количество различных методов передачи ограничено, оказывается необходимым осуществлять подстройку можности передатчика для поддержания требуемого отношения сигнал/шум в приемнике. В [26] было показано, что правило распределения скоростей слабо зависит от конкретного вида Pj (γ), в то время как зависимость соответствующего правила подстройки мощности выражена намного сильнее. Спектральная эффективность адаптивной системы может быть оценена как [48] N
R X = Rj P {ξ˜j ≤ ξ ≤ ξ˜j+1}. B j=1
(1.65)
Ясно, что эта величина зависит от значений порогов переключения и распределения значений отношения канал/шум ξ. Используя стандартные методы оптимизации, можно получить набор порогов переключения ξ˜j , максимизирующих (1.65) или любой другой показатель [48, 125, 24, 100, 78]. Описанный метод может быть обобщен на случай использования методов кодированной модуляции. В этом случае задача адаптации сводится к поддержке фиксированного расстояния внутри смежных классов сигнальных множеств [49, 57]. В [106] было показано, что независимое использование кодирования и модуляции в адаптивных системах не дает существенного выигрыша. Методы адаптации, разработанные для однопользовательских систем, могут быть использованы и в многопользовательских системах, однако при этом необходим учет межпользовательской интерференции [77].
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
48
1.5.2 Однопользовательские многочастотные системы Одной из основный причин использования многочастотной передачи является ее устойчивость к межсимвольной интерференции, достигаемая за счет преобразования исходного частотно-селективного канала к набору отдельных частотно-неселективных подканалов, ограниченных по полосе. Таким образом, возникает векторный Гауссовский канал, задача максимизации пропускной способности которого была рассмотрена в разделе 1.1.3. Однако при этом не учитывались практические ограничения, связанные с реализацией соответствующих методов модуляции, кодирования и т.п. В связи с этим было опубликовано большое число работ, посвященных построению практических адаптивных методов передачи для подобных многоканальных систем [61, 25, 40, 71, 75, 10, 1, 24, 32]. В данном разделе представлен краткий обзор некоторых из этих методов. Далее будет предполагаться, что для каждого из подканалов принятый сигнал может быть представлен как ri = µi si + ηi ,
(1.66)
где µi , i = 1..N — комплексные коэффициенты передачи, ηi — отсчеты Гауссовского шума с дисперсией σi2 , N — число подканалов, Vi = M[|si |2 ] — коэффициент усиления на i-м подканале. Как правило, удобно рассматривать отношения канал/шум, определяемые как ξi = |µi |2 /σi2 . В большинстве случаев √ рассматривается следующая задача: необходимо найти коэффициенты усиления Vi = Ei и размеры сигнальных множест Mi -КАМ, такие что вероятность ошибки для всех подканалов одинакова. При этом требуется или максимизировать общую скорость передачи данных при фиксированной общей мощности передатчика, или минимизировать общую мощность передатчика при фиксированной скорости передачи. Алгоритмы, решающие одну из этих задач, могут быть адаптированы для решения другой. Задача минимизации мощности иногда формулируется также как задача максимизации запаса мощности, характеризующего максимальное допустимое увеличение мощности шума, не приводящее к катастрофическому снижению качества работы системы. В силу дискретности множества доступных методов модуляции данная задача представляет собой проблему целочисленного программирования. Использование наилучших подканалов Простейшим методом адаптации в однопользовательской системе является использование только нескольких наилучших подканалов [32]. Данный метод крайне неэффективно использует доступную спектральную полосу и требует увеличения размера используемого сигнального множества. Алгоритм Хугеса-Хартогса Алгоритм Хугеса-Хартогса [61] является оптимальным, но вычислительно сложным методом адаптации многочастотного передатчика. В ходе выполнения алгоритма вычисляется матрица P = ||pmi ||, где pmi — мощность, которую необходимо затратить на передачу m бит данных по подканалу i с заданной вероятностью ошибки. Инкрементальная матрица мощности определяется как ∆P = ||pmi − pm−1 i ||. На каждой итерации алгоритма
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
49
общая скорость передачи увеличивается на единицу, путем увеличения скорости передачи по подканалу, требующему наименьшей дополнительной мощности: 1. Пусть M = 0 и Ptot = 0; 2. Найти наименьшее ∆P1i , т.е. подканал, требующий наименьшей дополнительной мощности для увеличения скорости передачи на единицу; 3. Увеличнть скорость передачи по подканалу i на единицу; 4. Пусть M := M + 1; Ptot := Ptot + ∆P1,i ; если Ptot ≥ Pmax , где Pmax максимальная допустимая мощность, завершить работу. 5. Сдвинуть вверх на одну позицию содержимое столбца i, т.е. ∆Pmi = ∆Pm+1 i . 6. Перейти к шагу 2. Было доказано, что этот алгоритм является оптимальным. Однако он требует выполнения большого числа операций сортировки и поиска. Алгоритм Чоу-Чиоффи-Бингама Алгоритм, предложенный в [25], основан на распределении скоростей передачи в соответствии с пропускной способностью подканалов. Скорость передачи по каждому подканалу может быть приближенно вычислена как Vi2 ξi Ri = log2 1 + , (1.67) Γ где Γ характеризует “расстояние” до пропускной способности канала, зависящее от требуемой вероятности ошибки. В ходе работы алгоритма итеративно вычисляется запас мощности γmargin , такой что Vi2 ξi Ri = log2 1 + , Γ ∗ γmargin Далее осуществляется подстройка скоростей для каждого из подканалов аналогично алгоритму Хугеса-Хартогса, так чтобы обеспечить заданную общую скорость передачи данных. Далее осуществляется подстройка мощности для каждого подканала с целью обеспечения заданной вероятности ошибки. Алгоритм Фишера-Хубера Основная идея алгоритма, описанного в [40], состоит в распределении скоростей передачи информации и мощности передатчика с целью минимизации вероятности ошибки. В
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
50
случае использования квадратурно-амплитудной модуляции вероятность ошибки на символ для i-го подканала может быть вычислена как (см. также (1.18)) s ! d2i /4 Pi = Ki Q , (1.68) σi2 где di — минимальное Евклидово расстояние между точками в сигнальном множестве, используемом для передачи по этому подканалу, а Ki — среднее число ближайших соседей произвольно выбранной точки из этого множества (эта величина может считаться постоянной для всех используемых сигнальных множеств). Предполагая, что вещественная и мнимая компоненты выбираются из множества {±1Vi , ±3Vi , . . .}, т.е. d2i = 4Vi2 , и требуя, чтобы вероятность ошибки на символ была одинаковой для всех подканалов, получим Vi2 |µi |2 = S0 −→ max σi2
(1.69)
для всех i. При этом накладываются ограничения на общую скорость передачи и мощность передатчика X Rtot = Ri = const Etot =
X i
i
2 Vi2 (2Ri − 1) = const. 3
Производя условную максимизацию (1.69), можно получить набор величин Ri для каждого подканала. Однако очень часто эти величины оказываются нецелочисленными или даже отрицательными. В этом случае их необходимо соответствующим образом округлить, что приводит к субоптимальности получаемого решения. Алгоритма Кронгольда-Рамчандрана-Джонса Алгоритм, представленный в [75], аналогичен алгоритму Фишера-Хубера, но основан на ином критерии. Далее представлено его описание, несколько отличающееся от оригинального. Рассмотрим задачу минимизации общей мощности передатчика при фиксированной вероятности ошибки X Ri = Rtot (1.70) i
X i
Pi → min
Pi
= P0
Ограничение на вероятность ошибки преобразуется в ограничение на расстояние между символами в сигнальном множестве, т.е. Vi2 ξi = S0 ,
(1.71)
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
51
где vi — коэффициент усиления для подканала i, ξi — отношение канал/шум. Таким образом, необходимо найти размеры сигнальных множеств Mi , минимизирующих функцию X S0 2(Mi − 1) , 3ξ i i при наличии ограничения на общую скорость передачи X log2 (Mi ) = Rtot . i
При этом временно не будем учитывать дискретность множества доступных схем передачи, т.е. множества значений Mi . Используя классические методы условной оптимизации, получим следующий лагранжиан: ! X S0 2(Mi − 1) X L(Mi ; λ) = + λ Rtot − log2 (Mi ) , (1.72) 3ξi i i дифференцирование которого приводит к системе уравнений S0 1 ∂L =2 −λ =0 ∂Mi 3ξi Mi ln 2 X ∂L = Rtot − log2 (Mi ) = 0 ∂λ i
(1.73) (1.74)
Несложно заметить, что параметр λ однозначено определяет Mi . Таким образом, система сводится к одному уравнению относительно λ. Т.к. в практических системах Mi могут принимать только дискретные значения, необходимо введение понятия порогов, которое уже использовалось при рассмотрении одноканальных адаптивных систем. Для этих целей для каждого допустимого Mi вычисляются 2 ln 2 S0 Mi (1.75) βi = 3 Эти величины используются для построения таблицы, используемой далее при выборе метода модуляции для каждого из подканалов. Уравнение (1.74) может быть решено методом бисекции [152] по λ, т.е. на начальном этапе выбираются некоторые значения λl и λh , а (l) (h) также соответствующие им параметры модуляции {Mi } и {Mi }. Этим значениям соотP PN (h) (l) ветствуют некоторые общие скорости передачи Rl = i=1 log2 Mi и Rh = N i=1 log2 Mi , причем Rl < Rtot < Rh . Новое значение λ вычисляется как Rtot − Rl λ′ = λl + (λh − λl ) (1.76) Rh − Rl Метод модуляции для каждого из подканалов определяется следующим образом. Вычисляется набор значений βi = λξi, по которым определяются величины Mi путем поиска соответствующего интервала в таблице (1.75). Полученное значение скорости передачи сравнивается с требуемым Rtot и используется далее в качестве Rh или Rl на следующей итерации алгоритма. Коэффициент усиления vi вычисляется согласно (1.71). Алгоритм завершает работу, как только выполняется условие (1.74). Было показано, что данный алгоритм дает несколько лучшие результаты, чем алгоритмы Чоу-Чиоффи-Бингама и Фишера-Хубера.
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
52
Адаптивное кодирование в многочастотных системах Методы адаптивного кодирования, разработанные для одноканальных систем, могут быть использованы и в многочастотных системах, работающих в условиях частотноселективного канала. В [70] было предложено использование адаптивной турбокодированной модуляции в OFDM-системе. Т.к. использование отдельной схемы кодирования для каждого из подканалов достаточно затруднительно с точки зрения реализации, смежные подканалы могут быть сгруппированы в полосы, в пределах которых используется одна схема кодированной модуляции, выбираемая в расчете на наихудший подканал. При этом используется тот же набор порогов, что и в [125].
1.5.3 Многопользовательские многочастотные системы В данном разделе представлен обзор некоторых адаптивных методов передачи в многопользовательских многочастотных системах. При этом рассматривается передача данных от базовой станции к мобильному терминалу. В этом случае сигнал, принятый k-м пользователем по i-му подканалу, может быть представлен как rki = µkisi + ηki , k = 1..K, i = 1..N, где si — символ, переданный базовой станцией по i-му подканалу, ηki — отсчеты Гауссовского шума с дисперсией σ 2 . Адаптивное выделение подканалов и распределение скоростей в системах с частотным разделением В разделе 1.5.2 был описан ряд алгоритмов, позволяющих оптимизировать распределение скоростей передачи данных в многочастотной однопользовательской системе. В случае наличия в системе нескольких пользователей, возникает также задача обеспечения разделения канала передачи данных между этими пользователями. Одним из простейших способов разделения является частотное разделение. Однако при этом оказывается необходимым оптимизировать также распределение пользователей по подканалам [89]. Необходимо найти скорости передачи cki и коэффициенты усиления Vki, k = 1..K, i = 1..N для K пользователей и N подканалов, т.ч. • Выполняются требования на скорость передачи данных каждым пользователем Rk =
N X
cki
(1.77)
i=1
• Каждый подканал используется не более чем одним пользователем |{k|Mki > 1}| ≤ 1
(1.78)
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
53
Последнее требование означает, что задача принадлежит классу задач булевского программирования, которые, как известно, являются NP -полными. Это приводит к необходимости разработки субоптимальных алгоритмов оптимизации. Введем индикаторные переменные ( 1, еслиcki > 0 ρki = . 0, иначе С целью упрощения задачи допустим, что ρki могут также принимать значения в (0, 1). Тогда задача может быть переформулирована как min
cki ,ρki
K N X X ρki f (cki ) i=1 k=1
ξki
(1.79)
с ограничениями Rk =
N X
ρki cki
(1.80)
ρki
(1.81)
i=1
1 =
K X k=1
0 ≤ ρki ,
(1.82)
2
где ξki = |µσki2| — отношение канал/шум для пользователя k и подканала i, f (cki) = Γ(2cki − 1) — функция, характеризующая отношение сигнал/шум, необходимое для получения требуемой вероятности ошибки9 . Воспользуемся подстановкой rki = cki ρki для того, чтобы свести исходную задачу к задаче выпуклого программирования. Тогда функция Лагранжа для преобразованной задачи может быть записана как ! ! X N X K K N N K X X X X ρki rki L(ρki, rki , λk , βi ) = − λk rki − Rk − βi ρki − 1 (1.83) f ξ ρki i=1 k=1 ki i=1 i=1 k=1 k=1 9
Известно, что подобная аппроксимация справедлива для большинства используемых схем модуляции/кодирования [42]
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
54
Седловая точка этой функции, соответствующая решению описанной задачи условного экстремума, может быть найдена путем решения системы уравнений > 0, if rki = 0 1 ′ rki ∂L = f − λk = 0, if rki ∈ (0, c∗ ρki ) ∂rki ξki ρki < 0, if rki = c∗ ρki ( = 0, if ρki ∈ (0, 1) r rki r 1 ∂L ki ki f − f′ − βi = ∂ρki ξki ρki ρki ρki < 0, if ρki = 1 Rk =
K X
rki
k=1
1 =
N X
ρki ,
(1.84)
i=1
где c∗ — максимальная допустимая скорость передачи данных по подканалу. Однако, как будет показано ниже, численное решение этой системы уравнений представляет собой достаточно сложную задачу. В связи с этим в [89] был предложен субоптимальный алгоритм ее решения (алгоритм Вонга). Данный алгоритм начинает свою работу с некоторых малых величин λk и увеличивает их до тех пор, пока не будут удовлетворены ограничения на скорость передачи данных. После вычисления значений ρki ∈ {0; 1} для нахождения размеров сигнальных множеств и коэффициентов усиления для каждого из подканалов может быть использован любой из известных алгоритмов однопользовательской оптимизации. Было предложено большое число модификаций алгоритма Вонга [107, 147, 109, 72, 102, 44, 103, 34, 122, 28, 50, 121], направленных на снижение его сложности и обеспечение поддержки иных оптимизационных критериев. Одним из широко распространенных приемов является выделение из процесса оптимизации еще одного этапа, состоящего в оценивании числа подканалов, требуемых для каждого пользователя, после чего задача распределения пользователей по подканалам существенно упрощается. Алгоритм Вонга строит решения с ρki ∈ {0, 1}. Хотя это и соответствует специфике системы с частотным разделением, это свидетельствует о субоптимальности алгоритма с точки зрения оптимизационной задачи (1.79) — (1.82). Кроме того, если точное решение системы уравнений имеет нецелочисленные значения ρki для некоторого i, то это означает, что подканал должен быть разделен между пользователями, что принципиально невозможно в рамках частотного разделения10 . Как было показано в разделе 1.3.4, данная проблема может быть решена с помощью кодового разделения. Далее будет представлено описание некоторых адаптивных алгоритмов, основанных на кодовом разделении. 10
Авторы [89] предлагают использовать в этом случае временное раздление, хотя и не дают метода вычисления точных значений ρki . Отметим, что временное разделение является частным случаем кодового разделения с расширяющими последовательностями вида ak = (0, . . . , 0, 1, 0, . . . , 0).
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
55
Адаптивный выбор каналов Простейший из методов адаптивной передачи с использованием кодового разделения был описан в [88]. Суть метода состоит в том, что данные каждого пользователя передаются только по одному наилучшему подканалу. При этом данные каждого из пользователей расширяются его индивидуальной расширяющей последовательностью, что позволяет восстановить символы, переданные каждым из пользователей, в случае совпадения наилучших подканалов для нескольких пользователей. Основным недостатком данного метода является неполное использование пропускной способности исходного широкополосного канала. Адаптивное формирование полос Рассмотрим многочастотную систему с гибридным кодово-частотным разделением. Пусть B = {1, . . . , N} — множество подканалов, а U = {1, . . . , K} — множество пользователей. Пусть S — длина расширяющей последовательности. Пусть пользователи расT SQ пределены по группам Uq ⊂ U, (Ui Uj = ∅, i 6= j, i=1 Ui = U), причем пользователи из каждой группы Uq осуществляют передачу одновременно P символов, используя при этом T S только полосу Bq ⊂ B, (Bi Bj = ∅, i 6= j, Q i=1 Bi = B). При этом каждая из подполос является классической MC-CDMA системой. Пропускная способность k-го пользователя по подканалу n может быть вычислена как |µk,i|2 Ck,i = log2 1 + , (1.85) 2 σki где µk,i — передаточный коэффициент для k-го пользователя по подканалу i. Тогда полная пропускная способность пользователя k по полосе Bq равна Ck,Bq =
SP X
Ck,Bq (i) ,
i=1
где Bq (i) — номер i-го подканала, входящего в полосу Bq . Пропускная способность группы пользователей Uq может быть вычислена как CUq ,Bq =
Kq SP X X
CUq (k),Bq (i) ,
k=1 i=1
где Uq (k) — номер k-го пользователя, входящего в группу Uq . Следовательно, полная пропускная способность системы равна CT OT =
Q X
CUq ,Bq .
(1.86)
q=1
В [18] был предложен алгоритм, осуществляющий поиск разбиений {Bi } и {Ui }, максимизирующий CT OT . Данный алгоритм начинает свою работу с генерации некоторых
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
56
случайных разбиений {Bi } и {Ui }. Далее предпринимается попытка найти такую пару пользователей, входящих в две различные группы, обмен которыми приводит к увеличению текущей пропускной способности системы. Аналогично, предпринимается попытка найти такую пару подканалов, включенных в различные полосы, обмен которыми приводит к увеличению текущей пропускной способности системы. Эти действия выполняются итеративно до тех пор, пока пропускная способность не перестает увеличиваться. Для достижения лучших результатов алгоритм может быть выполнен несколько раз с различными начальными разбиениями. Можно заметить определенное сходство данного метода с генетическими алгоритмами оптимизации. Данный метод не использует адаптивной модуляции или адаптивного распределения мощности; единственным объектом оптимизации является распределение подканалов между пользователями. Его применение позволяет существенно снизить мощность передатчика, требуемую для достижения некоторой фиксированной вероятности ошибки, однако какие-либо явные ее гарантии отсутствуют.
1.6 Выводы. Задачи диссертационной работы Как было показано выше, для эффективного осуществления передачи данных в как в одно-, так и в многопользовательских системах необходима адаптация используемой схемы передачи к меняющимся условиям канала. В данной работе рассматривается задача управления параметрами многочастотной системы связи с целью минимизации мощности передатчика, требуемой для достижения заданной скорости передачи и заданной вероятности ошибки. Идеальное решение этой задачи соответствует “правилу водонаполнения” или его модификациям на случай многопользовательских систем. Практическая реализация этого правила приводит к необходимости использования дискретных скоростей передачи. Это приводит к тому, что параметры реально используемой схемы передачи данных отличаются от идеального решения оптимизационной задачи, соответствующего “правилу водонаполнения”, что приводит к некоторому увеличению требуемой мощности передатчика. Таким образом, можно ожидать повышения эффективности адаптивной системы в случае использования набора схем кодирования/модуляции с малым шагом скоростей, что может быть реализовано на основе концепции многоуровневого кодирования. В случае многопользовательских систем вещания обеспечение фиксированной скорости передачи данных для каждого из пользователей может потребовать совместного использования подканалов для передачи данных нескольким абонентам, что требует разработки соответствующих оптимизационных алгоритмов. Использование корректирующих кодов в свою очередь, требует эффективной реализации соответствующих вычислительных алгоритмов. При этом особый интерес представляет снижение вычислительной сложности без снижения качества декодирования, т.е. без введения различного рода аппроксимаций. Данная задача может быть решена путем алгебраических преобразований исходных вычислительных примитивов. В том случае, когда вычисления производятся над конечными полями, как при декодировании кодов Рида-Соломона, применение некоторых их специальных свойств может привести к существенному снижению вычислительной сложности.
ОБРАБОТКА ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
57
Задачами данной диссертационной работы являются: 1. Разработка адаптивных методов передачи, учитывающих использование помехоустойчивого кодирования и возможность разделения канала между различными пользователями. 2. Разработка эффективных вычислительных алгоритмов, используемых на различных этапах декодирования кодов Рида-Соломона. В частности, интерес представляют задачи вычисления синдромного многочлена, поиска корней многочлена локаторов ошибок и двумерная интерполяция.
Глава 2. Адаптивные методы передачи В данной главе описываются новые адаптивные методы передачи для многочастотных систем. Раздел 2.1 посвящен адаптивному многоуровневому кодированию. Метод адаптивного разделения канала описывается в разделе 2.2.
2.1
Адаптивное многоуровневое кодирование
2.1.1 Постановка задачи Большинство существующих адаптивных методов передачи требует наличия нескольких схем передачи, пригодных для использования в различных условиях. При этом увеличение числа доступных схем позволяет получить решение оптимизационной задачи, более близкое к идеальному правилу “водонаполнения”. Известные методы адаптивной передачи в многочастотных системах в большинстве случаев основаны на адаптивной модуляции; применение адаптивного кодирования, как правило, сводится к рассмотрению схем решеточно-кодированной модуляции. Это существенно ограничивает набор доступных скоростей передачи. Однако, как было показано в разделе 1.4.6, применение многоуровневого кодирования позволяет производить выбор формата сигнального множества и параметров помехоустойчивого кодирования независимо, что существенно повышает гибкость системы. В данном разделе будет описан метод адаптивного выбора многоуровневых кодов в многочастотной однопользовательской системе, позволяющий увеличить количество схем передачи, доступных для использования в адаптивной системе, и за счет этого приблизить решение задачи адаптации к идеальному. Более конкретно, будет рассмотрена задача выбора многоуровных кодов и отображения их кодовых слов на подканалы многочастотной системы, минимизирующих мощность передатчика, требуемую для обеспечения заданной скорости передачи данных и вероятности ошибки. Методы, описываемые в данном разделе, могут быть использованы и в многопользовательских системах.
2.1.2 Семейство многоуровневых кодов Рассмотрим построение семейства многоуровневых кодов для M-уровневой амплитудной модуляции, т.е. для случая сигнального множества, состоящего из точек {(−M + 1 + 2j)d0 /2|0 ≤ j ≤ M − 1}. Воспользуемся двоичным разбиением сигнального множества, представленным на рисунке 2.1. Видно, что символы кодовых слов, порождаемых кодером i, выбирают одно из подмножеств сигнальных точек, причем расстояние между точками, входящими в это подмножество, равно 2i d0 , где d0 — расстояние между точками в исходном сигнальном множестве. Необходимо отметить, что предположения об использовании M-ичной амплитудной модуляции и двоичном разбиении сигнального множества сделаны
58
ГЛАВА 2. АДАПТИВНЫЕ МЕТОДЫ ПЕРЕДАЧИ
1
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
1
0
1
0
0
0
0
0
59
Кодер 0 Кодер 1 Кодер 2
Рис. 2.1 Двоичное разбиение сигнального множества здесь исключительно в целях упрощения изложения; методы, описываемые ниже, могут быть легко перенесены на случай иных сигнальных множеств. Согласно правилу пропускной способности (см. раздел 1.4.6), для кодирования данных на каждом из уровней должен быть использован код со скоростью, равной пропускной способности данного уровня. Однако это утверждение справедливо только для кодов бесконечной длины. В практической системе более предпочтительным является правило равных вероятностей ошибки. Однако его практическое применение вызывает определенные сложности, т.к. его для его использования необходимо знание весовых спектров компонентных кодов. Допустим, что для используемого семейства компонентных кодов теоретически или экспериментально построена функция R(C), характеризующая скорость кода конечной длины, который обеспечивает заданную вероятность ошибки при передаче по каналу с пропускной способностью C при условии использования надлежащей процедуры приема и декодирования. Примером такой функции является выражение (4.6). Тогда предполагая, что показатели качества декодирования используемых кодов не претерпевают существенных изменений при переходе от аддитивного Гауссовского канала к эквивалентным каналам в многоуровневом коде1 , можно воспользоваться функцией R(C) для вычисления скоростей компонентных кодов. При этом пропускные способности подканалов могут быть вычислены с помощью выражений (1.60) и (1.61). Для случая двоичного разбиения и аддитивного Гауссовского канала выражение (1.61) для пропускной способности сигнального 1
Необходимо отметить, что эквивалентные каналы в многоуровневом коде существенно отличаются по своим свойствам от гауссовского канала [17]. Однако в большинстве случаев оказывается, что это не оказывает существенного влияния на характеристики системы.
ГЛАВА 2. АДАПТИВНЫЕ МЕТОДЫ ПЕРЕДАЧИ
60
подмножества принимает вид MX 2 −1 Z ∞ − e 1 K(i, d0 ) = i M/2 m=0 −∞ −i
(y−(−M +1+2i+1 m)d0 /2)2 2σ 2
√
2πσ 2
i+1 m)d /2)2 0 M2−i e− (y−(−M +1+2 2σ 2 log2 −i dy M 2 −1 X (y−(−M +1+2i+1 k)d0 /2)2 2σ 2 e− k=0
Таким образом, процедура построения многоуровневого кода, использующего M-ичную амплитудную модуляцию и способного функционировать с заданной вероятностью ошибки на заданном отношении сигнал/шум γ, состоит из следующих шагов: 1. Построить семейство компонентных кодов {Cj , j = 1..J} с достаточно большим диапазоном скоростей. 2. Для каждого из кодов Cj построить теоретически или путем имитационного моделирования кривую pj (γ) вероятности ошибки в зависимости от отношения сигнал/шум при передаче по аддитивному Гауссовскому каналу. В случае имитационного моделирования может быть использована среднеквадратическая аппроксимация функцией подходящего вида, например (4.5). 3. Для каждого из имеющихся компонентных кодов Cj найти отношение сигнал/шум γj , обеспечивающее заданную вероятность ошибки, т.е. решить уравнение pj (γ) = Ptarget . Это дает отображение rj → γj или rj → C(γj ), которое также может быть аппроксимировано некоторой функцией r(C), например (4.6). Здесь C(γ) — пропускная способность аддитивного Гауссовского канала при отношении сигнал/шум γ, 4. Вычислить пропускные способности Ci , i = 0..l − 1 эквивалентных подканалов Mичной амплитудной модуляции с помощью выражений (1.60) и (2.1). 5. Для каждого из подканалов i найти скорость кода r(Ci), пригодного для использования в качестве компонентного на данном подканале, округляя ее вниз при необходимости. Описанная процедура позволяет выбрать для каждого γ набор компонентных кодов, максимизирующих скорость передачи при заданной вероятности ошибки. Ясно, что если имеется возможность использования сигнальных множеств с различным числом уровней M, то для каждого γ может быть выбрано сигнальное множество, обеспечивающее максимальную скорость передачи. Заметим, что данный метод может рассматриваться как модификация известного правила равных вероятностей ошибки. Действительно, для каждого компонентного кода веростность ошибки при передаче по аддитивному Гауссовскому каналу однозначно определяется отношением сигнал/шум. С другой стороны, отношение сигнал/шум однозначно характеризует пропускную способность канала, т.е. пропускная способность канала однозначно определяет вероятность ошибки декодирования. Предлагаемый метод основывается на предположении о том, что при переходе от аддитивному Гауссовскому каналу к
ГЛАВА 2. АДАПТИВНЫЕ МЕТОДЫ ПЕРЕДАЧИ
61
эквивалентным подканалам в многоуровневом коде эта зависимость не претерпевает существенных изменений. Основным достоинством предлагаемого метода является простота процедуры построения многоуровневого кода, которая не требует достаточно сложного анализа вероятности ошибки декодирования. Для многих кодов такой анализ практически неосуществим. Как будет показано на рисунке 4.4, кривая спектральной эффективности семейства многоуровневых кодов, построенного описанным образом, проходит достаточно близко к кривой пропускной способности аддитивного Гауссовского канала CAW GN =
1 log2 (1 + γ), 2
(2.1)
где γ — отношение сигнал/шум, и может быть охарактеризована некоторым “зазором” Γ [42], т.е. 1 γ R ≈ log2 (1 + ). (2.2) 2 Γ Описанный метод позволяет построить достаточно большой набор многоуровневых кодов малым шагом скоростей, используя сравнительно небольшое семейство компонентных кодов. Более того, могут быть получены сигнально-кодовые конструкции с нецелочисленными значениями скорости, что существенно упрощает оптимизацию многочастотных систем. Описанный метод может быть обобщен на случай квадратурно-амплитудной модуляции путем рассмотрения ее символов как композиции двух символов амплитудной модуляции. В этом случае γ R ≈ log2 (1 + ). (2.3) Γ В работе [8] независимо была предложена аналогичная система, использующая единственный компонентный (низкоплотностной) код на нижних уровнях и код Рида-Соломона на верхних уровнях. Однако при этом требуются достаточно длинные (порядка 105 ) компонентные коды. Как будет показано ниже, подход, предложенный в данной работе, позволяет использовать существенно менее длинные коды, что важно с точки зрения реализации.
2.1.3 Адаптивное кодирование в многочастотных системах Рассмотрим многочастотную OFDM систему с N подканалами, функционирующую в условиях частотно-селективного канала. Тогда принятый сигнал может быть представлен как ri = µi si + ηi , i = 1..N, (2.4) где si — сигнал, переданный по i-му подканалу, µi — комплексный передаточный коэффициент, ηi — отсчеты аддитивного Гауссовского шума с дисперсией σi2 . Ясно, что в этом случае характеристики подканалов различны и определяются их отношениями сигнал/шум 2 Vi2 ξi , где Vi2 = M[|si |2 ] — мощность сигнала на i-м подканале, ξi = |µσi2| — отношение i канал/шум. В связи с этим возникает необходимость использования различных методов передачи на каждом из подканалов. В частности, данные, передаваемые по каждому
ГЛАВА 2. АДАПТИВНЫЕ МЕТОДЫ ПЕРЕДАЧИ
62
Многоуровневые кодеры Многоуровневые кодеры
КАМ модулятор КАМ модулятор КАМ модулятор КАМ модулятор КАМ модулятор КАМ модулятор КАМ модулятор КАМ модулятор
подканал 1
КАМ модулятор
подканал 2
КАМ модулятор
подканал 3
КАМ модулятор
подканал 4
КАМ модулятор
подканал 5
КАМ модулятор
подканал 6
КАМ модулятор
подканал 7
подканал 8
КАМ модулятор КАМ модулятор
подканал 1
подканал 2 подканал 3
подканал 4
подканал 5
подканал 6 подканал 7
подканал 8
t (a) Независимое кодирование подканалов
(b) Групповое кодирование подканалов
Рис. 2.2 Отображение кодовых слов на подканалы при адаптивной передаче
ГЛАВА 2. АДАПТИВНЫЕ МЕТОДЫ ПЕРЕДАЧИ
63
из подканалов, могут кодироваться индивидуально подобранным многоуровневым кодом. Рисунок 2.2(a) иллюстрирует этот подход. Однако этот подход является достаточно сложным в реализации, т.к. требует наличия больших буферов в приемнике и передатчике и приводит к большой задержке передаваемых данных. Ввиду конечности множества многоуровневых кодов, поддерживаемых адаптивной системой, при практической реализации описанного сценария оказывается, что достаточно большие наборы подканалов кодируются одним и тем же многоуровневым кодом. Это может быть использовано для того, чтобы снизить сложность реализации. Действительно, адаптация может выполняться не для отдельных подканалов, а для их групп, причем группы не обязательно должны состоять из смежных подканалов. Этот подход представлен на рис. 2.2(b). Т.к. качество работы большинства существующих методов кодирования и модуляции может быть охарактеризовано их “расстоянием” Γ до пропускной способности канала, естественно перенести этот принцип и на случай групп подканалов. Практически достижимая скорость передачи для группы из L подканалов с отношениями сигнал/шум γi = Vi2 ξi , i = 1..L равна ! L L Y X (1 + γi/Γ) = L log2 (1 + γgeom /Γ), (2.5) b= log2 (1 + γi /Γ) = log2 i=1
i=1
Отсюда можно получить приближенное выражение [7] !1/L L Y γgeom = Γ (1 + γi /Γ) − 1 ≈ i=1
L Y i=1
γi
!1/N
(2.6)
Таким образом, введено среднее отношение сигнал/шум для группы подканалов. Аналогичным образом может быть введено и среднее отношение канал/шум. При формировании групп подканалов желательно, чтобы отношения канал/шум в сформированном таким образом векторном канале обладали большим динамическим диапазоном, что позволяет значительно улучшить результаты оптимизации. Кроме того, известно, что среднее геометрическое (2.6) набора величин достигает своего максимума в том случае, когда все величины в наборе одинаковы. В связи с этим формирование групп целесообразно выполнять следующим образом: 1. Отсортировать все подканалы в соответствии с их отношениями канал/шум. 2. Объединить смежные подканалы в полученном списке в группы Bi , i = 1..Q размера L, причем N = LQ. Отношение канал/шум для каждой из групп Bi может быть вычислено как среднее геометрическое соответствующих отношений для отдельных подканалов, входящих в группу. Рассмотрим задачу минимизации мощности при фиксированной скорости передачи данных R. Предполагая, что используется многоуровневое кодирование на основе квадратурно-амплитудной модуляции, эту задачу можно сформулировать как min Vi
Q X i=1
Vi2
(2.7)
ГЛАВА 2. АДАПТИВНЫЕ МЕТОДЫ ПЕРЕДАЧИ
64
с ограничением Q X
log2 (1 +
i=1
Vi2 ξi ) = R, Γ
(2.8)
где Γ — зазор между спектральной эффективностью используемого семейства методов передачи и пропускной спосбоностью канала, Q — число групп подканалов, ξi — среднее отношение канал/шум для группы подканалов Bi и R — требуемая скорость передачи (бит на OFDM-символ). Предполагая непрерывность множества допустимых скоростей передачи и используя классические методы условной оптимизации, получим лагранжиан ! Q Q 2 X X V ξ i (2.9) Vi2 + λ log2 (1 + i ) − R L(Vi , λ) = Γ i=1 i=1 Седловая точка функции Лагранжа, соответствующая решению оптимизационной задачи (2.7)-(2.8), может быть найдена как решение системы нелинейных уравнений λ
2Viξi /(Γ ln 2) 1+
Vi2 ξi Γ Q X i=1
+ 2Vi = 0, i = 1..Q
(2.10)
Vi2 ξi )=R Γ
(2.11)
log2 (1 +
Эта система может быть преобразована к виду λ Γ 2 , i = 1..Q Vi = max 0, − ln 2 ξi Q X V 2 ξi log2 (1 + i ) = R Γ i=1
(2.12) (2.13)
Несложно заметить, что множитель Лагранжа λ однозначно определяет все остальные переменные. Таким образом, уравнение может быть решено методом бисекции [152] по переменной λ. Далее могут быть вычислены скорости кодирования для каждой группы V 2ξ подканалов как Ri = log2 (1 + iΓ i ), i = 1..Q. Для передачи данных необходимо использовать многоуровневый код с максимальной скоростью, не превышающей Ri . Кроме того, в случае группового кодирования дополнительно может быть осуществлена подстройка коэффициентов усиления отдельных подканалов, входящих в группу, с целью обеспечения одинакового отношения сигнал/шум Vi2 ξi в пределах всей группы. Замечание 1. Данный шаг направлен на то, чтобы максимально приблизить условия функционирования системы к аддитивному Гауссовскому каналу, для которого была произведена оптимизация компонентных кодов. Альтернативный подход [91] состоит в использовании кодов, построенных с учетом различных условий передачи отдельных частей кодового слова. Однако в данном случае применение таких кодов представляется нецелесообразным ввиду необходимости построения чрезмерно большого их числа.
ГЛАВА 2. АДАПТИВНЫЕ МЕТОДЫ ПЕРЕДАЧИ
65
Т.к. множество доступных методов передачи (т.е. многоуровневых кодов) дискретно, применение метода Лагранжа в общем случае может привести к субоптимальному решению исходной оптимизационной задачи. Однако ясно, что погрешность метода будет уменьшаться с уменьшением шага скоростей имеющегося множества кодов. Несложно заметить, что уравнения (2.12) — (2.13) соответствуют классическому правилу водонаполнения, используемому во многих известных адаптивных алгоритмах. Новизна предлагаемого метода состоит в использовании большого семейства многоуровневых кодов, обеспечивающего более точную подстройку параметров каждого подканала. Как будет показано в п. 4.2.2, это позволяет снизить мощность, требуемую для достижения заданной скорости передачи данных.
2.1.4 Анализ эффективности P 2 Рассмотрим задачу вычисления функции E(R) = Q i=1 Vi , характеризующей мощность передатчика, необходимую для поддержания заданной скорости R, или обратной к ней функции R(E). Как видно из системы уравнений (2.12)-(2.13), значения Vi зависят не только от требуемой скорости R, но и от отношений канал/шум ξi , являющихся случайными величинами. Для упрощения задачи возникает необходимость применения приближенных и асимптотических методов. Заметим, что пропускная способность канала не зависит от того, в каком порядке заданы величины ξi . Отсортируем их по возрастанию. В этом случае рассмотрение исходного набора случайных величин ξi , i = 1..N заменятся рассмотрением набора их порядковых статистик ξi:N . Можно показать [164], что если функция плотности распределения p(x) случайной величины ξ дифференцируема в окрестности P −1 (w), 0 < w < 1, где P (x) — функция распределения, и p(P −1 (w)) > 0, то распределение wn-й порядковой статистики X⌈wn⌉:n для выборки из n независимых случайных величины сходится при достаточно больших n к нормальному с математическим ожиданием P −1 (w) и дисперсией np2w(1−w) . (P −1 (w)) Предполагая, что отношения канал/шум ξi независимы и имеют экспоненциальную плотность распределения p(ξ) = exp(−ξ), получим, что асимптотическое распределение их порядковых статистик нормально с математическим ожиданием N (2.14) M[ξi:N ] ≈ ln N −i и дисперсией (i/N)(1 − i/N) i D[ξi:N ] ≈ = (2.15) N N(N − i) N exp(−2 ln N −i )
Таким образом, при достаточно больших N и i < N дисперсия ξi:N стремится к нулю, что дает возможность пренебречь их случайностью и рассматривать их как детерминированные величины. Вместе с тем, отметим, что эти выражения справедливы только при i < N − δ при достаточно больших δ. Для i = N (т.е. наилучшего подканала) можно 2 показать [164], что M[ξN :N ] ≈ ln(N) − 0.5772 и D[ξN :N ] ≈ π6 ≈ 1.64. Известно также, что ξN :N − ln(N) распределено по закону Гумбеля, т.е. P {ξN :N − ln(N) ≤ x} ≈ exp(− exp(−x))
ГЛАВА 2. АДАПТИВНЫЕ МЕТОДЫ ПЕРЕДАЧИ
66
Кроме того, заметим, что выражение (2.14) дает M[ξN −1:N ] = ln N, что несколько больше чем точное значение M[ξN :N ], и M[ξN :N ] = ∞, что не имеет смысла. Для компенсации этих эффектов можно исключить ξN :N из дальнейшего рассмотрения. Для больших N это не приведет к существенным погрешностям. Заметим, что описанные неточности вызваны применением асимптотической формулы для центральных квантилей порядковых статистик при w = 1. Тогда система уравнений (2.12)–(2.13) преобразуется к виду ! N −1 X Γ λ (2.16) − E= max 0, N ln 2 ln N −i i=1 N X N λ (2.17) ln R= log2 (max 1, Γ ln 2 N − i i=1 Эти уравнения не зависят от случайных величин и позволяют построить параметрическую кривую зависимости скорости передачи данных адаптивной системы R от мощности передатчика E. Они могут быть также использованы для анализа пропускной способности канала (Γ = 1). Обобщения для других стохастических моделей каналов могут быть получены путем модификации выражения (2.14). Согласно имеющейся у автора информации, до настоящего времени не были опубликованы явные методы оценивания средней пропускной способности канала и спектральной эффективности адаптивных методов, основанных на принципе водонаполнения2 . В некоторых работах [15, 45], посвященных аналогичной тематике, игнорируется тот факт, что некоторые (особо плохие) подканалы могут быть не задействованы при передаче, что не дает возможность построить адекватные оценки в области малых отношений сигнал/шум. Как будет показано ниже, такие оценки представляют большой инетерес при рассмотрении многопользовательских систем. Необходимо отметить, что описанный метод предполагает независимость передаточных коэффициентов канала. В большинстве современных систем связи это условие не выполняется. Однако, как будет показано в разделе 4.2.2, влияние этого фактора на характеристики системы весьма незначительно. С другой стороны, аппарат порядковых статистик может быть применен и в случае зависимых случайных величин. Однако в этом случае требуется знание многомерных функций распределения отношений канал/шум [82].
2.2
Адаптивное разделение каналов в многопользовательских многочастотных системах
Рассмотрим задачу вычисления коэффициентов разделения подканалов ρki в многопользовательской системе вещания, описанную в контексте OFDMA-системы в разделе 1.5.3. 2
В работе [120] был проанализирован адаптивный алгоритм Фишера-Хубера (см. п. 1.5.2), который не в полной мере основан на этом принципе.
ГЛАВА 2. АДАПТИВНЫЕ МЕТОДЫ ПЕРЕДАЧИ
67
2.2.1 Постановка задачи Известно, что в многочастотной системе вещания принятый сигнал для каждого из K пользователей и N подканалов может быть представлен как (j)
(j) (j)
(j)
rki = µki si + ηki , i = 0..N − 1, k = 0..K − 1
(2.18)
(j)
где µki — передаточный коэффициент i-го подканала, наблюдаемый k-м пользователем в (j) момент времени j, si — сигнал, передаваемый по i-му подканалу в j-й момент времени, (j) ηki — отсчеты аддитивного Гауссовского шума. Предположим, что пользователи могут с помощью кодового разделения совместно использовать подканалы многочастотной системы или их блоки(подполосы), состоящие из смежных подканалов , т.е. St Sf (jS +m) sqSft+s
=
X l=1
(j)
sˆql al,sSt +m , s = 0..Sf − 1, m = 0..St − 1, q = 0..N/Sf − 1
(2.19)
где St , Sf — коэффициенты расширения пользовательского сигнала по времени и по часто(j) те, sˆql — модулированный сигнал, предназначенный l-му пользователю, назначенному на q-й подканал (подполосу), al = (al,0 , . . . , al,S−1 ) — l-я расширяющая последовательность, S = St Sf — общий коэффициент расширения. Заметим, что каждый из K пользователей системы может быть назначен на произвольный набор подканалов (подполос) и на каждой из них использовать произвольный набор (размером от нуля до S) расширяющих последовательностей. При этом различные пользователи, назначенные на данный подканал, должны использовать различные расширяющие последовательности. Это позволяет рассматривать каждый их N/Sf подканалов (подполос) как набор из S логических подканалов с идентичными свойствами. Здесь предполагается, что подполосы состоят из смежных подканалов. Ниже будет показано, что наличие этого ограничения не приводит к каким-либо серьезным потерям в характеристиках системы. Вместе с тем, это ограничение может быть устранено путем (j) переупорядочения коэффициентов µki . Заметим, что временное разделение является частным случаем кодового разделения с расширяющими последовательностями вида al = (0, . . . , 0, 1, 0 . . . , 0). В случае Sf = (j) 1 и стационарного канала (т.е. µki = µki ) тип используемых последовательностей не имеет значения. Однако при наличии временных изменений состояния канала или Sf > 1 применение “истинно” кодового разделения может дать эффект разнесения [172]. Для простоты рассмотрим вначале систему с Sf = 1. Пусть ρki ∈ [0, 1] обозначает долю i-го подканала, занимаемую k-м пользователем, i = 0..N − 1, k = 0..K − 1. Эта величина соответствует доле расширяющих последовательностей, используемых k-м пользователем по i-му подканалу. Пусть cki обозначает скорость передачи данных k-м пользователем по i-му подканалу, а Vki — соответствующий коэффициент усиления. Необходимо отметить, что усилению подвергаются формируемые пользователями символы до того, как они накладываются, образуя собственно передаваемый сигнал si (см. рис. 2.3). Предположим, что полностью отсутствует межпользовательская интерференция, что может быть достигнуто при идеальной синхронизации базовой станции и мобильных
п
ГЛАВА 2. АДАПТИВНЫЕ МЕТОДЫ ПЕРЕДАЧИ Модуляция
68 Усиление
Оптимизируемые параметры
Расширение
Пользователь 0 Пользователь 1
ОДПФ
Пользователь K-1
Рис. 2.3 Архитектура оптимизируемой системы устройств. В случае кодового разделения для этого дополнительно требуется неизменность канала во времени и ортогональность используемых расширяющих последовательностей (таковыми, например, являются последовательности Уолша-Адамара). Кроме того, предположим, что для k-го пользователя необходимо обеспечить скорость передачи данных N −1 X ρki cki , k = 0..K − 1, i = 0..N − 1, Rk = i=0
где cki = log2 Mki —число бит в одном символе, передаваемом k-м пользователем по подканалу i. Первоначально предположим, что используется кодовое разделение подканалов на основе ортогональных расширяющих последовательностей (например, Уолша-Адамара) длины St = S. Это означает, что множество допустимых коэффициентов разделения подканалов имеет вид ρki ∈ {0, 1/S, . . . , (S − 1)/S, 1}. Вместе с тем, в нижеприведенных преобразованиях предполагается, что ρki ∈ R. Ясно, что путем увеличения S точность оптимизации может быть повышена. (0) Пусть3 f (ξki , cki) = f (cki) указывает отношение сигнал/шум, которое необходимо обеспечить для достижения требуемой вероятности ошибки при скорости передачи данных cki . Предположим, что эта функция является выпуклой, монотонно возрастающей и удовлетворяющей условию f (0) = 0. Для большинства практически используемых методов 3 (j) ξki
Для простоты здесь предполагается, что канал стационарен, т.е. для отношений канал/шум выполняется (j) 2
|µ
|
= σki2 = ξki . В этом случае определение функции f (c) идентично использованному в [89]. Но при наличии стохастических изменений канала эту функцию целесообразно определить как отношение сигнал/шум в начальный момент времени, необходимое для передачи данных со скоростью c и заданной вероятностью ошибки.
ГЛАВА 2. АДАПТИВНЫЕ МЕТОДЫ ПЕРЕДАЧИ
69
модуляции и кодирования эта функция может быть приближенно представлена как f (c) = Γ(2c − 1),
(2.20) 2
где Γ зависит от требуемой вероятности ошибки. Пусть ξki = |µσki2| — отношение канал/шум для пользователя k по подканалу i. Ясно, что тогда коэффициент усиления должен быть равен p (2.21) Vki = f (cki)/ξki. Таким образом, оптимизационная задача может быть сформулирована как min
cki ,ρki
N −1 K−1 X X i=0 k=0
ρki f (cki ) ξki
(2.22)
с ограничениями Rk = 1 =
N −1 X
i=0 K−1 X
ρki cki
(2.23)
ρki
(2.24)
k=0
0 ≤ ρki .
(2.25)
Производя замену переменных pki = cki ρki , получим задачу выпуклого программирования с функцией Лагранжа ! N −1 N −1 K−1 X X X ρki pki K−1 X − λk pki − Rk f L(ρki , pki, λk , βi , φki) = ξ ρki i=0 i=0 k=0 ki k=0 ! N −1 K−1 N −1 K−1 XX X X φkiρki , βi ρki − 1 − − i=0
i=0 k=0
k=0
где λk , βi , φki — множители Лагранжа. Дифференцируя это выражение и учитывая условия Куна-Таккера [159], получим ∂L = ∂pki ∂L = ∂ρki
f ′ (pki /ρki ) ξki 1 ξki
− λk
pki ′ f (pki /ρki) ρki
f (pki/ρki ) − PN −1 i=0
pki
k=0
ρki
PK−1
φkiρki φki
=0
− βi − φki = 0 = Rk =1 =0 ≥0
ГЛАВА 2. АДАПТИВНЫЕ МЕТОДЫ ПЕРЕДАЧИ Эта система может быть преобразована к следующему виду: (k) 0= βi − βi ρki PN −1 ′−1 Rk = (λk ξki ) i=0 ρki f PK−1 1= k=0 ρki βi ≤
(k) βi
=
f (f ′−1 (λk ξki ))−λk ξki f ′−1 (λk ξki ) ξki
70
(2.26) (2.27) (2.28) .
(2.29)
Несложно заметить, что система состоит из NK + K уравнений и N неравенств и является разреженной. В настоящее время известны различные методы, предназначенные для численного решения больших разреженных систем нелинейных уравнений [12, 58, 108]. Несмотря на это оказывается, что решение этой системы весьма затруднено ввиду наличия большого числа решений, т.е. наборов значений ρki , удовлетворяющих описанным ограничениям. Следствием этого является наличие большого числа точек в пространстве параметров задачи, в которых матрица Якоби системы уравнений (2.26)–(2.29) вырождена. Это приводит к существенному замедлению сходимости многих численных методов. В связи с этим возникает необходимость построения оптимизационного алгоритма, ориентированного на данную задачу.
2.2.2 Оптимизационный алгоритм Для построения специализированного оптимизационного алгоритма заметим, что из (2.27) следует, что для заданного набора {ρki } λk может быть однозначно найдено из Rk . С другой стороны, как было показано в [89], из (2.26) следует, что βi должно быть (k) (k) равно mink βi и только пользователи с βi = βi могут использовать подканал i. Поэтому (k) величина βi может рассматриваться как мера непригодности пользователя k для работы по подканалу i. Используя этот факт, можно построить следующий алгоритм: 1. Сформировать начальный набор {ρki }. (k)
2. Вычислить λk из (2.27) и подставить это значение в (2.29), получив βi . 3. Найти наихудший подканал и наихудшего пользователя, назначенного на этот (k) подканал (iw , kw ) = arg max (βi − βi ), а также наилучшего пользователя kb = i,k:ρki >0
(k) arg min βiw . k
4. Уменьшить долю ρkw ,iw подканала iw , занимаемую пользователем kw , на 1/S и увеличить долю ρkb ,iw , занимаемую пользователем kb , на эту же величину. 5. Повторять шаги 2 — 4 заданное число раз. Вычисления могут быть прекращены досрочно, если в течение нескольких шагов не происходит уменьшение величины (k) ∆ = max (βi − βi ) i,k:ρki >0
ГЛАВА 2. АДАПТИВНЫЕ МЕТОДЫ ПЕРЕДАЧИ
71
6. Воспользоваться каким-либо алгоритмом оптимизации однопользовательских многочастотных систем для нахождения распределения мощности передаваемого сигнала и скоростей передачи по подканалам, выделенным каждому из пользователей. Замечание 2. Заметим, что на каждой итерации алгоритма достаточно обновлять значения λk лишь для k = kw и k = kb . Замечание 3. Шаг 6 может быть полезен исключительно для обеспечения более точного учета дискретных ограничений на скорость кодирования/модуляции для отдельных подканалов. Замечание 4. Описанный алгоритм минимизирует величину ∆, связанную с максимальной невязкой уравнения (2.26). При этом автоматически учитывается дискретность множества допустимых коэффициентов разделения подканалов. Исходное распределение пользователей по подканалам может быть получено, например, следующим образом. Для каждого пользователя могут быть найдены наилучшие подканалы и для них установлено ρki = δ > 0. Те подканалы, которые не вошли в число наилучших ни для одного пользователя, могут быть назначены, например, пользователям с наилучшими отношениями канал/шум на них. При этом должно выполняться условие нормировки (2.28). Данный алгоритм не опирается на “небольшие константы”, используемые в алгоритме Вонга [89] для инициализации и обновления множителей Лагранжа λk ; оказывается, что их выбор существенно влияет на само решение и сложность алгоритма. Кроме того, предложенный алгоритм реализует иную структурку итеративного процесса: осуществляется подстройка коэффициентов разделения подканалов до достижения ими условий оптимальности, в то время как в алгоритме Вонга осуществляется подстройка констант “водонаполнения” λk . Иногда описанный алгоритм сталкивается с той же проблемой, что и стандартные итеративные алгоритмы оптимизации, а именно возникновением колебаний на шаге 4. В этом случае несколько пользователей циклически обмениваются подканалами, что препятствует достижению оптимального решения. Причиной этого является то, что передача доли подканала от одного пользователя к другому может незначительно улучшить условия работы первого пользователя и существенно ухудшить показатели второго пользователя, вследствие чего на следующей итерации алгоритма будет произведен обратный обмен. Эта проблема может быть преодолена, с помощью стандартного приема “сглаживания”. В данном случае он может быть реализован путем принудительного запрета на выбор на шаге 3 в качестве “наихудших” тех пользователей, которые были выбраны на предыдущих W итерациях в качестве “наилучших”.
2.2.3 Анализ эффективности Точный теоретический анализ адаптивной многопользовательской системы оказывается достаточно сложной задачей, что обусловлено усложнением системы уравнений (2.26)– (2.29) по сравнению с аналогичной системой в однопользовательском случае. Ввиду того, что решение оптимизационной задачи зависит не только от передаточных коэффициентов, но и от их соотношения для различных пользователей, здесь уже нельзя напрямую
ГЛАВА 2. АДАПТИВНЫЕ МЕТОДЫ ПЕРЕДАЧИ
Таблица 2.1 Граница однопользовательского Число пользователей 4 8 16 Скорость каждого из пользователей R, 16 16 16 бит/OFDM символ Мощность в однопользовательской си- -17 -17 -17 стеме P0 , дБ Оценка минимальной требуемой мощно- -11 -8 -5 сти, дБ
72
“водонаполнения” 32 64 4 8 16 16 256 128
16 64
32 32
-17
-17
-1
-5
-10
-13
-2
1
5
4
2
2
воспользоваться аппаратом порядковых статистик, использованным при анализе однопользовательской системы. В связи с этим возникает необходимость введения дополнительных упрощающих предположений. Предположим, что передача данных каждого из пользователей производится в соответствии с правилом традиционного однопользовательского “водонаполнения” и скорость передачи данных каждого из пользователей достаточно мала, так что каждым из них используется небольшое число наилучших подканалов. Кроме того, допустим, что передаточные коэффициенты подканалов для различных пользователей независимы. Тогда множества их наилучших подканалов также будут являться независимыми. Следовательно, вероятность совпадения подканалов, используемых различными пользователями, достаточно мала. Пусть P (R) — функция, характеризующая мощность передатчика однопользовательской системы, необходимую для передачи данных со скоростью R (см. (2.16),(2.17)). Тогда общая мощность передатчика системы вещания может быть оценена как P (R1 , . . . , RK ) ≥
K X
P (Rk )
(2.30)
k=1
Эта граница не учитывает эффектов, связанных с возможным совпадением множеств наилучших подканалов различных пользователей. Числовые значения этой границы для случая системы с 512 подканалами и Γ ≈ 2, 66 представлены в таблице 2.1. Функция достижимой спектральной эффективности в идеальной адаптивной КАМ-системе, функционирующей в условиях независимых затуханий, представлена на рисунке 2.4. Замечание 5. Использованная методика оценки опирается на возможность точного вычисления спектральной эффективности адаптивной системы в области малых отношений сигнал/шум (см. раздел 2.1.4). Согласно имеющейся у автора информации, все опубликованные до настоящего времени методы оценивания спектральной эффективности адаптивных систем не позволяют получить удовлетворительных результатов в этом случае, т.к. не учитывают возможность использования только нескольких наилучших подканалов.
2.2.4 Частотно-временное расширение Вышеописанный метод может быть использован и в случае частотно-временного расширения, т.е. если символы каждого CDMA-слова занимают Sf подканалов, образующих
–40
–30 относительная мощность передатчика, дБ
–20
–10
0
0.1
0.2
0.3
0.4
0.5
73
2. Скорость модуляции и кодирования cki для каждого пользователя и каждого подканала.
1. Распределение пользователей по подканалам и расширяющим последовательностям ρki .
Ясно, что после выполнения описанной оптимизации ее результаты должны быть переданы приемникам. Для осуществления демодуляции передаваемого сигнала приемник должен обладать следующей информацией:
2.2.5 Сжатие служебной информации
подполосу, и St = S/Sf OFDM-символов. Для каждой из подполос может быть вычислено среднее геометрическое (см. п. 2.1.3) отношение канал/шум ξki , k = 0..K − 1, i = 0..N/Sf − 1, после чего вышеописанный оптимизационный алгоритм может быть использован без каких-либо изменений. При этом возникает еще один параметр оптимизации, а именно разбиение множества подканалов на подполосы. Для минимизации межпользовательской интерференции, вызываемой нарушением ортогональности расширяющих последовательностей из-за частотноселективного затухания, желательно формировать подполосы из подканалов с близкими отношениями канал/шум ξki для пользователей, использующих эти подполосы. Кроме того, векторный канал, образованный этими подполосами, должен быть как можно более частотно-селективным с целью максимизации его пропускной способности. В принципе, можно построить оптимизационный алгоритм, реализующий эти критерии. С другой стороны, т.к. передаточные коэффициенты смежных в подканалах в большинстве практических систем являются сильно коррелированными, разумно предположить, что группировка смежных подканалов в подполосы может автоматически удовлетворить вышеописанным требованиям. Оказывается, что этот простой подход обеспечивает достаточно хорошие показатели качества работы системы.
Рис. 2.4: Спектральная эффективность идеальной адаптивной однопользовательской КАМ-системы в канале с независимыми замираниями
–50
ГЛАВА 2. АДАПТИВНЫЕ МЕТОДЫ ПЕРЕДАЧИ
спектральная эффективность, бит/с/Гц
ГЛАВА 2. АДАПТИВНЫЕ МЕТОДЫ ПЕРЕДАЧИ
74
3. Коэффициенты усиления Vki . 4. Передаточные коэффициенты канала µki . Передаточные коэффициенты µki могут быть оценены приемником с использованием любого стандартного метода оценивания канала [86]. Заметим, что приемник может восстановить коэффициенты Vki, используя оцененные значения µki с помощью функции f (x). Однако ввиду возможного наличия погрешности оценивания µki это может привести к некоторому увеличению вероятности ошибки. Для каждого из подканалов i = 0..N/Sf − 1 на основе величин ρki может быть сформирован список пользователей, использующих его. Каждый из таких списков имеет размер ровно S. Одна запись в списке может представлять собой номер пользователя и номер используемого сигнального множества. Таким образом, общий объем служебной информации равен N S(log(K) + log(Mmax )), (2.31) Iaux = Sf где Mmax — максимальное число точек в сигнальном множестве. Эта величина может быть существенно уменьшена путем использования какого-либо алгоритма сжатия данных. Отсюда видно, что частотное расширение требует передачи намного меньшего объема служебной информации, чем временное расширение. Сложность оптимизации также существенно сокращается. Ввиду того, что в реальных системах радиосвязи коэффициенты µki являются зависимыми, а также в силу специфики адаптивной системы, в которой передача данных производится только по лучшим подканалам, управляющие данные, порождаемые с помощью вышеописанного алгоритма, обладают большой избыточностью. Это может быть использовано для снижения объема служебной информации, передаваемой пользователям. Предположим, что если несколько пользователей используют один и тот же подканал (или подполосу) i, то первый из этих пользователей k1 использует расширяющие последовательности a0 , . . . , a⌊Sρk1 ,i −1⌋ , второй пользователь k2 — a⌊Sρk1 ,i ⌋ , . . . , a⌊Sρk2 ,i −1⌋ и т.д. Таким образом, параметры разделения каждого из подканалов однозначно определяются списком пользователей, использующих данный подканал, и коэффициентами разделения канала4 . Тогда схема передачи данных может быть однозначно задана следующими параметрами: 1. Списками подканалов (подполос), используемых каждым из пользователей (т.е. таких, что ρki > 0 и cki > 0). Ясно, что эти списки могут быть упорядочены, например, по возрастанию номера подканала. Эта последовательность данных будет обозначаться далее как S. 2. Величинами ⌊ρki S⌋, характеризующими используемую долю подканала. Эта последовательность данных будет обозначаться далее как R. 3. Параметрами модуляции/кодирования cki для каждого из используемых подканалов. Эта последовательность данных будет обозначаться далее как C. 4
Здесь удобнее перейти от величин ρki к их целочисленным аналогам ⌊ρki S⌋.
ГЛАВА 2. АДАПТИВНЫЕ МЕТОДЫ ПЕРЕДАЧИ
75
Т.к. в большинстве случаев отношения канал/шум для смежных подканалов обладают сильной статистической зависимостью, оказывается, что списки подканалов в основном состоят из перечисления номеров смежных подканалов; параметры кодирования также оказываются сильно зависимыми. В связи с этим можно ожидать хороших результатов при применении простейшего метода кодирования длины пробегов [170], состоящего в замене n повторов символа x на пару (x, n). Перед применением данного метода для кодирования списка используемых подканалов S (ik1 , ik2 , . . . , ikl ) необходимо преобразовать его к виду (дельта-кодирование) (ik1 , ik2 − ik1 , . . . , ikl − ik,l−1 ). Последовательности данных, получаемые после кодирования длин пробегов в массивах S и C, обозначаются далее S ′ и C ′ соответственно. Последовательность символов, получаемая после описанных преобразований, обладает существенно неравномерным распределением вероятностей появления различных символов. Следовательно, возможно дальнейшее сжатие служебной информации путем использования кодов Хаффмана [170]. При этом оказывается, что массивы S ′ , C ′ и R обладают несколько различающимися статистическими свойствами. В связи с этим целесообразно осуществлять их обработку независимо. Использование кодов Хаффмана требует передачи не только собственно сжатых данных, но и таблицы (дерева) кодирования, которая в рассматриваемом случае оказывается сопоставимой по размеру со сжатыми данными. В связи с этим целесообразно использование универсального кода Хаффмана, построенного для некоторой типичной конфигурации системы. Соответствующая таблица может быть сконструирована заранее и размещена как на базовой станции, так и в мобильных устройствах. Недостатком такого подхода является то, что при изменении количества активных пользователей в системе, их требований к скорости передачи данных, условий распространения сигнала и т.д. статистические свойства массивов S ′ , C ′ и R′ также изменяются, вследствие чего универсальные коды Хаффмана не обеспечивают оптимального сжатия. Альтернативой является использование динамических кодов Хаффмана (см., например, [135]). При их использовании обработка передаваемых данных осуществляется в один проход. При поступлении очередного символа xi передатчик кодирует его с помощью кода Хаффмана, оптимального для последовательности символов x1 , . . . , xi−1 и обновляет свою таблицу кодирования; если символ xi отсутствует в таблице, он передается в незакодированном виде. Приемник также динамически обновляет свою таблицу декодирования. Однако использование динамических кодов Хаффмана связано с определенными сложностями: 1. Если кодер (и декодер) начинает работу с пустой таблицы, объем служебных данных на начальном этапе может существенно превышать средний. 2. Ошибка декодирования служебного блока данных может привести к рассинхронизации таблиц кодера и декодера, что сделает невозможной дальнейшую работу приемника. 3. Подключение нового пользователя к системе затруднено ввиду необходимости синхронизации его таблицы декодирования.
ГЛАВА 2. АДАПТИВНЫЕ МЕТОДЫ ПЕРЕДАЧИ
76
Эти проблемы могут быть решены путем использования в качестве начальных таблиц в кодере и декодере некоторых универсальных кодов Хаффмана, а также периодической реинициализации кодера базовой станции и декодеров всех пользователей.
2.2.6 Чувствительность к изменениям состояния канала Вышеописанный оптимизационный подход предполагает, что состояние канала передачи данных остается неизменным по крайней мере во время передачи одного кадра. Однако в практических радиосистемах это предположение в большинстве случаев не выполняется. Более того, в связи с тем, что требуемый объем служебной информации (2.31) достаточно велик, желательно производить оптимизацию схемы передачи как можно реже. Это требует учета возможных изменений состояния канала. Одним из наиболее распространенных методов учета изменений состояния канала яв(j) ляется линейное предсказание (см., например, [2]) коэффициентов µki , где j — номер OFDM-символа, на основе нескольких предшествующих наблюдений и корреляционной функции канала. Однако полная реализация данного метода в многочастотной многопользовательской системе представляется достаточно затруднительной ввиду чрезвычайно большого объема требуемой информации и высокой вычислительной сложности. Кроме того, применение этого подхода не позволяет полностью решить проблему временных изменений канала, т.к. само понятие адаптации предполагает выбор схемы передачи, ориентированной на определенное состояние канала. Ясно, что периодически необходимо производить оптимизацию для учета изменившегося состояния канала. В связи с этим требуется произвести анализ временного интервала, в течение которого одна и та же оптимизированная схема передачи может использоваться без изменений. Предположим, что дисперсия шума в канале равна σ 2 и в начальный момент времени (0)
(0)
µ
получена некоторая оценка отношения канал/шум ξki = σki2 . Индексы k и i будут далее для простоты опускаться. Предположим далее, что распространение радиосигнала может (j) (j) (j) (j) быть описано с помощью Релеевской модели, т.е. µ(j) = µq + j µi , µq , µi ∼ N(0, σµ2 /2). (j) (j) Тогда случайная величина ξ (j) = a2j + b2j , где aj = µq /σ, bj = µi /σ распределены по σ2
нормальному закону N(0, χ/2), χ/2 = 2σµ2 , имеет экспоненциальное распределение с плотностью 1 p(ξ (j)) = exp(−ξ (j) /χ). (2.32) χ Пусть M[a0 aj ] = M[b0 bj ] = φj χ/2, M[a0 b0 ] = M[aj bj ] = 0, M[a0 bj ] = −M[aj b0 ] = ψj χ/2. Тогда (ξ (0) , ξ (j) ) имеет двумерное экспоненциальное распределение [82, 69] q 2 2 φ + ψ j j x+y √ 1 xy , I0 exp − pξ(0) ,ξ (j) (x, y) = 2 2 2 2 2 2 2 χ (1 − φj − ψj ) χ(1 − φj − ψj ) (1 − φj − ψj )χ/2
Далее будет использоваться обозначение φ2j + ψj2 = ρ2j . Предположим, что в результате работы оптимизационного алгоритма для некоторого подканала была выбрана схема кодирования/модуляции со скоростью c(0) . С течением времени состояние канала будет изменяться. Эти изменения могут быть охарактеризованы
ГЛАВА 2. АДАПТИВНЫЕ МЕТОДЫ ПЕРЕДАЧИ
77
величинами c(j) , соответствующими практически достижимой скорости передачи данных в момент времени j при условии сохранения того же коэффициента усиления V 2 . Ясно, что это определение предполагает возможность динамического изменения параметров кодирования/модуляции в каждом символе, что практически невозможно реализовать. Вместе с тем, оно может быть полезно для определения средней достижимой скорости для последовательности символов, что дает возможность, например, подобрать параметры внешнего кода, за счет использования которого могут быть сглажены временные изменения состояния канала. Для определенности предположим, что функция f (c) имеет вид f (c) = Γ(2c − 1), где Γ — параметр, зависящий от используемых методов кодирования и модуляции, а также требований к вероятности ошибки. Тогда с учетом ограничения (2.21) c(j) может быть выражена как ξ (j) c(0) (j) c = log2 1 + (0) (2 − 1 , (2.33) ξ где ξ (j) и ξ (0) — отношения канал/шум в моменты времени j и 0 соответственно. Т.к. ξ (j) является случайной величиной, изменения качества канала могут быть охарактеризованы с помощью условного математического ожидания Z ∞ ξ (j) c(0) (j) (0) (0) C(x, c, ρj ) = M[c |ξ = x, c = c] = log2 1 + (0) (2 − 1 pξ(j) |ξ(0) (y|x)dy = ξ 0 Z ∞ √ (j) y + xρ2j 2|ρj | xy 1 ξ c(0) = I0 dy.(2.34) log2 1 + (0) (2 − 1 exp − (1 − ρ2j )χ 0 ξ (1 − ρ2j )χ (1 − ρ2j )χ Отметим, что это выражение не зависит от Γ, т.е. конкретных параметров кодирования/модуляции и требований к вероятности ошибки декодирования. Вместе с тем, если используется кодирование по нескольким подканалам, применение этого выражения, вообще говоря, некорректно. Тем не менее, как будет показано ниже, оно может быть использовано для оценки средних показателей качества работы системы. Рисунок 2.5 иллюстрирует эту зависимость. Можно заметить, что подканалы с наилучшими отношениями канал/шум наиболее чувствительны к временным изменениям состояния канала. Кроме того, потенциальное ухудшение качества подканалов, использующих высокоскоростные методы кодирования, менее существенно, чем в низкоскоростном случае. Это связано с нелинейностью функции f (c), т.е. с тем, что для обеспечения высокой скорости передачи требуется обеспечить столь высокое отношение сигнал/шум, что оно не может существенно ухудшиться при стохастических изменениях свойств канала. Этот подход может быть применен и для анализа адаптивных систем. В этом случае (0) (0) величины ξki являются случайными, а cki — их функцией. Задача может быть упрощена (0) путем перехода к порядковым статистикам отношений канал/шум ξki , аналогично тому, как это было сделано в п. 2.2.3 и п. 2.1.4. Пусть R(0) — общая скорость для некоторой схемы передачи данных, построенной в соответствии с принципом “водонаполнения”. Используя выражение (2.14), получим, что практически достижимая скорость передачи данных в момент времени j в случае канала с независимыми Релеевскими замираниями
ГЛАВА 2. АДАПТИВНЫЕ МЕТОДЫ ПЕРЕДАЧИ
78
ρj=0.1, χ=1
ρj=0.9, χ=1
M[c(j)|ξ(0)=x,c(0)=c]/c
M[c(j)|ξ(0)=x,c(0)=c]/c
1
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2 00
2
4
6
8 x
10
12
14
16
18
20 0
2
6
4
8
10
12
14
16
18
20
0.2 00
c
2
4
6
8
10
x
12
14
16
18
20 0
2
4
6
8
10
12
14
16
18
20
c
Рис. 2.5 Нормализованное ухудшение качества канала N=512 1
ρj=0.1 ρj=0.5 ρj=0.9
0.9 0.8 0.7
R(j)/R(0)
ит
0.6 0.5 0.4 0.3 0.2 0.1 0
100
200
300
400
500
600
700
800
900
1000
проп. способность
Рис. 2.6: Нормализованная практически достижимая скорость для многочастотной системы, Γ = 1 может быть вычислена как R(j) =
X
i:λ> ΓN ln N−i
C(ln
N Γ , ρj ), ,λ− N −i ln NN−i
(2.35)
где λ — константа “водонаполнения” (см. (2.16)). Графики этой функции для различных значений ρj приведены на рис. 2.6. Здесь снова можно заметить уменьшение чувствительности к изменениям состояния канала с ростом общей скорости передачи данных. Длительность временного интервала, в течение которого может использоваться одна и та же схема передачи, определяется следующими факторами: 1. Ухудшение качества работы системы вследствие изменений состояния канала. Ясно, что с ростом L — числа смежных OFDM символов, использующих одну и ту же схему передачи, качество работы системы (величина R(j) ) уменьшается.
ГЛАВА 2. АДАПТИВНЫЕ МЕТОДЫ ПЕРЕДАЧИ
79
2. Величина издержек на построение оптимизированной схемы передачи данных. Это включает в себя оценку состояния канала, вычисление параметров оптимизированной схемы, их передача пользователям и т.п. Пусть d — количество OFDM-символов, на протяжении которых осуществляются описанные подготовительные действия. Очевидно, что требования минимизации издержек и увеличения качества работы системы являются противоречивыми. В качестве критерия качества работы подобной системы может рассматриваться величина PL (j) j=1 R , (2.36) r(L, d) = (d + L)R(0) называемая далее нормализованной эффективной скоростью передачи данных и характеризующая близость средней скорости передачи данных к идеальной. Как правило, величина d жестко определяется конструктивными параметрами системы, в то время как длительность межоптимизационного интервала L может варьироваться в достаточно широких пределах. Таким образом, возникает задача выбора значения L, максимизирующего r(L, d). Для этого необходимо знание автокорреляционной функции канала. В том случае, когда стохастические изменения состояния канала описываются моделью Джейкса [64], можно показать, что ρj = J0 (2πfD τ j), где fD — максимальный Допплеровский сдвиг, τ — длительность одного OFDM-символа, J0 (x) — функция Бесселя нулевого порядка. На рисунке 2.7 представлены кривые функции r(L, d), построенные с учетом этого выражения. Несмотря на отмеченную выше более сильную чувствительность к изменениям канала высокоскоростных схем передачи, оптимальные значение L для всех рассмотренных скоростей оказывается достаточно близким. Это связано с тем, что при небольших d построение новой оптимизированной схемы сопряжено с меньшими издержками по сравнению с использованием неоптимизированной схемы. Отсюда также следует, что значение L, оптимальное с точки зрения пропускной способности (Γ = 1), будет близко к оптимальному и для реальных схем кодирования/модуляции (Γ > 1). В данном разделе снова игнорировалась возможность совпадения наилучших подканалов для нескольких пользователей. Т.к. рассматриваемая система допускает совместное использование подканалов, это предположение не оказывает существенного влияния на результаты анализа.
2.3
Выводы
В данной главе были представлены адаптивные методы передачи для однопользовательских и многопользовательских систем. В случае однопользовательской системы применение многоуровневого кодирования позволяет повысить точность подбора скорости кодирования/модуляции для отдельных подканалов. Был предложен прагматический способе построения семейства многоуровневых кодов на основе сравнительно небольшого числа двоичных линейных кодов, не требующий нахождения весового спектра компонентных
ГЛАВА 2. АДАПТИВНЫЕ МЕТОДЫ ПЕРЕДАЧИ
80
d=4, N=512, fc= 5 GHz R=16, v=20 km/h R=16, v=50 km/h R=150, v=20 km/h R=150, v=50 km/h
1.4
1.2
r(L,d)
1
0.8
0.6
0.4
0.2
0 0
10
20
30
40
50 L
60
70
80
90
100
Рис. 2.7 Нормализованная эффективная скорость передачи данных кодов, что существенно упрощает проектирование системы. Кроме того, предложен способ оценки пропускной способности (а также спектральной эффективности) адаптивных систем, функционирующих в условиях канала со случайными независимыми передаточными коэффициентами, позволяющий оценить характеристики системы в области малых отношения сигнал/шум без использования имитационного моделирования. Предложенный метод адаптивного многоуровневого кодирования может быть также использован и в случае многопользовательской системы. Для случая многопользовательской системы был предложен метод адаптивного распределения мощности, скорости передачи и кодового разделения канала, позволяющий, как будет показано ниже, получить энергетический выигрыш до 5 дБ по сравнению с аналогичной системой на основе частотного разделения. Предложен метод сжатия служебной информации, порождаемой адаптивной системой. Приведена теоретическая нижняя граница для мощности передатчика в адаптивной системе, использующей данный алгоритм. Было проанализировано поведение предложенной адаптивной системы при наличии временных стохастических изменений его состояния.
Глава 3. Вычислительные процедуры декодирования В данной главе представлены новые алгоритмы решения вычислительных задач, возникающих при алгебраическом декодировании некоторых кодов, исправляющих ошибки. В разделе 3.1 описывается метод ускорения процедуры Ченя, используемой в классическом синдромном декодере. Раздел 3.2 посвящен описанию метода быстрого вычисления дискретного преобразования Фурье над конечным полем, что может быть использовано для ускоренного вычисления синдромного многочлена. В разделе 3.3 описывается метод построения разреженного представления линейных блоковых кодов. В разделе 3.4 представлен метод параллельного вычисления интерполяционного многочлена при списочном декодировании кодов Рида-Соломона.
3.1
Ускоренный поиск корней многочленов над конечными полями
3.1.1 Аффинное разложение В данном разделе описывается улучшенный алгоритм вычисления значений многочлена в большом числе точек, который может быть использован при переборном поиске корней [38]. Стандартным приемом снижения сложности вычислительных процедур является повторное использование на каждом шаге результатов ранее выполненных вычислений. В случае линеаризованных и аффинных многочленов для этого может быть использовано свойство (1.43). Действительно, предположим, что необходимо вычислить набор значений аффинного многочлена A(x) = L(x) + β во всех точках x(i) ∈ GF (2m). В силу теоремы 1, эта задача может быть представлена как A(x(i) ) = β +
m−1 X
(i)
xj L(αj ), x(i) =
j=0
m−1 X j=0
Тогда
X
A(x(i) ) = A(x(i−1) ) +
(i)
(i)
xj αj , xj ∈ GF (2).
L(αj ), x(0) = 0.
(3.1)
(3.2)
(i) (i−1) j:xj 6=xj
Выражение (3.2) задает процедуру вычислений, приводящую к набору значений многочлена A(x) во всех x(i) ∈ GF (2m ). Для своего функционирования он требует наличия значений L(αj ), которые должны быть найдены на подготовительном этапе вычислений.
81
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
82
Для минимизации сложности этой процедуры необходимо найти такое упорядочение элементов конечного поля, при котором число сложений на каждом шаге было бы минимально, т.е. необходимо найти такую последовательность элементов конечного поля x(i) , Pm (i) (i−1) что 2i=1−1 |{j|xj 6= xj }| минимально. При этом отметим, что каждое из слагаемых в этом выражении не может быть меньше единицы. Определение 4. Кодом Грея называется такая последовательность двоичных векторов длины m, что соседние вектора различаются ровно в одной позиции. В силу того, что каждому элементу GF (2m ) может быть сопоставлен двоичный вектор длины m, элементы поля всегда могут быть упорядочены в соответствии с каким-либо кодом Грея. Поэтому на каждом шаге процедуры (3.2) придется выполнять ровно одно сложение. В настоящее время известны эффективные методы порождения кода Грея [173], что делает описанную процедуру чрезвычайно эффективной. Описанный подход может быть обобщен на случай произвольных многочленов, если удастся разбить их на набор аффинных. P Теорема 2. Всякий многочлен f (x) = ti=0 fi xi может быть разложен на сумму многочленов, кратных аффинным: ⌈(t−4)/5⌉ 3
f (x) = f3 x +
X
x5i (f5i + Li (x)),
(3.3)
i=0
где Li (x) =
P3
2j j=0 f5i+2j x
— линеаризованные многочлены, fj = 0 для всех j > t
Доказательство. Пусть k = ⌈(t − 4)/5⌉. Выражение (3.3) может быть переписано как 3
f (x) = fk (x) = f3 x +
k X
x5i (f5i + Li (x)) =
i=0
Fk−1 (x) + x5k (f5k + f5k+1 x + f5k+2 x2 + f5k+4 x4 ) + x5(k−1) f5k+3 x8 , где f−1 (x) = 0. Для k = 0 (t ≤ 4) справедливость теоремы очевидна. Предположим, что она выполняется для некоторого k − 1 > 0. Тогда очевидно, что предпоследнее слагаемое (3.4) является многочленом, кратным аффинному, а последнее может быть сгруппировано с соответствующим слагаемым fk−1 (x). Таким образом, для вычисления значения многочлена во всех точках конечного поля может использоваться следующий алгоритм: 1. Построить таблицы значений линеаризованных многочленов из разложения (3.3): (k) Li = Li (αk ), k = [0; m − 1], i ∈ [0; ⌈(t − 4)/5⌉]; (0)
2. Произвести инициализацию Ai = f5i ;
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
83
3. Представив все элементы поля xj ∈ GF (2m ), j ∈ [0; 2m − 1], разложенные в стан(δ(x ,x )) (j) (j−1) дартном базисе, как элементы кода Грея, вычислить Ai = Ai + Li j j−1 , j ∈ [1; 2m − 1], где δ(xj , xj−1 ) указывает координату, в которой xj отличается от xj−1 ; P (j) m 4. Вычислить f (xj ) = f3 x3j + ⌈(t−4)/5⌉ x5i j Ai , j ∈ [0; 2 − 1]. Если f (xj ) = 0, xj является i=0 корнем многочлена. Сложность данного алгоритма равна t+1 t+1 (4Cmul + 3Cadd ) + (2Cadd + Cmul ) + 2Cexp W, Caf f = m 5 5
(3.4)
где W — число обращений к процедуре вичисления значений многочлена (1.39). Необходимо отметить, что впервые подход, основанный на сведении произвольного многочлена к набору аффинных, был предложен в работе [128]. Однако описанное там преобразование было возможно только для некоторых многочленов степени не выше 11 и требовало громоздких предварительных вычислений. По имеющейся у автора информации, применение кода Грея для вычисления значений аффинных многочленов в литературе описано не было.
3.1.2 Специальные разложения В некоторых случаях оказывается возможным построить более эффективные алгоритмы на основе других разложений. Пример 1. Для многочленов степени t ≤ 8 может быть использовано разложение P8 i A1 (x) + x3 (A2 (x) + f6 x3 ), F (x) = i=0 fi x = A1 (x) = f0 + L1 (x) = f0 + f1 x + f2 x2 + f4 x4 + f8 x8 , A2 (x) = f3 + L2 (x) = f3 + f5 x2 + f7 x4 .
(3.5)
Использование этого разложения позволяет избежать выполнения одной операции возведения в степень. Сложность вычислений с использованием этого разложеиня равна C8 = m(6Cmul + 4Cadd ) + (4Cadd + 2Cmul + Cexp ) W.
(3.6)
Пример может быть обобщен на случай t ≤ 17:
Пример 2.
F (x) = A′1 (x) + x3 (A2 (x) + x3 (f6 + x3 (A3 (x) + x3 (A4 (x) + f15 x3 ))), A3 (x) = f9 + f10 x + f11 x2 + f13 x4 + f17 x8 , A4 (x) = f12 + f14 x2 ,
(3.7)
Сложность вычислений с использованием этого разложения равна C17 = m(12Cmul + 8Cadd ) + (9Cadd + 5Cmul + Cexp ) W.
(3.8)
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
84
3.1.3 Обобщенное разложение Одним из возможных методов построения разложений, отличных от (3.3), является замена показателя степени 5 (эта величина будет называться далее показателем разложения) другим числом. Рассмотрим ограничения, которым должен удовлетворять показатель разложения. Определение 5. Число r называется примитивным корнем по модулю простого числа p, если (∀j : 0 < j < p) ∃i : 0 ≤ i < p − 1 : r i ≡ j (mod p) Для того, чтобы построить разложение по многочленам, кратным аффинным, необходимо так сгруппировать слагаемые, чтобы выполнялось соотношение: ∀i 6∈ A ∃j, k : i = pj + 2k ,
(3.9)
где A — множество номеров коэффициентов, группируемых в остаточный член произвольного вида (например, в разложении (3.3) A = {3}). Это приведет к разложению P pi F (x) = F0 (x) + i x Ai (x), где F0 (x) — некоторый остаточный член, соответствующий множеству A, p — простое число, Ai (x) — аффинные многочлены. Очевидно, что условие (3.9) эквивалентно тому, что число 2 является примитивным корнем по модулю p. Однако оказывается, что для простых чисел, больших 5, не удается построить разложения с небольшим остаточным членом (множеством A малой мощности). Эта трудность может быть преодолена, если учесть, что все ненулевые элементы конечного поля GF (2m ) m образуют циклическую группу Yпо умножению порядка n = 2 − 1. Предположим, что n = pi , где pi — простые числа, одно из которых p0 имеет i
примитивный корень 2. Тогда (3.9) может быть заменено на ∀i ∃j, k : i ≡ p0 j + 2k mod n
(3.10)
В силу того, что 2 является примитивным корнем по модулю p0 , последнее соотношение выполняется для всех i < n, т.е. возможно построение разложения с нулевым остаточным членом.
3.1.4 Гибридный алгоритм поиска корней многочленов Ввиду того, что аналитический алгоритм поиска корней многочленов степени не выше 4 выполним за детерминированное и достаточно малое время, представляется целесообразным использовать его при поиске корней произвольных многочленов. Это может быть t−4 Y выполнено путем деления исходного многочлена степени t на многочлен (x − xi ), где xi i=1
— корни многочлена, которые должны быть найдены каким-либо иным методом. Исследования показали, что наиболее быстрым алгоритмом является метод аффинного разложения (см. п. 3.1.1). Таким образом, можно предложить следующий алгоритм поиска корней многочленов произвольной степени:
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
Таблица 3.1 Среднее время (мкс) поиска корней Степень Алгоритм Общее СпециЧеня аффинное альное разлоразложение жение (3.3) (3.5) 5 14,6 13,4 10,0 6 17,2 14,8 10,1 7 19,6 14,9 10,8 8 22,2 15,1 10,8 9 24,9 15,4 — 10 27,3 16,9 — 11 29,8 18,0 — 12 32,3 18,1 — 13 34,8 18,2 — 14 37,3 18,2 — 15 39,8 20,1 — 16 42,3 21,3 — 17 44,9 21,3 —
многочленов Гибридный метод, основанный на (3.5) 2,3 3,6 4,9 5,8 — — — — — — — — —
различными Специальное разложение (3.7) — — — 11,4 15,5 16,4 16,4 16,4 16,9 17,4 17,4 17,9 17,9
85
методами Гибридный метод, основанный на (3.7) — — — 6,7 9,5 11,0 11,6 12,2 13,5 14,2 14,8 15,8 16,2
1. Если степень многочлена превышает 4, то построить аффинное разложение в соответствии с п. 3.1.1 и перебирать элементы поля, упорядоченные в соответствии с кодом Грея, вычисляя значение многочлена. При обнаружении корня xi разделить исходный многочлен на (x − xi ). Как только степень многочлена понизится до 4, перейти к аналитическому методу поиска корней. 2. Корни многочленов степени 3 и 4 могут быть найдены аналитически [131]. С другой стороны, они могут быть найдены и вышеописанным способом. 3. Значения корней многочлена степени 2 после линейной подстановки могут быть найдены с помощью логической схемы умножения на фиксированную матрицу (см. п. 4 на стр. 35). Для оценки реальной эффективности предложенных методов поиска корней многочленов локаторов ошибок они были реализованы программно на языке C++. В таблице 3.1 представлены результаты замеров скорости вычислений, выполненных на ПК с процессором AMD Athlon XP 1700+ под управлением ОС Windows XP. Видно, что применение аффинного разложения позволяет достичь выигрыша по быстродействию до 2 раз, а применение специальных разложений в сочетании с аналитическим методом поиска корней может дать шестикратный выигрыш по производительности.
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
3.2
86
Быстрое преобразование Фурье над конечным полем
При решении многих вычислительных задач, возникающих при реализации алгоритмов кодирования и декодирования, оказывается необходимым вычислять дискретное преобразование Фурье. В данном разделе описан эффективный алгоритм решения этой задачи, а также представлен пример его использования для вычислении вектора синдрома при классическом декодировании кодов Рида-Соломона.
3.2.1 Циклотомический алгоритм БПФ Циклотомическое разложение Рассмотрим набор циклотомических классов по модулю n над GF (2): {0}, {k1, k1 2, k122 , . . . , k1 2m1 −1 }, . . . , {kl , kl 2, kl 22 , . . . , kl 2ml −1 }, где ki ≡ ki 2mi mod n. Многочлен f (x) =
n−1 X i=0
fi xi , fi ∈ GF (2m ) может быть разложен как
f (x) =
l X
ki
Li (x ),
Li (y) =
i=0
m i −1 X
j
fki 2j mod n y 2 .
(3.11)
j=0
Действительно, выражение (3.11) представляет собой способ группировки чисел s ∈ [0, n − 1] по циклотомическим классам: s ≡ ki 2j mod n. Очевидно, что такое разложение существует всегда. Заметим, что при ki = 0 свободный член f0 мы можем записать как значение многочлена L0 (y) = f0 y при y = x0 . Выражение (3.11) будем называть циклотомическим разложением многочлена f (x). P Пример 3. Многочлен f (x) = 6i=0 fi xi , fi ∈ GF (23 ) представляется как f (x) = L0 (x0 ) + L1 (x) + L2 (x3 ); L0 (y) = f0 y, L1 (y) = f1 y + f2 y 2 + f4 y 4 , L2 (y) = f3 y + f6 y 2 + f5 y 4.
Быстрое вычисление преобразования Фурье Pl j ki В соответствии с разложением (3.11) запишем f (αj ) = ). Как известно i=0 Li (α ki [169], элемент α является корнем соответствующего минимального многочлена степени mi и, следовательно, лежит в подполе GF (2mi ), mi | m. Таким образом, все величины (αki )j принадлежат полю GF (2mi ) и могут быть разложены в каком-либо базисе (βi,0 , . . . , βi,mi −1 ) m i −1 X j ki этого поля: α = aijs βi,s , aijs ∈ GF (2). Тогда значения каждого из линеаризованных s=0
многочленов могут быть вычислены в базисных точках соответствующего подполя по формуле
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
Li (βi,s ) =
m i −1 X
p
2 βi,s fki 2p ,
p=0
i ∈ [0, l], s ∈ [0, mi − 1].
87
(3.12)
Базисы (βi,0 , . . . , βi,mi −1 ) для каждого из линеаризованных многочленов Li (y) могут выбираться независимо. В соответствии с теоремой 1 компоненты преобразования Фурье многочлена f (x) являются линейными комбинациями этих значений j
Fj = f (α ) =
l m i −1 X X
aijs Li (βi,s ) =
(3.13)
i=0 s=0
l m i −1 X X
aijs
i=0 s=0
m i −1 X
2p
βi,s fki 2p
p=0
!
,
j ∈ [0, n − 1].
Последнее выражение может быть записано в матричной форме как F = ALf , где F = (F0 , F1 , . . . , Fn−1 )T , f = (f0 , fk1 , fk1 2 , fk1 22 , . . . , fk1 2m1 −1 , . . . , fkl , fkl2 , fkl 22 , . . . , fkl 2ml −1 )T есть перестановка вектора коэффициентов исходного многочлена f (x), соответствующая разложению (3.11), A — матрица, составленная из элементов aijs ∈ GF (2), L — блочно2p диагональная матрица, составленная из элементов βi,s . Очевидно, что для линеаризованных многочленов одинаковой степени mi , входящих в разложение (3.11), можно выбрать одинаковые базисы (βi,s ) в подполях GF (2mi ), вследствие чего матрица L будет содержать большое число одинаковых блоков. Таким образом, задача БПФ разбивается на два этапа: умножение блочнодиагональной матрицы L на исходный вектор f и умножение двоичной матрицы A на полученный вектор S = Lf F = ALf.
(3.14)
Рассмотрим более подробно первый этап преобразования Фурье — задачу вычисления произведения S = Lf . Блочно-диагональная матрица L0 0 . . . 0 0 L1 . . . 0 L= . . . . . . . . . . . . 0 0 . . . Ll состоит из блоков
2mi −1 . . . βi,0 2mi −1 . . . βi,1 . ... ... 2mi −1 . . . βi,m i −1 m −1 Выберем в качестве (βi,0 , . . . , βi,mi −1 ) нормальный базис γi , γi2 , . . . , γi2 i . Тогда матрица L состоит из блоков вида 2 βi,0 βi,0 2 βi,1 βi,1 Li = ... ... 2 βi,mi −1 βi,mi −1
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
0
γi2 γi2 γ2 γi4 i Li = ... ... 0 2mi −1 γi γi2
88
m −1 . . . γi2 i 0 . . . γi2 . ... ... m −2 . . . γi2 i
В силу блочно-диагональной структуры матрицы L вычисление произведения S = Lf может быть представлено как S = (b0 , b1 , . . . , bl )T = L (a0 , a1 , . . . , al )T , где bi = (bi,0 , bi,1 , . . . , bi,mi −1 ) — подвектора искомого вектора S, ai = (ai,0 , ai,1 , . . . , ai,mi −1 ) — подвектора исходного вектора f . Представим вычисление bTi = Li aTi как циклическую свертку bi (x) = bi,0 + bi,mi −1 x + . . . + bi,1 xmi −1 = m −1 (γi + γi2 i x + . . . + γi2 xmi −1 )(ai,0 + ai,1 x + . . . +ai,mi −1 xmi −1 ) mod (xmi − 1). Для ее вычисления могут быть применены известные алгоритмы [155, 160, 150]. При m −1 этом использование свойства нормального базиса γi + γi2 + . . . + γi2 i = 1 позволяет заметно сократить число операций при вычислении циклической свертки. Отметим, что вычисление значений линеаризованных многочленов с помощью циклической свертки было описано в монографии [160]. Описанный подход позволяет свести задачу умножения блочно-диагональной матрицы L на исходный вектор f над GF (2m ) к задаче вычисления l + 1 циклических сверток малой длины mi . Существующие алгоритмы вычисления циклических сверток bi (x) = γi (x)ai (x) mod (xmi − 1) могут быть записаны в матричном виде как γi bi,0 γ 2mi −1 bi,1 · (Pi ai ) , Di i (3.15) = Q bi = i . . . ... bi,mi −1 γi2 где Qi , Di и Pi являются двоичными матрицами, а x · y обозначает покомпонентное произ T m −1 ведение векторов. Очевидно, что вектор Ci = Di γi, γi2 i , . . . , γi2 может быть вычислен заранее. Таким образом, выражение (3.14) может быть переписано как F = AQ (C · (P f )) ,
(3.16)
где Q — двоичная блочно-диагональная матрица объединенных последующих сложений для l+1 циклической свертки, C — объединенный вектор констант, P — двоичная блочнодиагональная матрица объединенных предварительных сложений. Учитывая формулы (3.14) и (3.16), второй этап БПФ может рассматриваться как умножение двоичной матрицы AQ на вектор C · (P f ). Для вычисления произведения (AQ) (C · (P f )) могут быть использованы модифицированный алгоритм “четырех русских” (В.Л.Арлазаров, Е.А.Диниц, М.А.Кронрод, И.А.Фараджев) для умножения булевых матриц со сложностью O(n2 / log n) сложений над элементами поля GF (2m) [151] или алгоритм, описываемый в разделе 3.3.2.
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
89
Оценка сложности алгоритма Как было показано, задача вычисления БПФ многочлена над GF (2m ) сводится к набору задач вычисления циклической свертки многочленов и умножению на двоичную матрицу. Предполагая, что сложность вычисления короткой циклической свертки в конечном поле асимптотически равна Cconv (t) = O(m logt m), t ≥ 2, получим, что сложность всего алгоритма равна Pl Pl t C= i=0 Cconv (mi ) + Cbm = i=0 O(mi log mi ) + Cbm = n m logt m) + Cbm = O(n logt log n) + Cbm . O( m Здесь Cbm — сложность умножения на двоичную матрицу. Асимптотическая оценка сложности процедуры умножения на двоичную матрицу, порождаемой вышеописанным алгоритмом, на момент написания данной работы автору неизвестна и требует дальнейших исследований. Если оценить сложность данного этапа через сложность алгоритма “четырех русских” (n2 / log n), то следует признать, что предложенный алгоритм БПФ эффективен только при малых значениях длины преобразования (см. таблицу 3.2), хотя известны асимптотически более эффективные алгоритмы БПФ для конечных полей со сложностью O(n log2 n) операций в основном поле [139, 3]. Пример Пример 4. Продолжим рассмотрение БПФ длины 7 над полем GF (23 ). Пусть α — корень примитивного многочлена x3 + x + 1. В качестве базиса поля GF (23 ) выберем нормальный базис (γ, γ 2 , γ 4 ), где γ = α3 . Разложим многочлен f (x) как в примере 3 и представим компоненты преобразования Фурье в виде сумм f (α0) = L0 (α0 ) + L1 (α0 ) + L2 (α0 ) = L0 (1) + L1 (γ) + L1 (γ 2 ) + L1 (γ 4 ) + L2 (γ) + L2 (γ 2 ) + L2 (γ 4 ) f (α1) = L0 (α0 ) + L1 (α) + L2 (α3 ) = L0 (1) + L1 (γ 2 ) + L1 (γ 4 ) + L2 (γ) f (α2) = L0 (α0 ) + L1 (α2 ) + L2 (α6 ) = L0 (1) + L1 (γ) + L1 (γ 4 ) + L2 (γ 2 ) f (α3) = L0 (α0 ) + L1 (α3 ) + L2 (α2 ) = L0 (1) + L1 (γ) + L2 (γ) + L2 (γ 4 ) f (α4) = L0 (α0 ) + L1 (α4 ) + L2 (α5 ) = L0 (1) + L1 (γ) + L1 (γ 2 ) + L2 (γ 4 ) f (α5) = L0 (α0 ) + L1 (α5 ) + L2 (α) = L0 (1) + L1 (γ 4 ) + L2 (γ 2 ) + L2 (γ 4 ) f (α6) = L0 (α0 ) + L1 (α6 ) + L2 (α4 ) = L0 (1) + L1 (γ 2 ) + L2 (γ) + L2 (γ 2 ).
Эти тождества могут быть записаны в матричной форме как
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ 1 F0 F1 1 F2 1 F = F3 = 1 F4 1 F5 1 1 F6
1 0 1 1 1 0 0
Тогда задачу БПФ можно переписать 1 0 0 γ 1 0 γ 2 4 F = A 0 γ 0 0 0 0 0 0
1 1 0 0 1 0 1
1 1 1 0 0 1 0
в виде
1 1 0 1 0 0 1
1 0 1 0 0 1 1
90
L0 (1) 1 0 L1 (γ) 2 0 L1 (γ 4 ) 1 L1 (γ ) = AS. L2 (γ) 1 1 L2 (γ 2 ) L2 (γ 4 ) 0
f0 0 0 0 0 0 2 4 γ γ 0 0 0 f1 4 1 f2 γ γ 0 0 0 f4 . γ1 γ2 0 0 0 0 0 γ 1 γ 2 γ 4 f3 2 4 1 f6 0 0 γ γ γ 4 1 2 f5 0 0 γ γ γ
Первый этап алгоритма БПФ состоит в вычислении двух циклических сверток 1 2 4 ai,0 bi,0 γ γ γ bi,1 = γ 2 γ 4 γ 1 ai,1 , i = 1, 2, ai,2 γ4 γ1 γ2 bi,2 где a0,0 f0 b0,0 L0 (1) f1 a1,0 L1 (γ) b1,0 f2 a1,1 L1 (γ 2 ) b1,1 4 f = S = L1 (γ ) = b1,2 , f4 = a1,2 . f3 a2,0 L2 (γ) b2,0 2 f6 a2,1 L2 (γ ) b2,1 4 a2,2 f5 b2,2 L2 (γ )
Используя алгоритм вычисления трехточечной циклической свертки bi (x) = bi,0 +bi,2 x+ bi,1 x2 = (γ + γ 4 x + γ 2 x2 )(ai,0 + ai,1 x + ai,2 x2 ) mod (x3 − 1), представленный в [155], получим 1 1 1 bi,0 1 0 1 1 0 1 1 γ4 bi = bi,1 = 1 1 1 0 1 1 0 γ 2 · γ bi,2 1 1 0 1 1 0 1 1 1 1 0 1 1 ai,0 1 1 0 ai,1 = ai,2 1 0 1 Qi (Ci · (Pi ai )) , i = 1, 2.
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
91
С учетом γ + γ 2 + γ 4 = 1 видно, что алгоритм требует 3 умножений, 4 предварительных и 5 последующих сложений. Теперь можно записать формулу (3.16) для рассматриваемого примера в матричной форме 1 1 1 F0 F1 1 0 1 F2 1 1 0 F = F3 = 1 1 0 F4 1 1 1 F5 1 0 0 1 0 1 F6 1 1 1 0 2 γ + γ 4 0 γ + γ 4 0 γ + γ 2 · 0 1 0 γ 2 + γ 4 0 γ + γ 4 0 γ + γ2 0
Второй этап БПФ состоит в 1 1 1 F = 1 1 1 1
1 1 1 0 0 1 0
1 1 0 1 0 0 1
1 0 1 0 0 1 1
0 1 0 1 1 0 0 0 0
0 1 1 1 0 0 0 0 0
0 1 1 0 1 0 0 0 0
0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 1 0 0 0 0 × 0 0 0 0 1 0 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 1 0 0 f0 0 f1 0 f2 0 f4 = (AQ)(C · (P f )). 1 f3 1 f6 f5 0 1
1 1 0 0 0 0 1 0 1 0 1 0 0 0
0 0 0 0 0 1 0 1 1
0 0 0 0 0 1 1 1 0
умножении двоичной матрицы AQ на вектор C · (P f ) 1 0 0 0 1 0 0 0 0 0 1 1 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1 1 0 (C · (P f )) . 0 1 0 1 1 1 0 1 1 1 0 1 0 0 1 1 1 1 1 0 0 1 0 1
Этот этап может быть выполнен за 17 сложений. Таким образом, БПФ длины 7 сводится к следующей последовательности действий:
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
92
выполнение предварительных сложений P × f V1 V2 V3 V4
= f2 + f4 = f1 + f2 = f1 + f4 = f1 + V1
V8 = f6 + f5 V9 = f3 + f6 V10 = f3 + f5 V11 = f3 + V8 ,
выполнение умножений на константы C · (P f ) V5 = V1 α V6 = V2 α 2 V7 = V3 α 4
V12 = V8 α V13 = V9 α2 V14 = V10 α4 ,
умножение матрицы AQ на вектор C · (P f ) T10 = V12 + V14 T11 = f0 + V11 T14 = f0 + V4 T15 = V5 + V6 T16 = V6 + V13 F0 = V4 + T11 T9 = V12 + T16 T7 = V7 + T9 T8 = V5 + T9
F2 = T8 + T11 F3 = T7 + T14 T12 = F2 + T10 T13 = F3 + T15 F4 = T7 + T12 F5 = T10 + T13 F6 = F5 + T7 F1 = F4 + T8 .
Общая сложность алгоритма составляет 2×3 = 6 умножений и 2×4+17 = 25 сложений, что на одно сложение меньше, чем для алгоритма, представленного в работе [165]. Сравнение сложности алгоритмов быстрого преобразования Фурье Вычисление a + b (или a × b) будем считать сложением (умножением) только тогда, когда оба слагаемых (сомножителя) принадлежат основному полю [156], то есть операции в простом подполе не учитываются [155]. В таблице 3.2 приведена сложность БПФ длины n = 2m − 1 над полями GF (2m ) в числе умножений Nmul и сложений Nadd . Схема Горнера описана, например, в [160], а модификация алгоритма Герцеля для конечных полей рассмотрена в монографии [155]. Описанный метод представляет собой систематический подход к построению преобразования Фурье над конечным полем. Вместе с тем, необходимо отметить, что приведенные преобразования имеют много общего с [165]. Основные отличия состоят в следующем: 1. Матрица L имеет регулярную структуру. Это позволяет свести задачу минимизации числа умножений к классической задаче вычисления циклической свертки. 2. Алгоритм содержит всего два умножения двоичных матриц на векторы, что может быть использовано для более глубокой оптимизации.
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
n 7 15 31 63 127 255 511
Таблица 3.2 Сложность некоторых алгоритмов БПФ Метод ГорнеАлгоритм Алгоритмы из Метод Захара Герцеля [160] и [150] ровой [165] Nmul Nadd Nmul Nadd Nmul Nadd Nmul Nadd 36 42 12 42 9 35 6 26 196 210 38 210 20 70 16 100 900 930 120 930 108 645 60 388 3844 3906 282 3906 158 623 97 952 15876 16002 756 16002 594 5770 468 3737 64516 64770 1718 64770 1225 4715 646 35503 260100 260610 4044 260610 4374 — — —
93
Предлагаемый метод Nmul Nadd 6 25 16 77 54 315 97 805 216 2780 586 7919 1014 26643
3. Используется более эффективный алгоритм оптимизации последовательности сложений.
3.2.2 Применение обратного преобразования Фурье для быстрого вычисления вектора синдрома Т.к. все матрицы в (3.14) обратимы, обратное преобразование Фурье может быть записано как f = L−1 A−1 F. (3.17) Легко показать, что матрица, обратная к циркулянтной матрице, также является циркулянтной [59]. Поэтому задача вычисления ОПФ сводится к умножению на двоичную матрицу и вычислению нескольких циклических сверток. В силу известного свойства симметрии ОПФ может быть получено из прямого преобразования перестановкой координат вектора. Следовательно, выражение (3.17) также задает алгоритм вычисления прямого преобразования. Это позволяет рассматривать предложенный алгоритм как обобщение алгоритма Герцеля. Действительно, деление на минимальные многочлены можно рассматривать как умножение на двоичную матрицу, а вычисление значений полученных остатков может рассматриваться как умножение векторов их коэффициентов на соответствующие матрицы Вандермонда. Пример 5. Рассмотрим построение алгоритма БПФ длины 7 над конечным полем GF (23 ). Пусть α — корень примитивного многочлена x3 + x+ 1. В качестве базиса поля GF (23) выберем нормальный базис (γ, γ 2 , γ 4 ), где γ = α3 . Тогда алгоритм БПФ может быть записан в следующем виде:
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
1 1 1 1 1 1 1
1 0 1 1 1 0 0
1 1 0 0 1 0 1
1 1 1 0 0 1 0
1 1 0 1 0 0 1
1 0 1 0 0 1 1
1 0 0 1 0 γ 1 γ 2 0 2 4 0 0 γ 4 γ 1 1 0 γ γ 1 0 0 0 1 0 0 0 0 0 0 0
94
F0 F1 F2 F = F3 = ALf = F4 F5 F6 f0 0 0 0 0 f1 γ4 0 0 0 γ1 0 0 0 f2 2 γ 0 0 0 f4 . 1 2 4 0 γ γ γ f3 0 γ 2 γ 4 γ 1 f6 f5 0 γ4 γ1 γ2
Обратное преобразование Фурье вектора F может быть получено следующим образом f0 f1 f2 −1 −1 f = f4 = L A F = f3 f6 f5 F0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 γ 1 γ 2 γ 4 0 0 0 1 0 0 1 1 1 0 F1 0 γ 2 γ 4 γ 1 0 0 0 1 1 0 1 0 0 1 F2 0 γ 4 γ 1 γ 2 0 0 0 1 0 1 0 0 1 1 F3 . 0 0 0 0 γ 1 γ 2 γ 4 1 1 0 0 1 0 1 F4 0 0 0 0 γ 2 γ 4 γ 1 1 1 1 0 0 1 0 F5 F6 1 0 1 1 1 0 0 0 0 0 0 γ4 γ1 γ2
Учитывая связь прямого и обратного преобразований Фурье, получим следующую эквивалентную запись алгоритма БПФ f0 F0 f1 F6 f2 F5 −1 −1 ˜ −1 −1 F˜ = F3 = L A f3 = L A f , f4 F4 f5 F1 f6 F2 где через F˜ и f˜ обозначены перестановки векторов коэффициентов F и f .
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
95
Используя алгоритм вычисления трехточечной циклической свертки bi (x) = bi,0 +bi,2 x+ bi,1 x2 = (γ + γ 4 x + γ 2 x2 )(ai,0 + ai,1 x + ai,2 x2 ) mod (x3 − 1), представленный в [155], получим bi,0 1 0 1 1 1 1 1 0 bi = bi,1 = bi,2 1 1 0 1 1 1 1 1 1 1 0 1 1 γ4 0 1 1 ai,0 1 1 0 γ 2 · 1 1 0 ai,1 = ai,2 γ 1 0 1 1 0 1 Qi (Ci · (Pi ai )) , i = 1, 2. С учетом γ + γ 2 + γ 4 = 1 видно, что алгоритм требует 3 умножений, 4 предварительных и 5 последующих сложений. Таким образом, получаем следующую запись алгоритма БПФ 1 0 0 0 0 0 0 0 0 F0 F6 0 1 0 1 1 0 0 0 0 F5 0 1 1 1 0 0 0 0 0 = 0 1 1 0 1 0 0 0 0 × F F˜ = 3 F4 0 0 0 0 0 1 0 1 1 F1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 1 F2
1 1 1 0 2 γ + γ 4 0 γ + γ 4 0 γ + γ 2 · 0 1 0 2 γ + γ 4 0 γ + γ 4 0 γ + γ2 0
0 1 0 1 1 0 0 0 0
0 1 1 1 0 0 0 0 0
0 1 1 0 1 0 0 0 0
0 0 0 0 0 1 0 1 1
0 0 0 0 0 1 1 1 0
0 0 1 0 1 0 1 0 1 1 1 1 1 0 1 1
1 0 1 0 1 1 0
1 0 0 1 0 1 1
1 1 1 0 0 0 1
1 1 0 0 1 0 1
1 1 0 1 1 0 1 1 0
1 0 1 1 0 1 1 1 0
1 0 f0 0 f1 1 f2 1 f3 . 1 f4 0 f5 1 f6 1
Q(C · (P A−1 f˜ )).
Или, перемножая матрицы P и A−1 , имеем 1 1 1 1 2 γ + γ 4 0 γ + γ 4 0 γ + γ 2 · 0 F˜ = Q 1 1 2 γ + γ 4 0 γ + γ 4 0 0 γ + γ2
1 1 1 1 0 0 1 0 1
1 1 1 0 1 0 0 1 1
1 0 1 0 1 1 1 0 1
1 1 0 1 0 1 0
f0 1 0 f1 1 f2 1 f3 = 1 f4 0 f5 f6 0
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
96
Таким образом, вычисление БПФ длины 7 сводится к следующей последовательности действий: выполнение предварительных сложений (P A−1 ) × f˜ V10 = f3 + f5 V11 = f1 + V10 V2 = f2 + V11 V6 = f4 + V11 V9 = f6 + V2 V12 = f4 + V9 F0 = f0 + V12
V8 = f5 + V9 V13 = f6 + F0 V1 = V10 + V13 V5 = V1 + V12 V7 = V6 + V8 V4 = V7 + V10 V3 = V2 + V4 ,
выполнение умножений на константы C · (P A−1 f˜ ) V14 = V2 α V15 = V3 α2 V16 = V4 α4
V17 = V6 α V18 = V7 α2 V19 = V8 α4 ,
умножение матрицы Q на вектор C · (P A−1 f˜ ) T1 = V1 + V16 T2 = V14 + V15 F6 = V15 + T1 F5 = V1 + T2 F3 = V14 + T1
T3 = V5 + V19 T4 = V17 + V18 F4 = V18 + T3 F1 = V5 + T4 F2 = V17 + T3 .
Общая сложность алгоритма составляет 2×3 = 6 умножений и 14+2×5 = 24 сложения, что на одно сложение меньше, чем для алгоритма, представленного в табл. 3.2. Рассмотрим далее применение описанного алгоритма БПФ для вычисления компонентов вектора синдрома при декодировании кодов Рида-Соломона. В соответствии с (1.33), они могут быть представлены как Sl = Z(αl ), l = 0..d − 2, где α — примитивный элемент поля GF (2m ) и Z(x) — многочлен, соответствующий принятой последовательности. Очевидно, что эта последовательность представляет собой неполное дискретное преобразование Фурье. Воспользуемся для его вычисления алгоритмом (3.17). Т.к. в большинстве случаев d << n, где n = 2m − 1 — число ненулевых элементов поля, все требуемые компоненты вектора F˜ покрываются небольшим числом блоков матрицы L−1 . Естественно, что выполнять умножение вектора A−1 f˜ на оставшиеся блоки не требуется. Это дает возможность отбросить также часть строк матрицы A−1 . Таким образом, получено следующее выражение для вычисления вектора синдрома (неполного ДПФ): S = Q′ (C ′ · (P ′ f )), (3.18)
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
97
где матрица Q′ образована вычеркиванием ненужных блоков матрицы Q, вектор C ′ получен аналогичным образом из вектора C, матрица P ′ образована таким же образом из матрицы P A. Кроме того, в большинстве случаев не требуется вычислять все компоненты произведения матрицы A на отдельный блок матрицы L−1 , т.е. возникает задача вычисления неполной циклической свертки. Алгоритмы, являющиеся оптимальными для случая полной циклической свертки, в общем случае перестают быть таковыми в случае их применения для вычисления неполной циклической свертки. Далее будет описан подход, позволяющий преобразовать билинейный алгоритм для вычисления полной циклической свертки вида (3.15) в эффективный алгоритм для вычисления неполной циклической свертки. Очевидно, что неполная циклическая свертка может быть вычислена путем вычеркивания части строк из матрицы Qi в (3.15). Это может привести к образованию в ней нулевых столбцов. Ясно, что не требуется вычислять те компоненты вектора попарных произведений, которые соответствуют нулевым столбцам, что дает некоторое снижение сложности. Более того, анализируя алгоритмы вычисления циклической свертки, представленные в [155], можно заметить, что вычеркивая различные комбинации строк из матрицы Qi , можно получить различное число нулевых столбцов в оставшейся части матрицы. Т.к. изменение порядка элементов нормального базиса (коэффициентов одного из многочленов, участвующих в циклической свертке) приводит к изменению порядка коэффициентов результирующего многочлена, можно подобрать такое упорядочение коэффициентов нормального базиса, что требуемые компоненты вектора ДПФ будут покрываться строками матрицы Q с наибольшим числом нулевых столбцов, что приведет к существенному снижению требуемого числа умножений. Пример 6. Рассмотрим применение алгоритма БПФ-7 из примера 5 к задаче вычисления первых двух компонент F0 и F1 вектора ДПФ (компоненты вектора синдрома для кода (7, 5, 3) Рида-Соломона над GF (23 )). Вычеркивая избыточные строки матрицы Q, получим f0 f1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 1 1 f2 1 0 0 0 F0 = γ 2 + γ 4 · 0 1 0 1 1 1 0 f3 . F1 0 1 1 1 0 0 1 0 1 1 1 f4 γ + γ4 f5 f6
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
Таблица 3.3 Код (n, k, d) (255, 253, 3) (255, 251, 5) (255, 249, 7) (255, 247, 9) (255, 245, 11) (255, 243, 13) (255, 241, 15) (255, 239, 17) (255, 223, 33)
Сложность вычисления Предложенный метод Nmul Nadd 7 508 17 905 27 1250 37 1643 45 1909 55 2350 65 2689 75 2938 149 5046
синдрома для некоторых Схема Горнера Nmul Nadd 254 508 762 1016 1270 1524 1778 2032 2286 2540 2794 3048 3302 3556 3810 4064 7874 8128
98
кодов Рида-Соломона Метод Захаровой Nmul Nadd 7 529 18 875 30 1268 41 1652 51 2036 62 2391 74 2789 85 2989 167 5440
Это дает следующий алгоритм вычисления вектора синдрома: T0 := f5 + f6 ; T1 := f2 + f4 ; T2 := f0 + f3 ; T3 := f1 + f4 ; T4 := T0 + T2 ; T5 := T0 + T1 ; T6 := f1 + T4 ; F0 := T8 ;
T7 := T8 := T9 := T10 := T11 := T12 :=
f3 + T3 T1 + T6 f5 + T7 αT9 α2 T5 T10 + T11
F1 := T4 + T12
Заметим, что изменение порядок элементов нормального базиса (например, (γ 2 , γ 4 , γ)) приведет к изменению порядка строк матрицы Q. Однако ввиду небольшой размерности рассматриваемого примера, в данном случае это не приведет к изменению числа нулевых столбцов. Описанный метод был использован для построения алгоритма вычисления синдромного многочлена для (255, 239, 17) кода Рида-Соломона (определенного, например, в стандарте IEEE 802.16a). Полученный алгоритм требует 75 умножений и 2938 сложений, в то время как применение классической схемы Горнера требует 15 ∗ 254 = 3810 умножений и 15 ∗ 254 + 254 = 4064 сложений. Результаты имитационного моделирования показывают, что построенный алгоритм в 8 раз быстрее аналогичного алгоритма, основанного на схеме Горнера. Точное число операций, требуемое для вычисления синдромного многочлена для различных кодов Рида-Соломона, представлено в таблице 3.3. Для сравнения там же приведена сложность аналогичных алгоритмов, полученных с помощью метода Захаровой [166, 165].
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
3.3
99
Разреженное представление линейных кодов
В большинстве практических систем передачи данных возникает необходимость производить мягкое декодирование используемых корректирующих кодов. Несмотря на то, что многих классов линейных кодов известны чрезвычайно эффективные алгебраические алгоритмы декодирования, для осуществления мягкого декодирования часто возникает необходимость использования комбинаторных алгоритмов (например, алгоритмов Витерби [172] или Бала [99]). Это связано с тем, что большинство алгебраических алгоритмов не учитывают точные значения отношения правдоподобия принятых символов, а их расширения (например, декодирование по обобщенному минимальному расстоянию [41]) во многих случаях дают лишь незначительное повышение качества декодирования. При этом, как правило, сложность комбинаторных алгоритмов декодирования возрастает экспоненциально с ростом длины кода. Однако для некоторых классов кодов оказывается возможным построение приближенных алгоритмов, обеспечивающих очень хорошее качество мягкого декодирования при весьма небольшой сложности. Одним из таких алгоритмов является алгоритм распространения доверия, используемый для декодирования низкоплотностных кодов. Данный алгоритм опирается в своей работе на разреженный фактор-граф линейного кода. В данном разделе описываются два подхода к построению разреженных фактор-графов линейных кодов. Первый подход может быть применен к любому линейному двоичному коду и может быть интерпретирован в контексте быстрого вычисления произведения матрицы и вектора в поле GF (2), что было использовано при построении вышеописанного циклотомического алгоритма БПФ. Второй подход применим к кодам Рида-Соломона и основан на эффективной процедуре вычисления синдрома для кода Рида-Соломона, основанной на циклотомическом алгоритме БПФ.
3.3.1 Построение разреженного фактор-графа линейного двоичного кода Как известно, любой линейный (n, k, d) код может быть задан с помощью своей проверочной r × n, r = n − k, матрицы H, т.е. все кодовые слова должны удовлетворять соотношению Hy = 0. Это соотношение может также рассматриваться как система линейных уравнений относительно компонентов вектора y h11 y1 + . . . + h1n yn = 0 ... hr1 y1 + . . . + hrn yn = 0
Как было показано в п. 1.4.5, системы уравнений могут быть представлены в виде фактор-графа, в котором символьные узлы соответствуют компонентам y, а проверочные узлы соответствуют отдельным уравнениям. В контексте помехоустойчивого кодирования, восстановление кодового слова по зашумленным оценкам его компонент может быть про-
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
100
изведено с помощью вышеописанного итеративного алгоритма обмена сообщениями на фактор-графе. Однако оказывается, что для большинства известных классов линейных кодов факторграфы, построенные по проверочным матрицам в их стандартном представлении, имеют высокую плотность и большое число циклов длины 4, что препятствует успешному использованию итеративного алгоритма декодирования. В связи с эти возникает задача поиска такого представления кода, которое позволило бы эффективно использовать данный алгоритм. Заметим, что для любой невырожденной матрицы A матрица H ′ = AH задает тот же самый код, что и исходная матрица H. Выберем такую матрицу A, что число единиц в матрице H ′ было бы минимальным. Ясно, что это эквивалентно минимизации плотности фактор-графа (графа Таннера) данного кода. Однако в большинстве случаев оказывается, что в полученном графе сохраняется достаточно большое число циклов длины 4, что препятствует успешному применению итеративного алгоритма декодирования. Необязательно производить полную минимизацию веса матрицы H ′ . Для практических целей оказывается достаточным взять в качестве матрицы H ′ линейно независимый набор векторов малого веса из пространства строк матрицы H. Такой набор может быть получен, например, с помощью алгоритма в [16]. Более того, во многих случаях хорошие результаты дает простейший метод, состоящий в поиске слов достаточно малого веса среди всех линейных комбинаций двух строк матрицы H. Каждый из циклов длины 4 в графе Таннера соответствует наличию комбинации двух слагаемых yi + yj в двух различных проверочных соотношениях. Введем дополнительную переменную yn+1 и положим yn+1 = yi + yj или yn+1 + yi + yj = 0. Несложно заметить, что данная операция эквивалентна введению в граф Таннера символьного и проверочного узлов. Модифицированная проверочная матрица имеет вид (0) H 0 (1) H = , (3.19) (1) w 1 где w (1) : wt(w (1) ) = 2 — вектор, содержащий две единицы в позициях i и j, т.е. к исходной матрице дописана строка веса 3 и столбец веса 1. Ясно, что если эту строку сложить с другими строками, имеющими единицы в этих позициях, то это приведет к исчезновению циклов длины 4, проходящих через эту пару символьных узлов. Этот процесс может выполняться итеративно до тех пор, пока не будут удалены все циклы длины 4. При этом символьные узлы, соответствующие дополнительным столбцам, могут рассматриваться как внутренние узлы фактор-графа. Тогда для декодирования исходного кода необходимо объявить соответствующие символы стертыми (т.е. присвоить им нулевое отношение правдоподобия) и воспользоваться итеративным алгоритмом декодирования, описанным в разделе 1.4.4. К сожалению, непосредственное применение этого подхода приводит к фактор-графам с большим количеством псевдокодовых слов малого веса, что затрудняет их декодирование в Гауссовском канале. Однако при рассмотрении двоичного канала со стираниями оказывается, что качество декодирования с помощью алгоритма распространения доверия практически не отличается от декодирования по максимуму правдоподобия, что дает воз-
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
101
можность применить данный подход к решению задачи умножения вектора на двоичную матрицу.
3.3.2 Быстрое умножение вектора на двоичную матрицу Рассмотрим задачу вычисления произведения y = Ax, где A — некоторая фиксированная m × n матрица над GF (2), x — произвольный вектор длины n над GF (2m ), m > 0. Ясно, что если компоненты вектора x разложить в некотором базисе GF (2m ), то умножение этого вектора на матрицу сводится к умножению m двоичных векторов на матрицу A, поэтому далее можно ограничиться рассмотрением случая GF (2). Несложно заметить, что исходный вектор x и результат операции y должны удовлетворять соотношению T y (I|A) T = 0, x что позволяет рассматривать матрицу H = (I|A) как проверочную матрицу некоторого кода, а процесс умножения — как декодирование в этом коде вектора (_, . . . , _, x1 , . . . , xn ) со стертыми первыми m символами . Воспользуемся вышеописанным методом для построения разреженного фактор-графа кода с этой проверочной матрицей. Результатом этого является набор соотношений вида ci + cj + ck = 0, где ci , cj , ck соответствуют исходным, промежуточным или окончательным значениям. Анализируя полученный набор соотношений и выделяя те из них, которые содержат два известных члена (например, ci и cj ), можно построить последовательность операций вида ck := ci + cj , позволяющую найти значения промежуточных или окончательных значений. Отметим, что после построения каждой такой операции значение ck становится известным и может быть использовано при дальнейшем построении операций. Этот процесс может рассматриваться как декодирование вектора в двоичном канале со стираниями, выполняемое на этапе построения вычислительного алгоритма. Данный метод был использован при построении циклотомического алгоритма БПФ, описанного в п. 3.2.
3.3.3 Разреженное представление кодов Рида-Соломона Ввиду того, что циклотомический алгоритм БПФ оказывается наилучшим в большинстве практических случаев, целесообразно воспользоваться им для построения разреженного фактор-графа кодов Рида-Соломона. Для этого заметим, что все кодовые слова c кода должны удовлетворять S = HcT = 0,
ание
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
V0
XOR2
XOR7
XOR9
V3
T7
T2
XOR0
T8
V5
V6
*2
P11
T9
XOR4
XOR3
XOR5
XOR6
T4
T3
T1
V1
XOR10
*4
S1
V4
T6
102 XOR1
XOR8
V2
T5
=0
T0
P12
=
Рис. 3.1 Разреженный фактор-граф (7, 5, 3) кода над GF (8). т.е. их синдром должен быть равен нулю. Воспользуемся методом построения быстрого алгоритма вычисления синдрома, описанным в п. 3.2.2. Будем рассматривать алгоритм, построенный с помощью этого метода, как набор соотношений, соответствующий факторузлам, а входные параметры алгоритма и его внутренние переменные сопоставим символьным узлам. Это немедленно приводит к некоторому фактор-графу, пример которого представлен на рис. 3.1 (нумерация узлов изменена). При этом его разреженность следует из вычислительной эффективности (малого числа операторов) использованного алгоритма БПФ. На этом рисунке прямоугольные блоки соответствуют тождествам a + b + c = 0, треугольные блоки с метками ∗i — b = αi, V i соответствует i-му символу кодового слова, треугольные блоки с метками = и = 0 — a = b и a = 0. Блоки = и = 0 могут быть удалены из графа путем перекоммутации дуг в соответствии с вышеуказанными тождествами. Это приведет также к удалению узлов T 0, S1, XOR8. Заметим, что описанный метод построения разреженного фактор-графа кода РидаСоломона над GF (2m ) опирается на циклотомический алгоритм БПФ, важной составной частью которого является процедура быстрого умножения на матрицы, реализуемая путем построения разреженного фактор-графа соответствующего линейного кода над GF (2).
3.4
Двумерная интерполяция при списочном декодировании кодов Рида-Соломона
Основная причина высокой сложности алгоритма Нильсена состоит в том, что на каждом шаге приходится выполнять операции над полиномами с чрезвычайно большим числом слагаемых. В связи с этим можно ожидать снижение сложности, если исходная задача интерполяции будет разбита на несколько подзадач меньшей размерности. Далее будет рассмотрен подход, состоящий в разбиении множества интерполяционных точек на несколько непересекающихся подмножеств, построении для каждого из них базисных многочленов и их последующем объединении.
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
103
3.4.1 Матричная интерпретация алгоритма Нильсена Лемма 1. Пусть Qj (x, y), j = 0..ρr − 1 — набор многочленов, построенный алгоритмом Нильсена после обработки множества V интерполяционных точек (с учетом их кратности r). Тогда все многочлены Q(x, y) : wdeg(0,1) Q(x, y) ≤ ρr − 1, имеющие точки из множества V в качестве корней кратности r, могут быть представлены как ρr −1
Q(x, y) =
X
pj (x)Qj (x, y)
j=0
Доказательство. Пусть задан некоторый многочлен Q(x, y) : wdeg(0,1) Q(x, y) ≤ ρr − 1, имеющий точки из множества V корнями кратности r. Следующая процедура аналогична алгоритму деления многочленов от нескольких переменных [167] и алгоритму деления матричных полиномов [162]. 1. Упорядочим члены Q(x, y) в соответствии с ≤wdeg и положим R(x, y) = 0, pj (x) = 0. 2. Пусть LT Q(x, y) = αxa y b и LT Qb (x, y) = xc y b. Если a ≥ c, то pb (x) := pb (x) + αxa−c , Q(x, y) := Q(x, y) − αxa−c Qb (x, y). В противном случае R(x, y) := R(x, y) + LT Q(x, y), Q(x, y) := Q(x, y) − LT Q(x, y). 3. Выполнять действия п. 2 до получения Q(x, y) = 0. P Ясно, что данная процедура приведет к разложению Q(x, y) = j pj (x)Qj (x, y) + R(x, y). Т.к. все Qj (x, y) имеют все точки множества V корнями кратности r, эти точки будут являться корнями той же кратности многочлена R(x, y). Таким образом, получен многочлен, принадлежащий некоторому классу j = wdeg(0,1) R(x, y) ≤ ρr − 1, имеющий корни кратности r во всех точках множества V , такой что R(x, y) ≤wdeg Qj (x, y), что противоречит свойству минимальности Qj (x, y). Определение 6 ([153]). Модулем M над кольцом с единицей R называется множество объектов с определенными над ними операциями + : M × M −→ M и · : R × M −→ M, удовлетворяющими следующим свойствам: 1. ∀a, b, c ∈ M : (a + b) + c = a + (b + c) 2. ∀a, b ∈ M : a + b = b + a 3. ∃0 ∈ M∀a ∈ M : a + 0 = a 4. ∀a ∈ M∃b ∈ M : a + b = 0 5. ∀r1 , r2 ∈ R, m ∈ M : r1 · (r2 · m) = (r1 · r2 ) · m 6. ∀m ∈ M : 1 · m = m 7. ∀r ∈ R, m, n ∈ M : r · (m + n) = (r · m) + (r · n) 8. ∀r1 , r2 ∈ R, m ∈ M : (r1 + r2 ) · m = (r1 · m) + (r2 · m)
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
104
Понятие модуля является обобщением понятия линейного векторного пространста. Очевидно, что множество Q(x, y) : wdeg(0,1) Q(x, y) ≤ ρr − 1 является модулем, а множество многочленов, рассматриваемых в Лемме 1 — его подмодулем. Таким образом, многочлены Qj (x, y) образуют базис модуля интерполяционных многочленов Q(x, y) : wdeg(0,1) Q(x, y) ≤ ρr − 1. Pρr −1 qij (x)y i , j = 0..ρr − 1 может быть предВектор базисных многочленов Qj (x, y) = i=0 ставлен как q00 (x) q01 (x) ... q0 ρr −1 (x) q10 (x) q11 (x) ... q1 ρr −1 (x) = YQ(x), (3.20) Q = (y 0 , y 1, . . . , y ρr −1 ) ··· qρr −1 0 (x) qρr −1 1 (x) . . . qρr −1 ρr −1 (x)
где Q(x) — матрица многочленов. Тогда каждый шаг алгоритма Нильсена может рассматриваться как умножение этой матрицы на матрицу вида 1 0 ... 0 ... 0 0 1 ... 0 ... 0 ... . ∆0 (3.21) ∆ ρ−1 ∆ 1 − − . . . (x − x ) . . . − i ∆ ∆ ∆ j0 j0 j0 ... 0 0 ... 0 ... 1 Отметим, что определитель этой матрицы равен δ(x − xi ), δ ∈ GF (q)\{0}, т.е. над любым расширением GF (q) она вырождена только при x = xi . Таким образом, алгоритм Нильсена может быть представлен как последовательное построение матричного полинома Q(x), столбцы которого являются базисом искомого модуля интерполяционных многочленов. Как уже отмечалось, выполнение алгоритма Нильсена с различным порядком интерполяционных точек приводит к эквивалентным результатам. Предположим, что с его помо(1) (2) щью построены два набора базисных полиномов Qj (x, y) и Qj (x, y) для наборов точек S V1 , V2 : V1 ∩ V2 = ∅. Тогда выполнение алгоритма Нильсена для набора точек V = V1 V2 должно привести к многочленам Qj (x, y), таким что Q(x) = Q(1) (x)P1 (x) = Q(2) (x)P2 (x),
(3.22) (s)
где Q(x), Q(s) (x) — матричные полиномы, соответствующие Qj (x, y) и Qj (x, y) соответственно, а Ps (x) — матричные полиномы, образованные произведением матриц (3.21) и унитарных матриц (т.е. матриц, определители которых принадлежат GF (q)\0) линейных преобразований, необходимых для уравнивания многочленов. Определение 7. Правым наименьшим общим кратным матричных полиномов A(x) и B(x) называется такой полином C(x), что: 1. Он делится слева на A(x), B(x): C(x) = A(x)P1 (x) = B(x)P2 (x)
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
105
2. Всякий другой многочлен C ′ (x), удовлетворяющий вышеприведенному условию, делится слева на C(x), т.е. C ′ (x) = C(x)D(x) Для нахождения ПНОК может быть использована следующая процедура [68]. Сфор мируем матрицу A(x) B(x) и с помощью элементарных преобразований над столбцами приведем ее к виду R(x) 0 , т.е. U11 (x) U12 (x) A(x) B(x) = R(x) 0 (3.23) U21 (x) U22 (x)
Несложно показать, что многочлен R(x) является левым набольшим общим делителем A(x) и B(x), а правое наименьшее общее кратное может быть вычислено как C(x) = A(x)U12 (x) = −B(x)U22 (x). S T Таким образом, базисные многочлены для набора точек V1 V2 : V1 V2 = ∅ могут быть найдены как ПНОК матричных полиномов, соответствующих базисным многочленам для наборов точек V1 и V2 . Однако оказывается, что даже при использовании более эффективных, чем простое применение элементарных преобразований, алгоритмов нахождения ПНОК (например, [11]), сложность этого метода оказывается чрезвычайно большой. Заметим также, что модуль интерполяционных многочленов для набора точек T S V1 V2 : V1 V2 = ∅ является пересечением модулей интерполяционных многочленов, построенных для V1 и V2 по отдельности.
3.4.2 Алгебро-геометрическая интерпретация алгоритма Нильсена Как видно из определения ПНОК, суть описанного выше подхода состоит в пересечении модулей. Но модуль, используемый в алгоритме Нильсена, обладает рядом дополнительных свойств помимо перечисленных в определении 6, что может быть использовано для снижения сложности: 1. Определена операция умножения двух элементов модуля, причем произведение принадлежит некоторому модулю большей размерности, 2. Модуль может рассматриваться как подмножество идеала многочленов от двух переменных. Таким образом, операция пересечения может быть выполнена в надмножестве модуля — идеале, а ее результат преобразован далее к требуемому виду. Задача интерполяции может рассматриваться как построение идеала, содержащего все многочлены, имеющие интерполяционные точки корнями заданной кратности, с последующим выбором наименьшего элемента из этого идеала (см., например, [117]). Тогда алгоритм Нильсена может рассматриваться как процесс последовательного добавления интерполяционных точек в аффинное многообразие, порождаемое базисными многочленами Qj (x, y). Введем основные понятия теории идеалов [167]. Определение 8. Подмножество I ⊂ F[x1 , . . . , xn ], где F — некоторое поле, называется идеалом, если выполнены следующие условия:
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
106
1. 0 ∈ I; 2. Если f, g ∈ I, то f + g ∈ I; 3. Если f ∈ I и h ∈ F[x1 , . . . , xn ], то hf ∈ I. Идеал может быть порожден конечным набором многочленов — базисом: ) ( s X hi fi , h1 , . . . , hs ∈ F[x1 , . . . , xn ] < f1 , . . . , fs >= i=1
Определение 9. Пусть F — некоторое поле, f1 , . . . , fs ∈ F[x1 , . . . , xn ]. Аффинным многообразием, порожденным многочленами fi , i = 1..s называется V (f1 , . . . , fs ) = {(a1 , . . . , an ) ∈ Fn |fi (a1 , . . . , an ) = 0, 1 ≤ i ≤ s} Разобьем множество интерполяционных точек V на непересекающиеся подмножества (s) V1 , V2 и построим для каждого из них базисные многочлены Qj (x, y), s ∈ {1, 2}. Построим ПНОК для соответствующих им матричных многочленов. Как было показано выше, оно будет соответствовать базисным многочленам для множества V . Таким образом, всякий многочлен Q(x, y), имеющий точки из множества V корнями заданной кратности, может P r −1 (2) P r −1 (1) (2) (1) Qj (x, y)pj (x), т.е. Qj (x, y)pj (x) = ρj=0 быть представлен как Q(x, y) = ρj=0 Q(x, y) ∈ I1
\
(s)
I2 , Is =< Qj >, s = 1, 2.
Таким образом, задача нахождения ПНОК матричных полиномов может быть заменена задачей пересечения идеалов. Ясно, что пересечение идеалов соответствует объединению соответствующих им аффинных многообразий. Однако алгоритм построения пересечения идеалов [167] достаточно сложен. T Лемма 2. Пусть заданы наборы интерполяционных точек V1 , V2 : V1 V2 = ∅ и со(1) (2) ответствующие им базисные многочлены Qj (x, y), Qj (x, y). Тогда идеалы Is =< (s) Qj (x, y) >, s = 1, 2 являются нульмерными и взаимно простыми. Доказательство. Рассмотрим аффинные многообразия, соответствующие I1 и I2 . Заметим, что необходимым условием существования общего корня (x0 , y0 ) многочленов (s) Qj (x, y), j = 0..ρr − 1 является вырожденность соответствующей полиномиальной матрицы Q(s) (x) в точке x0 . По построению, множество корней ее определителя равно {xi ∈ GF (q)|(xi, yi ) ∈ Vs }. Т.к. эти множества содержат точки с различными xi , аффинные многообразия, соответствующие I1 и I2 , не пересекаются. Следовательно, аффинное многообразие V (I1 + I2 ) пусто и, в соответствии со слабой теоремой Гильберта о нулях, \ \ этот идеал совпадает с кольцом многочленов GF (q)[x, y], где GF (q) — алгебраическое замыкание исходного поля GF (q). Следовательно, идеалы взаимно просты. Заметим также, что если некоторая величина x0 является корнем определителя матрицы Q(s) (x), то она является вырожденной в этой точке, т.е. существуют такие
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
107
ˆ (s) (x0 ) = 0, причем эти вектора образуют линейное подпространство вектора Yˆ : YQ (s) Y ⊂ GF (q)ρr . Т.к. общие корни (xi , yi ) многочленов Qj (x, y) соответствуют векторам вида Yi = (yi0, yi1, . . . , yiρr −1 ), в Y может быть выделен линейно независимый набор векторов Yi : xi = x0 . В силу того, что пространство Y является конечномерным, этот набор также конечен. Таким образом, каждому корню x0 определителя матрицы Q(s) (x) соответствует конечное число нулей (xi , yi ) : xi = x0 идеала Is . Следовательно, идеалы Is являются нульмерными. В соответствии с китайской теоремой об остатках для идеалов, если идеалы взаимно просты, то их пересечение совпадает с их произведением. Таким образом, идеал, соответS T ствующий набору интерполяционных точек V = V1 V2 , V1 V2 = ∅ может быть построен как I = I1 I2 , где I1 , I2 — идеалы, соответствующие наборам точек V1 , V2 . Необходимо подчеркнуть, что нахождение некоторого базиса идеала интерполяционных многочленов не является достаточным для решения задачи списочного декодирования. В алгоритме Гурусвами-Судана требуется построение интерполяционного многочлена со взвешенной степенью, не превышающей некоторой фиксированной величины, зависящей от параметров кода. Этот многочлен принадлежит идеалу интерполяционных многочленов, но его выделение требует дополнительных вычислений. Определение 10 ([167]). Пусть задано некоторое мономиальное упорядочение. Базисом Грёбнера полиномиального идеала I ⊂ F[x1 , x2, . . . , xn ], где F — некоторое поле, называется конечное подмножество G = {g1 , g2 , . . . , gs } ⊂ I, такое что < LT (g1 ), . . . , LT (gs ) >=< LT (I) >. Это определение может быть также переформулировано следующим образом: множество {g1 , g2 , . . . , gs } ⊂ I является базисом Грёбнера, если старший член любого элемента идеала I делится на старший член хотя бы одного элемента G. Таким образом, интерполяционный многочлен минимальной взвешенной степени должен принадлежать базису Грёбнера идеала интерполяционных многочленов, построенных по заданному набору интерполяционных точек. Для нахождения базиса Грёбнера произвольного полиномиального идеала может быть использован алгоритм Бухбергера [167], являющийся обобщением алгоритмов Гаусса и Евклида.
3.4.3 Быстрое вычисление произведения идеалов Как было показано выше, задача интерполяции может быть сведена к вычислению произведения двух взаимно простых идеалов, соответствующих непересекающимся наборам интерполяционных точек. Несложно показать, что произведение двух идеалов (1) (1) (2) (2) (1) (2) I1 =< Q0 , . . . , Qρr −1 > и I2 =< Q0 , . . . , Qρr −1 > равно идеалу I =< Qj1 Qj2 >. Видно, что число его элементов равно ρ2r . Сопоставляя это значение с оценками размерности базиса модуля интерполяционных многочленов, представленными выше, можно заметить, что данный базис обладает чрезвычайно большой избыточностью. Действительно, вычислительные эксперименты показывают, что редуцированный базис Гребнера произведения
м
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
108
Ws Vs ( x1 , y 1 )
(x2 , y2 ) ( x3 , y 3 )
Рис. 3.2 Структура множества Ws идеалов имеет намного меньшее число элементов1 . Таким образом, непосредственное вычисление произведения идеалов требует вычисления ρ2r произведений многочленов от двух переменных и последующего вычисления редуцированного базиса Грёбнера, в ходе которого число многочленов в базисе резко сокращается. Очевидно, что данный метод далек от оптимального. Попытаемся свести задачу вычисления произведения идеалов к задаче вычисления произведения многочленов. Для этого сопоставим базисам исходных идеалов их “производящие функции” ρr −1 X (s) (s) Qi (x, y)z i (3.24) Q (x, y, z) = i=0
(s)
Заметим, что порядок записи базисных многочленов Qi (x, y) несущественен. Ясно, что множество корней многочлена Q(s) (x, y, z) имеет вид [ d (q)} As , Ws = {(x, y, z)|(x, y) ∈ Vs , z ∈ GF (3.25) 3
\ где Vs — аффинное многообразие, соответствующее идеалу Is , и As ⊂ GF (q) — некоторое множество, зависящее от порядка записи базисных многочленов, причем \ (∀(x0 , y0 , z0 ) ∈ A) : ∃z ∈ GF (q) : (x0 , y0, z) 6∈ A. Структура этого множества представлена на рисунке 3.2. Можно заметить, что точки исходного многообразия соответствуют прямым в множестве корней Q(s) (x, y, z), причем каждая точка, лежащая на такой прямой, имеет кратность не меньшую, чем кратность исходной точки. Кроме того, возникает некоторое количество посторонних корней. Вычислим произведение P r −2 i Pρr −1 (1) (2) Q(x, y, z) = Q(1) (x, y, z)Q(2) (x, y, z) = 2ρ z i=0 j=0 Qi−j (x, y)Qj (x, y). Ясно, что прямые, входящие в множество корней этого многочлена, соответствуют объединению многообразий V1 и V2 . Рассмотрим идеал, порождаемый коэффициентами при z i в этом многочлене, 1
В некоторых случаях оно оказывается даже меньше, чем размерность соответствующего модуля, полученного с помощью алгоритма Нильсена.
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
109
Pρr −1 (1) (2) т.е. I ′ =< j=0 Qi−j (x, y)Qj (x, y), i = 0..2ρr − 2 >. Ясно, что множество его нулей совпадает с множеством нулей I = I1 I2 . (s)
(s)
Теорема 3. Пусть Is =< Q0 (x, y), . . . , Qρr −1 (x, y) >, s = 1, 2 — взаимно простые нульPρr −1 (1) (2) Qi−j (x, y)Qj (x, y), i = 0..2ρr − 2 > и I = I1 I2 мерные идеалы. Тогда идеалы I ′ =< j=0 совпадают. Заметим, что эта теорема может быть легко обобщена на случай произвольного числа переменных. Однако для простоты изложения здесь целесообразно ограничиться случаем двух переменных. Для доказательства этой теоремы необходимо ввести следующее определение. Определение 11 ([83]). Пусть D [i,j] — дифференциальный оператор, соответствующий взятию смешанной частной производной Хассе порядка i по переменной x и порядка j по переменной y. Пусть ( D [i−l,j−m], i ≥ l ∧ j ≥ m [i,j] σxl ym (D ) = 0, иначе. Подмножество G множества дифференциальных операторов называется замкнутым, если ∀(l, m) ∈ Z2 , ∀δ ∈ G : σxl ym (δ) ∈ G Доказательство. Пусть V1 , V2 — аффинные многообразия, соответствующие идеалам I1 и I2 . В соответствии с [83, Теорема 2.8], каждой из точек (xi , yi) ∈ Vs , s = 1, 2 соответствует замкнутое множество Gi = Span(δi1 , . . . , δisi ), такое что f ∈ Is ⇔ δij (xi , yi )(f ) = 0, где δ(xi , yi)(f ) соответствует значению производной Хассе, задаваемой оператором δ, от функции f (x, y), вычисленной в точке (xi , yi). Тогда производящие функции идеалов могут быть представлены как X Q(s) (x, y, z) = (x − xi )j1 (y − yi )j2 Pij1 j2 (x, y, z), (xi , yi ) ∈ Vs , (j1 ,j2 ):D [j1 ,j2 ] ∈G / i
где Pij1 j2 (x, y, z) — некоторые многочлены, причем Pij1 j2 (xi , yi , z) 6= 0. Из взаимной простоты идеалов I1 и I2 следует, что если (xi , yi) ∈ V1 , то Q(2) (xi , yi , z) 6= 0 и наоборот. Следовательно, X (x − xi )j1 (y − yi)j2 Pij1 j2 (x, y, z)Q(2) (x, y, z), (xi , yi) ∈ V1 Q(x, y, z) = (j1 ,j2 ):D [j1 ,j2 ] ∈G / i
Q(x, y, z) =
X
(j1 ,j2 ):D [j1 ,j2 ] ∈G / i
(x − xi )j1 (y − yi)j2 Pij1 j2 (x, y, z)Q(1) (x, y, z), (xi , yi) ∈ V2 ,
причем Pij1 j2 (xi , yi, z)Q(2) (xi , yi, z) 6= 0, (xi , yi ) ∈ V1 и Pij1 j2 (xi , yi, z)Q(1) (xi , yi, z) 6= 0, (xi , yi) ∈ V2 , т.е. кратность нулей идеала, полученного путем перемножения производящих функций, совпадает с кратностью соответствующих нулей сомножителей. Следовательно, [ f ∈ I ′ ⇔ (∀(xi , yi ) ∈ V1 V2 )δij (xi , yi)(f ) = 0, (3.26)
ГЛАВА 3. ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕДУРЫ ДЕКОДИРОВАНИЯ
110
где дифференциальные операторы δij те же, что и для идеалов I1 и I2 . Т.к. все пары (1) (2) Qi (x, y)Qj (x, y) принадлежат как I1 , так и I2 , для них выполняется условие (3.26), откуда следует их принадлежность I ′ . Следовательно, I ⊂ I ′ . Обратное включение очевидно. Таким образом, задача вычисления произведения нульмерных взаимно простых идеалов сводится к задаче вычисления произведения двух многочленов, для решения которой было разработано большое число вычислительно эффективных алгоритмов. При этом необходимо отметить, что применение данного подхода не освобождает от необходимости использования алгоритма Бухбергера [167] для построения редуцированного базиса Гребнера идеала I ′ . Но т.к. размерность базиса I ′ , получаемого с помощью данного метода, оказывается существенное меньшей, чем в случае вычисления произведения идеалов по определению, можно ожидать существенного снижения сложности этого шага. Заметим, что данный метод позволяет параллельно построить базисные многочлены для различных интерполяционных точек, после чего “объединить” результаты.
3.5 Выводы В данной главе были представлены новые алгоритмы решения вычислительных задач, возникающих при алгебраическом декодировании некоторых кодов (Рида-Соломона и т.п.), исправляющих ошибки, в частности: 1. Метод поиска корней многочленов над конечным полем, позволяющий снизить сложность соответствующего этапа декодирования кодов Рида-Соломона в 2–3,5 раза. 2. Метод вычисления быстрого преобразования Фурье над конечным полем (циклотомический алгоритм), обладающей наименьшей сложностью на длинах по крайней мере до 512. 3. Как часть циклотомического алгоритма БПФ, был получен метод построения разреженных фактор-графов линейных кодов, который может быть использован для быстрого умножения матрицы на вектор в полях характеристики два. 4. Метод вычисления синдромного многочлена при декодировании кодов РидаСоломона, обладающей наименьшей сложностью среди известных методов для кодов на длине по крайней мере до 512. 5. Следствием метода вычисления синдромного многочлена является метод построения разреженного фактор-графа кода Рида-Соломона. Необходимо отметить, что циклотомический алгоритм БПФ для умножения матрицы на вектор использует алгоритмически конструируемый разреженный фактор-граф, но, с другой стороны, он сам может быть использован для построения фактор-графа кода РидаСоломона.
Глава 4. Применение адаптивных методов в широкополосных системах связи В данной главе приведены результаты имитационного моделирования, характеризующие эффективность предложенных методов адаптивной передачи. Математические модели рассматриваемых каналов связи описаны в разделе 4.1. Раздел 4.2 посвящен исследованию поведения адаптивного многоуровневого кодирования в кабельном и радиоканалах. В разделе 4.3 рассматривается поведение предложенного метода адаптивного разделения каналов в радиосистеме.
4.1 Модели некоторых физических каналов В данном разделе представлено описание математических моделей некоторых физических каналов связи, используемых в дальнейшем для оценки эффективности предложенных методов.
4.1.1 Модель радиоканала со стационарными в широком смысле некоррелированными отражениями В ходе эксплуатации устройств мобильной радиосвязи достаточно часто возникает ситуация, при которой отсутствует прямой путь распространения радиосигнала от передатчика к приемнику. В результате многочисленных отражений, претерпеваемых сигналом на пути своего распространения приемник получает несколько искаженных копий переданного сигнала. Очевидно, что такая ситуация может быть описана как линейный Гауссовский канал с межсимвольной интерференцией, причем импульсный отклик канала равен [105] P 1 X j φp e δ(τ − τp ), h(τ ) = √ P p=1
где φp и τp — фазовый сдвиг и задержка сигнала на пути p, а P — общее число путей. Формально допустим, что затухание сигнала при распространении по всем путям одинаково, но при этом допускается существование нескольких путей с одинаковой задержкой, за счет чего может быть получено неравномерное распределение мощности принимаемого сигнала во времени. Кроме того, предположим, что φp и τp , p = 1..P статистически независимы. В результате движения приемника характеристики канала изменяются, т.к. каждый из путей распространения испытывает независимый Доплеровский сдвиг fC v fDp = cos(αp ), c 111
ПРИМЕНЕНИЕ АДАПТИВНЫХ МЕТОДОВ
112
Таблица 4.1 Параметры модели Модель канала WSSUS Распределение мощности Экспоненциальное Полоса 20 МГц Число подканалов N 512 где αp — угол относительно направления движения, под которым сигнал, прошедший по пути p, приходит к приемнику, fC — частота несущей, c — скорость распространения света в данной среде. Тогда меняющийся во времени импульсный отклик канала может быть представлен как P 1 X j φp j 2πfDp t e e δ(τ − τp ). h(t, τ ) = √ P p=1
Вычисляя преобразование Фурье от этого выражения, получим передаточную функцию канала P 1 X j φp j 2πfDp t − j 2πf τp H(t, f ) = √ e e e . P p=1
Заметим, что при большом количестве путей распространения сигнала сложение случайных величин, находящихся под знаком суммирования, приводит к нормально распределенным квадратурным компонентам передаточных коэффициентов H(t, f ), т.е. Релеевской модели. Для целей имитационного моделирования осуществляется генерация дискретизованных реализаций импульсного отклика канала. При этом можно предположить, что фазовые сдвиги сигнала на различных путях распространения распределены равномерно в интервале [0, 2π), задержки сигнала на различных путях имеют усеченное экспоненциальное распределение ( a −aτ , 0 ≤ τ < τmax −aτmax e 1 − e p(τ ) = , 0 в противном случае где a = 3 ln(10)/τmax , т.е. τmax соответствует затуханию на 30 дБ. Если направления прихода сигнала к приемнику равновероятны, то Доплеровские сдвиги на отдельных путях имеют распределение Джейкса s 1 2 , |fD | < fDmax fD p(fD ) = πfDmax 1− fDmax 0 иначе
Описанная модель носит название стационарного в широком смысле канала с некоррелированными рассеяниями (Wide Sense Stationary Uncorrelated Scattering) [105]. В таблице 4.1 представлены параметры модели, используемые в данной работе.
ПРИМЕНЕНИЕ АДАПТИВНЫХ МЕТОДОВ
113
Таблица 4.2 Параметры модели кабельного канала Параметр Удельное сопротивление кабеля, Ом/м Удельная индуктивность, Гн/м Удельная емкость, Ф/м Удельная проводимость изоляции, См/м Константа аппроксимации, См Константа аппроксимации, с−1 Постоянная скин-эффекта, Ом/м/с−1/2
Обозначение r L C g g ωd k
Величина 0,0938 6,13E-7 5,6E-8 1E-10 1E-4 2π9E7 2,9E-4
4.1.2 Модель кабельного канала на основе неэкранированной витой пары Кабельный канал на основе витой пары представляет собой классический пример электрической цепи с распределенными параметрами. Известно, что передаточная функция подобной цепи равна [157] √ (4.1) H(f ) = e− (R+2π j f L)(G+2π j f C)l , где R, L, G, C — сопротивление, индуктивность кабеля, проводимость и емкость изоляции на единицу длины кабеля, а l — его длина. При высокоскоростной передач оказывается, что эти параметры зависят от частоты. Эта зависимость может быть приближенно представлена как [92, 148, 132] √ (4.2) R = r + k 2π j f jf G = g + gd 2π2π , (4.3) j f +ωd где r сопротивление кабеля на метр длины по постоянному току, k — постоянная скинэффекта, g — проводимость изоляции на метр длины, gd , ωd — некоторые константы аппроксимации. Значения этих параметров, позволяющие получить хорошую аппроксимацию замеренной частотной характеристики канала, представлены в таблице 4.1.2.
4.2
Адаптивная передача в однопользовательской системе
4.2.1 Построение семейства многоуровневых кодов Для реализации адаптивной системы передачи данных необходимо наличие набора схем передачи, поддерживающих различные скорости. В разделе 1.4.6 были описаны правила построения многоуровневых кодов с любыми заданными скоростями. Их использование требует наличия семейства компонентных двоичных корректирующих кодов с различными скоростями, способных обеспечивать достаточно малую вероятность ошибки при
ПРИМЕНЕНИЕ АДАПТИВНЫХ МЕТОДОВ
114
отношениях сигнал/шум, максимально приближенных к границе Шеннона. В настоящее время известны два основных класса кодов, удовлетворяющих последнему критерию: низкоплотностные коды и турбо-коды. Однако для турбо-кодов свойственен эффект “насыщения” кривой вероятности ошибки при достаточно больших отношениях сигнал/шум. Кроме того, построение хороших высокоскоростных турбо-кодов является достаточно сложной задачей. В связи с этим представляется целесообразным использование низкоплотностных кодов. В данной работе используются два класса кодов: низкоплотностные коды, основанные на кодах Рида-Соломона (RSLDPC) [27] и PEG-коды [62]. Далее представлен анализ некоторых их свойств, необходимых для выбора параметров кодов. Рассмотрим задачу построения набора компонентных кодов для системы с адаптивным многоуровневым кодированием. В данном разделе не ставится задача построения какихлибо новых конструкций кодов; интерес представляет лишь выбор значений параметров известных конструкций низкоплотностных кодов, позволяющих построить компонентные коды с большим диапазоном скоростей. Как было указано в разделе 1.4.4, основными параметрами низкоплотностных кодов являются их скорость, размерность проверочной матрицы, минимальное расстояние и распределение степеней узлов графа Таннера. Эти параметры определяют скорость передачи данных и качество декодирования. Основным показателем помехоустойчивости низкоплотностного кода при условии использования алгоритма декодирования “сумма-произведение” является пороговое значение дисперсии шума в аддитивном Гауссовском канале, при превышении которого вероятность ошибки итеративного декодира оказывается ограниченной снизу достаточно большой величиной, а в противном случае — стремится к нулю для кодов бесконечной длины. Благодаря графовой структуре низкоплотностных кодов оказывается возможным предсказать их поведение, не прибегая к трудоемким процедурам имитационного моделирования или оценки весового спектра. Известно, что большинство хороших низкоплотностных кодов имеет очень малый вес строк проверочной матрицы, что позволяет снизить вероятность искажения более чем одного символа из числа входящих в каждую проверку на четность. Однако вес строк влияет также и на максимальную достижимую скорость кода. Можно показать [130], что при использовании регулярных по строкам низкоплотностных кодов (т.е. ρ(x) = xd−1 ) бесконечной длины надежная передача данных возможна, только если скорость кода удовлетворяет 1 − C(γ) R ≤ 1− , (4.4) h(e(d, ξ)) где C(γ) — пропускная способность канала с двоичной фазовой модуляцией при отношении сигнал/шум γ, h(x) = −x log2 (x) − (1 − x) log2 (1 − x) — функция двоичной энтропии, √ e(d, γ) = 21 − 12 (1 − 2Pe (γ))d , и Pe (γ) = Q γ — вероятность ошибки до декодирования. Эта граница представлена на рис. 4.1 для нескольких различных значений веса строк d. На этом же рисунке приведена кривая пропускной способности аддитивного Гауссовского канала с двоичной фазовой модуляцией. Видно, что при малых значения отношения сигнал/шум вес строк проверочной матрицы практически не оказывает влияния на верхнюю границу скорости1, но при увеличении отношения сигнал/шум вес строк также должен 1
Однако это не означает, что характеристики кодов не зависят от веса строк.
ПРИМЕНЕНИЕ АДАПТИВНЫХ МЕТОДОВ
115
1
0.8
0.6 r 0.4
0.2
0
2
4
6
8
10
отношение сигнал/шум
d=50 d=15 d=5 d=2 проп. способность
Рис. 4.1 Верхняя граница скорости низкоплотностного кода RSLDPC(50,64,α) codes
RSLDPC(50,64,α) codes
6
0.98 rate r 0.96
5.5
0.94 0.92 0.9 0.88
4.5
R
Eb/N0, dB
5
0.86 0.84
4
0.82 0.8
3.5
0.78 3 0.76
0.76 0.78
0.8
0.82
0.84
0.86
0.88
0.9
0.92
0.94
0.96
0.98
0
10
20
R
(a) Пороговое ОСШ на бит
30
α
40
50
60
(b) Скорость кода
расти. В [116] было показано, что уменьшение веса строк увеличивает число исправимых ошибок в случае двоичного симметричного канала2 . В связи с этим целесообразно рассматривать низкоскоростные коды с малыми весами строк и высокоскоростные коды с большими весами строк. Данное правило достаточно хорошо согласуется со свойствами низкоплотностных кодов, используемых в данной работе. Рассмотрим свойства этих кодов более подробно. Рисунок 4.2(a) иллюстрирует зависимость порогового значения отношения сигнал/шум на бит от скорости кода из семейства RSLDPC. Можно заметить, что в высокоскоростном диапазоне оно быстро уменьшается с уменьшением скорости кода. В диапазоне скоростей 0.8 < r < 0.9 зависимость от скорости кода практически исчезает, а при 0.78 < r < 0.8 наблюдается ее резкое увеличение. Последнее связано с тем, что число проверок на четность3 , необходимое для достижения соответствующей скорости, оказывается чрезвычай2 3
Необходимо отметить, что рассматриваются абсолютные значения веса строк. Общее число проверок на четность в RSLDP C(ρ, q, γ)-коде равно qγ.
70
ПРИМЕНЕНИЕ АДАПТИВНЫХ МЕТОДОВ
116
Asymptotic threshold for PEG codes 4.5 4 3.5
Threshold Eb/N0, dB
3 2.5 2 1.5 1 0.5 0 -0.5 0
0.1
0.2
0.3
0.4 0.5 Code rate r
0.6
0.7
0.8
0.9
Рис. 4.2: Асимптотическое поведение оптимизированных нерегулярных низкоплотностных кодов но большим (см. рис. 4.2(b)), что существенно увеличивает сложность декодирования. На рисунке 4.2 представлен аналогичный график, построенный для оптимизированных ансамблей нерегулярных низкоплотностных кодов; соответствующие распределения степеней узлов приведены в таблице 4.3 на стр. 118. Видно, что на всем диапазоне скоростей пороговое значение отношения сигнал/шум на бит для оптимизированных кодов существенно ниже, чем в случае регулярных RSLDPC кодов. Однако необходимо учесть, что существующие методы построения нерегулярных кодов не позволяют получить хорошие высокоскоростные коды умеренной длины. В связи с этим целесообразно использовать алгебраические RSLDPC-коды в диапазоне скоростей, соответствующем умеренной избыточности (т.е. числу линейно зависимых строк) проверочной матрицы (в данном случае r > 0.8), и нерегулярные коды при r ≤ 0.8. При этом для построения нерегулярных кодов может быть использована, например, процедура PEG. В настоящее время отсутствуют конструктивные способы аналитического построения кривой вероятности ошибки декодирования в зависимости от отношения сигнал/шум для конкретного кода конечной длины. В связи с этим возникает необходимость построения таких кривых для выбранного семейства кодов путем имитационного моделирования. Было замечено [81], что кривая вероятности ошибки итеративного декодирования низкоплотностных кодов может быть аппроксимирована функцией p(γ) =
a , (1 + eb(c−γ) )d
(4.5)
где γ — отношение сигнал/шум, а a, b, c, d — параметры аппроксимации. Эта функция может рассматриваться как “сглаженный минимум” некоторой константы p0 = a, характеризующей вероятность ошибки при малых отношениях сигнал/шум4 и функцией eα−βγ , фигурирующей в приближенной объединенной верхней границе [172]. Заметим, что т.к. 4
Известно [111], что при малых отношениях сигнал шум вероятность ошибки итеративного декодирования ограничена снизу положительной величиной
ПРИМЕНЕНИЕ АДАПТИВНЫХ МЕТОДОВ
117
последняя включает в себя сумму экспонент с различными показателями, выражение (4.5) не всегда обеспечивает адекватную аппроксимацию истинной вероятности ошибки; например, может не учитываться эффект насыщения, наблюдаемый для некоторых кодов при больших отношениях сигнал/шум. Но т.к. при построении практических систем связи целесообразно выбирать коды, для которых эффект насыщения наступает на пренебрежимо малых вероятностях ошибки, применение аппроксимации (4.5) вполне адекватно. После построения набора кривых pi (γ), где i — номер кода, для каждого i (и соответствующего ему значению скорости кода ri ) может быть вычислено отношение канал/шум5 γi , необходимое для обеспечения заданной вероятности ошибки, что позволяет построить функцию спектральной эффективности семейства кодов r(γ). Было установлено, что эта кривая может быть хорошо аппроксимирована функцией вида 2 +β
R(γ) = C(γ) − (1 − C(γ))eαC(γ)
,
(4.6)
где C(γ) – пропускная способность канала с двоичной модуляцией при отношении сигнал/шум γ, а α, β — параметры аппроксимации, которые могут быть найдены, например, с помощью метода наименьших квадратов. Это дает возможность вычислить значение скорости кода R(C) на основе пропускной способности канала C. Для обеспечения передачи данных может быть использован код из данного семейства с наибольшей скоростью, не превосходящей R(C). В таблице 4.3 представлены распределения степеней символьных узлов низкоплотностных кодов, использованных при построении рассматриваемого далее семейства многоуровневых кодов. Для кодов со скоростью r ≤ 0.8 проверочные матрицы были построены с помощью алгоритма PEG. Для r > 0.8 использовалась конструкция RSLDPC. Распределения степеней узлов, представленные в таблице 4.3, не являются асимптотически наилучшими; асимптотический порог итеративного декодирования σthr может быть несколько улучшен путем увеличения максимальной степени символьных узлов. Однако при построении кодов конечной длины с помощью алгоритма PEG наличие символьных узлов высокой степени приводит к образованию коротких циклов в графе Таннера, что может привести к уменьшению минимального расстояния кода и возникновению эффекта насыщения кривой вероятности ошибки. Значения, приведенные в таблице 4.3, представляют собой компромисс между хорошим асимптотическим поведением кода и ограничениями, накладываемыми конечностью длины кода. Рисунок 4.3(a) иллюстрирует кривые вероятности ошибки для кодов с различными скоростями r из рассматриваемого семейства, полученные путем имитационного моделирования, а также приближенные кривые (4.5), полученные путем подбора коэффициентов методом наименьших квадратов. Рисунок 4.3(b) иллюстрирует спектральную эффективность семейства кодов, т.е. максимальную скорость кода, позволяющую осуществлять передачу данных с заданной вероятностью ошибки. На этом же рисунке представлены кривые пропускной способности канала и асимптотического порога итеративного декодирования (см. таблицу 4.3). Негладкое поведение кривой асимптотического порога декодирования вблизи точки r = 0.85 связано с переходом к регулярным RSLDPC кодам. Можно 5
Т.к. здесь коэффициент усиления передаваемого сигнала предполагается равным единице, отношения сигнал/шум и канал/шум совпадают.
ПРИМЕНЕНИЕ АДАПТИВНЫХ МЕТОДОВ
118
Таблица 4.3: Распределения степеней символьных узлов используемых низкоплотностных кодов Скорость 0.05
0.1 0.2
0.3
0.4 0.5 0.6 0.7 0.8 0.85 0.86 0.87 0.885 0.898 0.91 0.92 0.9425
Λ(x) 0.7417·x1 +0.1545·x2 +0.01814·x3 +0.01186·x4 + 0.04544·x5 +0.01004·x6 +0.009352·x12 +0.004843· x17 + 0.001053·x19 + 0.001536·x20 + 0.001364·x21 0.659 · x1 + 0.1942 · x2 + 0.01032 · x3 + 0.05913 · x4 + 0.05837 · x7 + 0.01886 · x24 0.6143·x1 +0.231·x2 +9.1941·10−5 ·x3 +0.008891· x4 + 0.06609 · x5 + 0.04498 · x6 + 0.003214 · x9 + 0.004953 · x13 + 0.02636 · x20 0.5357 · x1 + 0.2538 · x2 + 0.04059 · x4 + 0.07154 · x5 + 0.02591 · x9 + 0.04435 · x10 + 0.002382 · x11 + 0.02564 · x49 0.4345 · x1 + 0.3907 · x2 + 0.0683 · x3 + 0.02216 · x5 + 0.02765 · x8 + 0.04597 · x9 + 0.01059 · x10 0.4898 · x1 + 0.2706 · x2 + 0.00055 · x3 + 0.1378 · x4 + 0.1011 · x14 0.4618 · x1 + 0.3173 · x2 + 0.1346 · x5 + 0.01369 · x11 + 0.07242 · x12 0.4231 · x1 + 0.3262 · x2 + 0.02313 · x4 + 0.128 · x5 + 0.09939 · x14 0.4366 · x1 + 0.345 · x2 + 0.2183 · x4 x9 x8 x7 x6 x5 x4 x3 x2
Средний вес строки 3
Пороговое значение σthr 3.62732
3.5
2.55535
4.5
1.73954
6.5
1.37447
5.5
1.10267
5.5
0.964619
10
0.828411
14
0.720552
15 50 50 50 50 50 50 50 50
0.596579 0.509595 0.505344 0.500378 0.494335 0.486903 0.477054 0.463035 0.439228
ПРИМЕНЕНИЕ АДАПТИВНЫХ МЕТОДОВ 1
1 Simulated, r=0.1 Approximated, r=0.1 Simulated, r=0.6 Approximated, r=0.6 Simulated, r=0.3 Approximated, r=0.3
0.1
проп. способность LDPC threshold Spectral efficiency S.E. approximation
0.8
0.01
0.6
0.001 r
вероятность ошибки на бит
119
0.0001
0.4
1e-005 0.2 1e-006
1e-007
0 0
0.2
0.4
0.6
0.8
1
γ
1.2
1.4
(a) Вероятность ошибки
1.6
1.8
2
0
0.5
1
1.5
2
2.5
γ
3
3.5
4
4.5
5
(b) Спектральная эффективность
Рис. 4.3 Характеристики семейства низкоплотностных кодов заметить, что эта эмпирическая кривая достаточно близка по форме кривой пропускной способности C(γ) и хорошо аппроксимируется функцией (4.6). На рисунке 4.4 представлена кривая спектральной эффективности набора многоуровневых кодов, полученных на основе описанного семейства низкоплотностных кодов. В качестве базовых использовались сигнальные множества 2l -уровневой импульсно-амплитудной модуляции. Видно, что эта кривая может быть получена сдвигом кривой пропускной способности канала, т.е. может быть охарактеризована некоторым “зазором” Γ.
4.2.2 Адаптивное многоуровневое кодирование На рисунке 4.5(a) представлен график спектральной эффективности адаптивной многочастотной системы, использующей оптимизационный алгоритм, описанный в разделе 2.1.3, для случая канала с независимыми Релеевскими коэффициентами затухания. Можно заметить, что в адаптивной системе сохраняется “зазор” в 3 дБ, наблюдавшийся в исходном наборе многоуровневых кодов (см. рисунок 4.4). Кроме того, увеличение размера группы L приводит к крайне незначительному увеличению мощности передатчика, требуемой для обеспечения заданного качества работы системы. Рисунок 4.6 иллюстрирует зависимость качества оптимизации от числа J используемых многоуровневых кодов. Видно, что увеличение их числа с 12 до 82 позволяет снизить мощность передатчика, требуемую для достижения заданных параметров системы, примерно на 2 дБ. При этом необходимо отметить, что сложность реализации системы в основном определяется числом используемых компонентных (бинарных) кодов. Предложенный в данной работе прагматический способ построения семейства многоуровневых кодов позволяет построить большое число кодов на основе сравнительно небольшого семейства компонентных двоичных кодов. На рисунке 4.5(b) представлен аналогичный график для случая кабельного канала. Видно, что кабельный канал допускает использование существенно большего размера группы подканалов. Однако ввиду сильного затухания высокочастотных сигналов дости-
ад
ПРИМЕНЕНИЕ АДАПТИВНЫХ МЕТОДОВ
120
P0=1E-7 7 проп. способность
l=1 l=2 l=3 l=4 l=5
6 аппроксимация спектральная эффективность, бит/с/Гц
5
4
3
2
1
0 -10
-5
0
5
10 15 Es/N0, dB
20
25
30
35
Рис. 4.4 Спектральная эффективность семейства многоуровневых кодов
независимые релеевские замирания, 512 подканалов
кабельный канал UTP5, 2048 подканалов
8
2
проп. способность
5
4
3
2
1
0 -15
-10
-5
0
5
10
15
20
25
30
L=1 L=2 L=4 L=8 L=16 L=32 L=64 L=128 L=256
1.8
спектральная эффективность, бит/с/Гц
6
скорость, бит/OFDM символ
проп. способность
L=1 L=2 L=4 L=8 L=16 L=32 L=64
7
35
относительная мощность передатчика, дБ
(a) Канал с независимым Релеевским затуханием
1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 -10
-5
0
5
10
15
20
25
30
35
относительная мощность передатчика, дБ
(b) Кабельный канал
Рис. 4.5: Спектральная эффективность системы с адаптивным многоуровневым кодированием
40
ПРИМЕНЕНИЕ АДАПТИВНЫХ МЕТОДОВ
121
L=1, P0=1E-7 8 J=82 J=54 J=24 J=12
спектральная эффективность, бит/с/Гц
7
6
5
4
3
2
1
0 -15
-10
-5
0
5
10
15
20
25
30
35
относительная мощность передатчика, дБ
Рис. 4.6 Влияние числа используемых многоуровневых кодов на качество адаптации WSSUS канал, полоса 20 МГц, 512 подканалов, скорость 3.9 бит/с/Гц 21
проп. способность (модел.) проп. способность (анал.)
L=1 L=32
20
относительная мощность передатчика, дБ
адаптивная система (анал.) 19
18
17
16
15
14
13 0
1e-006
2e-006
3e-006
4e-006
5e-006
6e-006
7e-006
8e-006
9e-006
1e-005 1.1e-005
многопутевое рассеяние τmax , с
Рис. 4.7 Показатели качества адаптивной однопользовательской системы жимая спектральная эффективность оказывается существенно меньше, чем в случае канала с независимыми Релеевскими затуханиями На рисунке 4.7 представлены кривые, иллюстрирующие зависимость мощности передатчика, требуемой для обеспечения заданной скорости, от условий распространения сигнала в стационарном радиоканале с независимыми отражениями (WSSUS). Видно, что c ростом величины максимальной задержки сигнала (т.е. с увеличением частотной селективности канала) потери, связанные с использованием группового кодирования, увеличиваются. Кроме того, увеличение частотной селективности канала приводит к снижению мощности, требуемой для достижения заданной пропукной способности канала. Необходимо также отметить, что предложенный метод анализа характеристик адаптивной системы позволяет дает результаты, достаточно близкие к результатам, полученным с помощью имитационного моделирования.
ПРИМЕНЕНИЕ АДАПТИВНЫХ МЕТОДОВ
122
независимые релеевские замирания, 512 подканалов
9 проп. способность (анал.) проп. способность (модел.) адаптивная система (анал.) адаптивная система (модел.)
8
спектральная эффективность, бит/с/Гц
7 6 5 4 3 2 1 0 -15
-10
-5
0
5
10
15
20
25
30
относительная мощность передатчика, дБ
Рис. 4.8 Теоретическая оценка спектральной эффективности Полученные результаты интересно сопоставить с теоретическими оценками, построенными в п. 2.1.4. На рисунке 4.8 представлены кривые для спектральной эффективности адаптивной системы, функционирующей в условиях канала с независимыми Релеевскими замираниями. Можно заметить, что кривая для пропускной способности канала, полученная с помощью выражений (2.16) и (2.17) при Γ = 1, в точности совпадает с кривой, полученной усреднением по большому числу реализаций канала, что подтверждает адекватность использованного метода построения оценки. Кривая для спектральной эффективности рассматриваемой системы точно совпадает с теоретической оценкой в диапазоне отношений сигнал/шум до 15 дБ и начинает незначительно отклоняться от нее при более высоких его значениях. Это связано с наличием ограничения на максимальное число уровней в используемом семействе многоуровневых кодов. Таким образом, можно утверждать, что предложенный метод адаптивного многоуровневого кодирования близок к оптимальному.
4.3
Адаптивная передача в многопользовательской системе
4.3.1 Сравнение адаптивных методов Для исследования выигрыша, даваемого применением предложенного алгоритма адаптивного распределения пользователей по подканалам, было произведено имитационное моделирование. При этом предполагалось, что отношения канал/шум для всех пользователей имеют одно и то же среднее значение, равное 1. Дисперсия шума также предпола-
ПРИМЕНЕНИЕ АДАПТИВНЫХ МЕТОДОВ
123
полоса 20 МГц, 512 подканалов, 64 польз., R=16 бит/польз., Perr = 2 · 10−3
20 неоптимизированная MC-CDMA с перемежением
ASBA+bitloading, P=Q=8
относительная мощность передатчика, дБ
ASBA [18], P = Q = 8 OFDMA, алгоритм Вонга [89] предложенный метод, MC-TF-CDMA, S f =1,ST =8 предложенный метод, MC-TF-CDMA, S f =8,ST =1
15
10
5
0 0
1e-006 2e-006
3e-006
4e-006 5e-006
6e-006 7e-006
8e-006
9e-006 1e-005 1.1e-005
многопутевое рассеяние τmax , с
Рис. 4.9 Сравнение различных адаптивных методов галась равной 1. В нижеприведенных графиках представлены значения средней мощности передатчика # "P N 2 |s | i i=1 , Pt = M Nσ 2 требуемой для достижения заданной вероятности ошибки. На рисунке 4.9 представлены результаты моделирования для неоптимизированной MCCDMA системы, OFDMA-системы с адаптивным алгоритмом Вонга, MC-CDMA системы с адаптивным формированием полос (ASBA) и распределением мощности (bitloading), а также MC-TF-CDMA системы, использующей предложенный алгоритм. Во всех случаях помехоустойчивое кодирование не использовалась. Параметрами адаптации являлись размер сигнального множества КАМ, коэффициенты усиления и параметры разделения канала. Видно, что адаптивная передача позволят существенно снизить требуемую мощность по сравнению с неоптимизироанной схемой передачи. Даже очень простые методы, основанные на выборе наилучших подканалов (по сути, адаптивное формирование подполос основано именно на этой идее), позволяют получить выигргыш 6 дБ для каналов с небольшим разбросом задержек распространения сигнала. Совмещение этого подхода с адаптивным распределением мощности и адаптивной модуляцией позволяет дополнительно выиграть 2 дБ. Однако выигрыш, получаемый с помощью адаптивного формирования подполос, существенно уменьшается с ростом частотной селективности. Это связано со следующими причинами: • Расширение в частотной области приводит к тому, что пропускные способности подполос (после соответствующей нормализации) оказываются более близкими к их
ПРИМЕНЕНИЕ АДАПТИВНЫХ МЕТОДОВ
124
полоса 20 МГц, 512 подканалов, 64 польз., R=16 бит/польз., Perr = 2 · 10−3
20 OFDMA, алгоритм Вонга [89]
относительная мощность передатчика, дБ
S=1,Sf=1 S=2,Sf=1 S=4,Sf=1 S=8,Sf=1
15
10
5
0 0
1e-006
2e-006
3e-006
4e-006
5e-006
6e-006
7e-006
8e-006
9e-006
1e-005 1.1e-005
многопутевое рассеяние τmax , с
Рис. 4.10 Влияние коэффициента расширения на результаты оптимизации средним значениям. Это снижает частотную селективность эквивалентного канала, ограничивая возможности для адаптиации. Это относится к любому адаптивному алгоритму. • В рамках модели системы с адаптивным формированием подканалов требуется, чтобы каждый пользователь передавал ровно P символов в точности по одной подполосе. Это существенно ограничивает свободу выбора при назначении пользователей на подканалы и приводит к увеличению требуемой мощности на 7 дБ по сравнению с намного более гибкой MC-TF-CDMA с Sf = 8, описанной в разделе 2.2. Сопоставляя кривые, соответствующие адаптивным OFDMA и MC-TF-CDMA системам, и учитывая общность использованных оптимизационных подходов, несложно заметить, что оптимизированное разделение подканалов позволяет получить выигрыш до 5 дБ, а общий выигрыш, получаемый за счет полного использования возможностей разделения подканалов, адаптивного распределения мощности и адаптивной модуляции, достигает 13 дБ по сравнению с неоптимизированной системой.
4.3.2 Анализ характеристик системы с адаптивным разделением подканалов Рассмотрим более подробно влияние различных параметров на характеристики адаптивной MC-TF-CDMA системы. Рисунок 4.10 илллюстрирует влияние коэффициента расширения S на результаты оптимизации. Видно, что его уменьшение приводит к значительному ухудшению показателей
ПРИМЕНЕНИЕ АДАПТИВНЫХ МЕТОДОВ
125
полоса 20 МГц, 512 подканалов, 64 польз., R=16 бит/польз., Perr = 5 · 10−6
20
относительная мощность передатчика, дБ
OFDMA без кодирования адаптивная OFDMA с кодированием адаптивная MC-TF-CDMA без кодирования, S f=1, ST=1 адаптивная MC-TF-CDMA с кодированием, S f=1, ST=1
15
10
5
0 0
1e-006 2e-006
3e-006
4e-006 5e-006
6e-006 7e-006
8e-006
9e-006 1e-005 1.1e-005
многопутевое рассеяние τmax , с
Рис. 4.11 Сравнение адаптивных систем со сверточным кодированием работы системы. Это связано с тем, что при малых значениях S множество допустимых значений коэффициентов разделения канала перестает адекватно аппроксимировать непрерывные переменные ρki . Более того, сопоставляя кривую для случая S = 1 с кривой для OFDMA-системы на рис. 4.9, можно заметить, что предложенный алгоритм обеспечивает более полную оптимизацию системы. На рисунке 4.11 представлены результаты моделирования для случая адаптивных OFDMA и MC-TF-CDMA систем со сверточным кодированием6 . Подобная конструкция является простейшим способом введения избыточности в систему с адаптивной модуляцией. Вместе с тем, известно, что в подобных системах целесообразно использование адаптивной кодированной модуляции. Однако ее использование эквивалентно изменению константы Γ в выражении (2.20) и потому не может привести ни к каким принципиальным изменениям. Видно, что выигрыш от оптимизированного разделения подканалов не может быть получен другими путями, такими как кодирование, реализуемое пользователями независимо друг от друга. На рисунке 4.12 представлены результаты моделирования для случая систем с различным числом пользователей. Несложно заметить, что выигрыш от адаптивного разделения подканалов быстро возрастает с ростом числа пользователей. Это связано с тем, что в системах с небольшим числом пользователей достаточно часто встречаются ситуации, при которых пригодные для передачи данных диапазоны частот различных пользователей не пересекаются. В этом случае разделение подканалов не требуется и адаптивная MC-DS-CDMA система сводится к OFDMA (рис. 4.12(a)). Но если рассмотреть случай фиксированной общей скорости (рис. 4.12(b)), то оказывается, что при снижении числа пользователей и одновременном увеличении их скорости вероятность совпадения наи6
Использовался сверточный код с порождающими многочленами (0133, 0171).
ПРИМЕНЕНИЕ АДАПТИВНЫХ МЕТОДОВ
126 полоса 20 МГц, 512 подканалов, общая скорость 1024 бита/OFDM символ
полоса 20 МГц, 512 подканалов, R=16 бит/польз MC-DS-CDMA,Sf=1,K=4 MC-DS-CDMA,Sf=1,K=8 MC-DS-CDMA,Sf=1,K=16 MC-DS-CDMA,Sf=1,K=32 MC-DS-CDMA,Sf=1,K=64 OFDMA,K=4 OFDMA,K=16 OFDMA,K=32 OFDMA,K=64
10
5
0
-5
-10 0
1e-006 2e-006
3e-006
4e-006 5e-006
6e-006 7e-006
8e-006
9e-006 1e-005 1.1e-005
MC-DS-CDMA,K=4 MC-DS-CDMA,K=8 MC-DS-CDMA,K=16 MC-DS-CDMA,K=32 MC-DS-CDMA,K=64 OFDMA,K=4 OFDMA,K=16 OFDMA,K=32 OFDMA,K=64
14
относительная мощность передатчика, дБ
15
относительная мощность передатчика, дБ
ит
12
10
8
6
4
0
1e-006
2e-006
3e-006
4e-006
5e-006
6e-006
7e-006
8e-006
9e-006
многопутевое рассеяние τmax , с
многопутевое рассеяние τmax , с
(a) Фиксированная скорость на пользователя
(b) Фиксированная общая скорость
1e-005 1.1e-005
Рис. 4.12 Сравнение систем с различным числом пользователей лучших подканалов различных пользователей возрастает с одновременным уменьшением возможностей перераспределения подканалов. Это приводит к некоторому ухудшению показателей. Представленные результаты интересно сравнить с нижней границей, полученной на основе однопользовательского “водонаполнения” (см. табл. 2.1). Видно, что во всех случаях реальная мощность передатчика, полученная с помощью имитационного моделирования при больших значениях многопутевого рассеяния τmax , превышает полученную нижнюю границу на 1-2 децибела, что связано с потерями, вызванными необходимостью разделения канала, а также наличием некоторой зависимости между передаточными коэффициентами канала. Кроме того, полученная нижняя граница также свидетельствует о том, что при фиксированной общей скорости передачи данных система с большим числом пользователей требует меньшей общей мощности передатчика. На рисунке 4.13 представлено сравнение систем с различными значениями параметров частотно-временного расширения. Здесь Sf — коэффициент расширения в частотной области, а St = S/Sf — коэффициент расшширения во временной области. Несложно заметить, что для малых значений Sf увеличение мощности крайне незначительно. Однако для Sf = 8 (т.е. расширение в частотной области) мощность передатчика, требуемая для достижения заданного качества работы системы, возрастает на 2,5 дБ. Более того, как будет видно на рис. 4.15, реальная наблюдаемая вероятность ошибки в случае Sf = 8 и сильной частотной селективности канала оказывается слегка выше требуемой. Это связано с нарушением ортогональности расширяющих последовательностей. Рисунок 4.14 иллюстрирует зависимость объема сжатой служебной информации (см. п. 2.2.5) от параметров системы. Можно заметить, что при достаточно больших скоростях передачи данных зависимость объема служебной информации от требуемой скорости R исчезает. Это соответствует наиболее полному использованию всех доступных ресурсов системы. Видно, что адаптивная система требует передачи примерно 50 бит служебной информации на одного пользователя. Из сопоставления этой величины со скоростью R передачи пользовательских данных, обеспечиваемой адаптивной системой, следует, что
ПРИМЕНЕНИЕ АДАПТИВНЫХ МЕТОДОВ
127
полоса 20 МГц, 512 подканалов, 64 польз., R=16 бит/польз., Perr = 2 · 10−3
Sf=1 Sf=2 Sf=4 Sf=8
14
относительная мощность передатчика, дБ
12
10
8
6
4
2
0 0
1e-006
2e-006
3e-006
4e-006
5e-006
6e-006
7e-006
8e-006
9e-006
1e-005 1.1e-005
многопутевое рассеяние τmax , с
Рис. 4.13 Сравнение систем с различными параметрами расширения
K=32, S=Sf=8
средний объем сжатых служебных данных, бит
1800 R=20 R=60 R=100 R=160
1700 1600 1500 1400 1300 1200 1100 1000 900 800 0
1e-006 2e-006 3e-006 4e-006 5e-006 6e-006 7e-006 8e-006 9e-006 1e-005 1.1e-005
многопутевое рассеяние τmax , с
Рис. 4.14 Объем служебной информации после сжатия
ПРИМЕНЕНИЕ АДАПТИВНЫХ МЕТОДОВ
128
N=512, S=8, Sf=1, R=40 1
N=512, S=Sf=8, R=40 1
τmax=1E-5 s, v=3 km/h τmax=1E-5 s, v=20 km/h τmax=1E-7 s, v=3 km/h τmax=1E-7 s, v=20 km/h
истинная наблюдаемая вероятность ошибки
истинная наблюдаемая вероятность ошибки
ит
0.1
0.01
0.001 0
10
20
30
40
50
60
70
номер OFDM символа
(a) Адаптивная MC-DS-CDMA система
80
τmax=1E-5 s, v=3 km/h τmax=1E-5 s, v=20 km/h τmax=1E-7 s, v=3 km/h τmax=1E-7 s, v=20 km/h
0.1
0.01
0.001 0
10
20
30
40
50
60
70
80
номер OFDM символа
(b) Адаптивная MC-CDMA система
Рис. 4.15: Чувствительность адаптивной системы к временным изменениям состояния канала все управляющие данные могут быть переданы в одном OFDM-символе.
4.3.3 Чувствительность предложенного метода к временным изменениям состояния канала На рис. 4.15 представлены результаты моделирования, иллюстрирующие чувствительность описанного метода оптимизации к временным изменениям состояния канала. Т.к. в случае St = S/Sf > 1 передача осуществляется блоками по St символов, кривые на рис. 4.15(a) в действительности указывают вероятности ошибки для блоков из St смежных OFDM-символов. Можно заметить, что в случае низкой частотной селективности канала (малые значения τmax ) временные изменения его состояния оказывают более существенное влияние на показатели качества работы системы, чем в случае сильной частотной селективности (большие значения τmax ). Это связано с тем, что в случае сильной коррелированности передаточных коэффициентов µki в адаптивной системе, основанной на принципе водонаполнения, каждому из пользователей выделяется большое число подканалов. Ухудшение характеристик даже небольшой их доли приводит к существенному увеличению вероятности ошибки. Заметим также, что в случае сильной частотной селективности система с Sf = S менее чувствительна к изменениям состояния канала, чем в случае Sf = 1. Это связано с тем, что в первом случае адаптация производится к средним значениям отношения канал/шум по нескольким смежным подканалам. Эти величины менее подвержены временным изменениям, чем отношения канал/шум для отдельных подканалов. Сопоставление результатов имитационного моделирования, приведенных на рис. 4.15, и оценки длительности межоптимизационного интервала (см. рис. 2.7) позволяет сделать вывод о том, что допустимым является превышение истинной вероятности ошибки не более чем в 4 раза по сравнению с первоначальным (требуемым) значением. При этом необходимо отметить, что использованный в п. 2.2.6 метод анализа основывался на пред-
ПРИМЕНЕНИЕ АДАПТИВНЫХ МЕТОДОВ
129
положениях о независимости передаточных коэффициентов и о том, что Sf = 1. Результаты имитационного моделирования свидетельствуют о том, что с ростом τmax точность результатов, полученных с помощью этого метода, повышается. С другой стороны, использование Sf = S позволяет снизить чувствительность системы к временным изменениям состояния канала. Необходимо отметить, что высокая чувствительность системы к временным изменениям состояния канала при малых значениях τmax не является существенным недостатком, т.к. этот случай, как правило, соответствует использованию системы внутри помещений, где скорость перемещения объектов сравнительно мала.
4.3.4 Чувствительность предложенного метода к неточности оценивания канала Рисунок 4.16 иллюстрирует влияние неточности оценки состояния канала на показатели качеста работы системы. В данной работе на рассматривается никакого конкретного метода оценивания канала. Вместо этого предполагается, что приемник и передатчик используют зашумленные значения передаточных коэффициентов канала µki, т.е. µ′ki = µki + νki ,
(4.7)
где νki — независимые Гауссовские случайные величины с дисперсией σ cµ 2 и σ¯µ 2 соответственно. Можно заметить, что в случае сильной частотной селективности канала влияние погрешности оценивания канала на действительную вероятность ошибки весьма незначительно. Это связано с тем, что в случае сильной частотной селективности всегда существует набор подканалов с большим отношением канал/шум. Наличие некоторой погрешности в их оценивании не приводит к изменению порядка их величины, что оставляет возможность выявления таких подканалов в процессе оптимизации. В случае слабой частотной селективности значения отношений канал/шум лежат намного ближе к своему среднему значению, что требует более точного учета состояния канала. Заметим, что система с расширением в частотной области (Sf = 8) намного менее чувствительна к погрешности оценивания состояния канала. Это связано с тем, что в данном случае оптимизация производится с учетом средних значений отношения канал/шум, вычисленных на наборе подканалов, погрешность которых намного ниже. Можно также отметить весьма слабую чувствительность системы к погрешностям оценивания состояния канала на стороне приемника. Это связано с тем, что в адаптивной системе передача осуществляется по подканалам с большим отношением канал/шум, относительная погрешность оценки µ′ki которых оказывается незначительной. Наличие погрешности оценивания как на приемнике, так и на передатчике приводит к незначительному ухудшению показателей работы системы, однако все вышеописанные особенности сохраняются.
4.3.5 Оценка сложности предложенного метода Ввиду сложности целевой функции (2.22) построить какие-либо аналитические оценки для числа итераций, требуемых для достижения оптимального решения, не удалось.
ПРИМЕНЕНИЕ АДАПТИВНЫХ МЕТОДОВ
τmax=1E-05 s, Sf=1 τmax=1E-05 s, Sf=8 τmax=1E-07 s, Sf=1 τmax=1E-07 s, Sf=8
τmax=1E-05 s, Sf=1 τmax=1E-05 s, Sf=8 τmax=1E-07 s, Sf=1 τmax=1E-07 s, Sf=8
14
относительная мощность передатчика, дБ
истинная вероятность ошибки
2 полоса 20 МГц, 512 подканалов, 64 польз., σ ¯m =0
2 долоса 20 МГц, 512 подканалов, 64 польз., σ ˆm =0
100
10-1
10-2
10-3
130
12
10
8
6
4
2
0 0
0.005
0.01
0.015
0.02
0.025
0.03
0
0.005
2 дисперсия оценки в передатчике σ ¯m
0.01
0.015
0.02
0.025
0.03
2 дисперсия оценки в передатчике σ ¯m
(a) Неточность на стороне передатчика: вероятность (b) Неточность на стороне передатчика: мощность пеошибки редатчика 2 полоса 20 МГц, 512 подканалов, 64 польз., σ ¯m =0
10-1
10-2
10-3
0
0.005
0.01
0.015
0.02
0.025
2 дисперсия оценки в приемнике σ ˆm
(c) Неточность на стороне приемника
2 полоса 20 МГц, 512 подканалов, 64 польз., σ ˆm = 0.03
100
τmax=1E-05 s, Sf=1 τmax=1E-05 s, Sf=8 τmax=1E-07 s, Sf=1 τmax=1E-07 s, Sf=8
истинная вероятность ошибки
истинная вероятность ошибки
100
0.03
τmax=1E-05 s, Sf=1 τmax=1E-05 s, Sf=8 τmax=1E-07 s, Sf=1 τmax=1E-07 s, Sf=8
10-1
10-2
10-3
0
0.005
0.01
0.015
0.02
0.025
2 дисперсия оценки в передатчике σ ¯m
(d) Неточность на обоих сторонах
Рис. 4.16 Чувствительность к неточности оценки состояния канала.
0.03
ПРИМЕНЕНИЕ АДАПТИВНЫХ МЕТОДОВ
131
WSSUS канал, 512 подканалов, 64 польз., 16 бит/польз, Sf = 1 Sf=1,J=10 Sf=1,J=50 Sf=1,J=100 Sf=1,J=200 Sf=1,J=500 Sf=1,J=1000 Sf=1,J=30000
15
10
5
0
512 подканалов, 64 польз., 16 бит/польз, τmax = 10−6
1
относительная сложность оптимизации
20
относительная мощность передатчика, дБ
ит
Sf=1 Sf=2 Sf=4 Sf=8
0.8
0.6
0.4
0.2
0 0
1e-006
2e-006
3e-006
4e-006
5e-006
6e-006
7e-006
8e-006
9e-006
1e-005 1.1e-005
1
10
100
1000
10000
многопутевое рассеяние τmax , с
число итераций
(a) Требуемая мощность при Sf = 1
(b) Относительное время при Sf = 1
100000
Рис. 4.17 Зависимость качества оптимизации от его сложности В связи с этим оценка сложности предложенного метода была выполнена путем замера времени выполнения соответствующей программы, реализованной на языке C++. На рисунке 4.17 представлены графики, иллюстрирующие зависимость мощности передатчика, требуемой для достижения заданных параметров адаптивной системы, и среднего времени распределения пользователей по подканалам от максимального числа итераций J. В данной реализации на шаге 6 оптимизационного алгоритма использовался метод Кронгольда [75]. Время представлено в относительных единицах, характеризующих отношение времени, затраченного на на выполнение шагов 1 – 4 предложенного алгоритма, к полному времени оптимизации, включая шаг 6. Можно заметить, что чувствительность качества оптимизации к его сложности уменьшается с ростом частотной селективности канала. Необходимо также отметить, что при выполнении глубокой оптимизации (т.е. большом числе итераций) при Sf = 8 предложенный алгоритм имеет несколько меньшую относительную сложность, чем при Sf = 1. При этом абсолютная сложность оказывается пропорциональной N/Sf .
4.4 Выводы В данной главе были представлены результаты имитационного моделирования, характеризующие поведение предложенных адаптивных методов передачи в условиях кабельного и радиоканалов. Был приведен пример построения семейства многоуровневых кодов умеренной длины с использованием предложенного прагматического метода. Применение построенного семейства кодов в адаптивной системе позволило обеспечить передачу данных с вероятностью ошибки на бит около 10−7 при отношении сигнал/шум, превышающем предел Шеннона всего на 3 дБ. Было показано, что за счет увеличения числа компонентных кодов достигается снижение мощности передатчика, требуемой для достижения заданной скорости передачи данных, на величину порядка 2 дБ. В этом заключается основное преимущество предложенного метода адаптивного многоуровневого кодирования.
ПРИМЕНЕНИЕ АДАПТИВНЫХ МЕТОДОВ
132
Сопоставление с результатами имитационного моделирования показывает, что предложенный метод теоретического анализа характеристик адаптивных многочастотных систем обеспечивает погрешность менее 1 дБ уже при сравнительно небольших значениях (порядка 10−6 с) максимального многопутевого рассеяния. Было показано, что предложенный адаптивный метод передачи в многопользовательских системах вещания позволяет снизить мощность передатчика, требуемую для достижения заданной вероятности ошибки, на 5 дБ по сравнению с аналогичными адаптивными системами. Были представлены оценки объема служебной информации, передача которой необходима для функционирования адаптивной системы. Приведенные результаты имитационного моделирования позволяют оценить интервал времени, в течение которого может использоваться одна и та же оптимизированная схема передачи. Были представлены также оценки сложности предложенного метода и исследовано влияние числа итераций оптимизационного алгоритма на качество решения задачи построения адаптированной схемы передачи.
Выводы Основными результатами данной диссертационной работы являются: 1. Метод поиска корней многочленов над конечным полем, позволяющий снизить сложность соответствующего этапа декодирования кодов Рида-Соломона в 2–6 раз. 2. Метод вычисления быстрого преобразования Фурье над конечным полем, обладающей наименьшей сложностью среди известных аналогов на длинах по крайней мере до 512. 3. Метод построения разреженных фактор-графов линейных кодов и его применение в задаче быстрого умножения матрицы на вектор в полях характеристики два. 4. Метод вычисления синдромного многочлена при декодировании кодов РидаСоломона, обладающий наименьшей сложностью среди известных аналогов для кодов с длинами по крайней мере до 255. 5. Метод вычисления произведения нульмерных взаимно простых полиномиальных идеалов и основывающийся на нем алгоритм интерполяции при списочном декодировании кодов Рида-Соломона. 6. Метод адаптивной передачи с использованием многоуровневого кодирования в многочастотных системах. 7. Метод оценивания пропускной способности векторного Гауссовского канала с независимыми случайными передаточными коэффициентами. 8. Метод адаптивного распределения мощности, скорости и разделения канала в многопользовательских многочастотных системах. Результаты, полученные в данной работе, позволяют выделить следующие направления дальнейших исследований: 1. Исследование возможности использования разреженного представления линейных кодов для их мягкого декодирования. 2. Разработка механизмов канального уровня, обеспечивающих поддержку предложенного метода адаптивной передачи в многопользовательских системах. 3. Исследование возможности дальнейшего снижения объема передаваемой служебной информации и сложности оптимизации в предложенном методе адаптивной передачи в многопользовательских системах. 4. Дальнейшее снижение сложности интерполяции при списочном декодировании кодов Рида-Соломона. 133
ВЫВОДЫ
134
Автор выражает благодарность проф. А.И. Генералову (Санкт-Петербургский Государственный Университет), д-ру Е. Коста (Siemens AG), доц. Ю.Б. Сениченкову и доц. С.В. Федоренко (Санкт-Петербургский Государственный Политехнический Университет) за многочисленные плодотворные обсуждения различных аспектов данной работы.
Литература ¨ [1] Adaptive modulation for the HIPERLAN/2 air interface / R. Grunheid, E. Bolinth, H. Rohling, K. Aretz // Proceedings of 5th International OFDM Workshop. — 2000. — September. [2] Adaptive modulation systems for predicted wireless channels / S. Falahati, A. Svensson, T. Ekman, M. Sternad // IEEE Transactions on Communications. — 2004. — February. — Vol. 52, no. 2. [3] Afanasyev V. On complexity of FFT over finite field // Proceedings of Sixth Joint Swedish-Russian International Workshop on Information Theory, Molle, Sweden. — 1993. — August. — Pp. 315–319. [4] Alamouti S., Kalel S. Adaptive trellis-coded multiple-phase-shift keying for Rayleigh fading channels // IEEE Transactions on Communications. — 1994. — June. — Vol. 42. — Pp. 2305–2314. [5] Alouini M.-S., Goldsmith A. J. Adaptive modulation over nakagami fading channels // Kluwer Journal on Wireless Communications. — 2000. — May. — Vol. 13, no. 1-2. — Pp. 119–143. [6] Al-Dhahir N., Cioffi J. M. Efficiently computed reduced-parameter input-aided MMSE equalizers for ML detection: A unified approach // IEEE Transaction on Information Theory. — 1996. — May. — Vol. 42, no. 3. [7] Al-Dhahir N., Cioffi J. M. Optimum finte-length equalization for multi-carrier transceivers // IEEE Transactions On Communications. — 1996. — January. — Vol. 44, no. 1. [8] Ardakani M., Esmailian T., Kschischang F. Near-capacity coding in multicarrier modulation systems // IEEE Transactions on Communications. — 2004. — November. — Vol. 52, no. 11. [9] Armstrong J. Analysis of new and existing methods of reducing intercarrier interference due to carrier frequency offset in OFDM // IEEE Transactions On Communications. — 1999. — March. — Vol. 47, no. 3. [10] Baccarelli E., Fasano A., Biagi M. Novel efficient bit-loading algorithms for peakenergy-limited ADSL-type multicarrier systems // IEEE Transactions on Signal Processing. — 2002. — May. — Vol. 50, no. 5. [11] Beckermann B., Labahn G. Fraction-free computation of matrix rational interpolants and matrix GCDs // SIAM Journal on Matrix Analysis and Applications. — 2001. — Vol. 22, no. 1. — Pp. 114–144. citeseer.nj.nec.com/beckermann00fractionfree.html. 135
ЛИТЕРАТУРА
136
[12] Bergamaschi L., Moret I., Zilli G. Inexact quasi-Newton methods for sparse systems of nonlinear equations // Future Generation Computer Systems. — 2001. — Vol. 18, no. 1. — Pp. 41–53. [13] Burr A. Modulation and Coding for Wireless Communications. — Prentice Hall, 2001. [14] Campello J., Modha D. S., Rajagopalan S. Designing LDPC codes using bit-filling // Proceedings of the IEEE ICC 2001. — 2001. [15] Canpolat B., Tanik Y. Performance analysis of adaptive loading OFDM under Rayleigh fading // IEEE Transactions On Vehicular Technology. — 2004. — July. — Vol. 53, no. 4. — Pp. 1105–1115. [16] Canteaut A., Chabaud F. A new algorithm for finding minimum-weight words in a linear code: Application to McEliece’s cryptosystem and to narrow-sense BCH codes of length 511 // IEEE Transactions on Information Theory. — 1998. — January. — Vol. 44, no. 1. — Pp. 367–378. [17] Capacity-approaching bandwidth-efficient coded modulation schemes based on lowdensity parity-check codes / J. Hou, P. H. Siegel, L. B. Milstein, H. D. Pfister // IEEE Transactions On Information Theory. — 2003. — September. — Vol. 49, no. 9. — Pp. 2141–2155. [18] Capacity optimization in MC-CDMA systems / E. Costa, H. Haas, E. Schulz, A. Filippi // European Transactions on Telecommunications. — 2002. — October. [19] Cheng R. S., Verdu S. Gaussian multiaccess channels with ISI: capacity regions and multiuser waterfilling // IEEE Transactions on Information Theory. — 1993. — May. — Vol. 39, no. 3. [20] Chen C.-L. Formulas for the solutions of quadratic equations over GF (2m ) // IEEE Transactions on Information Theory. — 1982. — September. — Vol. 28, no. 5. — Pp. 792–794. [21] Chen H., Pottie G. J. An orthogonal projection-based approach for par reduction in OFDM // IEEE Communication letters. — 2002. — May. — Vol. 6, no. 5. — Pp. 169– 171. [22] Chien R. T. Cyclic decoding procedures for Bose-Chaudhuri-Hocquenghem codes // IEEE Transactions on Information Theory. — 1964. — Vol. 10, no. 4. — Pp. 357–363. [23] Chien R. T., Cunningham B. D., Oldham I. B. Hybrid methods for finding roots of a polynomial with application to BCH decoding // IEEE Transactions on Information Theory. — 1969. — Vol. 15, no. 2. — Pp. 329–335. [24] Choi B. J., Hanzo L. Optimum mode-switching assisted adaptive modulation // Proceedings of Globecom 2001. — 2001. — Pp. 3316–3320.
ЛИТЕРАТУРА
137
[25] Chow P. S., Cioffi J. M., Bingham J. A. C. A practical discrete multitone transceiver loading algorithm for data transmission over spectrally shaped channels // IEEE Transactions On Communications. — 1995. — February/March/April. — Vol. 43, no. 2/3/4. [26] Chung S. T., Goldsmith A. J. Degrees of freedom in adaptive modulation: A unified view // IEEE Transactions on Communications. — 2001. — September. — Vol. 49, no. 9. — Pp. 1561–1571. [27] A class of low-density parity-check codes constructed based on Reed-Solomon codes with two information symbols / I. Djurdjevic, J. Xu, K. Abdel-Ghaffar, S. Lin // IEEE Communications Letters. — 2003. — July. — Vol. 7, no. 7. [28] Comparison of heuristic and optimal subcarrier assignment algorithms / J. Gross, H. Karl, F. Fitzek, A. Wolisz // Proceedings of ICWN’03. — 2003. — June. [29] Construction of irregular LDPC codes with low error floors / T. Tian, C. Jones, J. D. Villasenor, R. D. Wesel // Proceedings of IEEE International Conference on Communications 2003. — Vol. 5. — 2003. — Pp. 3125–3129. [30] Construction of low-density parity-check codes based on balanced incomplete block designs / B. Ammar, B. Honary, Y. Kou et al. // IEEE Transactions on Information Theory. — 2004. — June. — Vol. 50, no. 6. [31] Costa E., Fedorenko S. V., Trifonov P. V. On computing the syndrome polynomial in Reed-Solomon decoder // European Transactions on Telecommunications. — 2004. — May/June. — Vol. 15, no. 4. — Pp. 337–342. [32] Dardari D. Ordered subcarrier selection algorithm for OFDM-based high-speed WLANs // IEEE Transactions On Wireless Communications. — 2004. — September. — Vol. 3, no. 5. [33] Davis J. A., Jedwab J. Peak-to-mean power control in OFDM, golay complementary sequences, and reed-muller codes // IEEE Trans. Inform. Theory. — 1999. — November. — Vol. 45, no. 7. — Pp. 2397–2417. [34] Ergen M., Coleri S., Varaiya P. Qos aware adaptive resource allocation techniques for fair scheduling in OFDMA based broadband wireless access systems // IEEE. — 2003. — December. — Vol. 49, no. 4. [35] Explicit construction of LDPC codes with girth at least six / V. Pless, J.-L. Kim, U. N. Peled, I. Perepelitsa // Proceedings of the 40th Allerton Conference on Communication, Control and Computing. — 2002. [36] E. Costa, M. Lott, E. Schultz, S. Fedorenko, P. Trifonov, E. Krouk. Method and device for a communication system for finding roots of an error locator polynomial. — 2003. — European patent EP1367727.
ЛИТЕРАТУРА
138
[37] Farhang-Boroujeny B., Ding M. Design methods for time-domain equalizers in DMT transceivers // IEEE Transactions On Communications. — 2001. — March. — Vol. 49, no. 3. [38] Fedorenko S. V., Trifonov P. V. Finding roots of polynomials over finite fields // IEEE Transactions on Communications. — 2002. — Vol. 50, no. 11. — Pp. 1709–1711. [39] Fedorenko S. V., Trifonov P. V., Costa E. Improved hybrid algorithm for finding roots of error-locator polynomials // European Transactions on Telecommunications. — 2003. — Vol. 14, no. 5. [40] Fischer R., Huber J. A new loading algorithm for discrete multitone transmission // Proceedings of GLOBECOM’96. — 1996. — November. — Pp. 724–728. [41] Forney G. D. Generalized minimum distance decoding // IEEE Transactions on Information Theory. — 1966. — April. — Vol. 12, no. 4. — Pp. 125–131. [42] Forney G. D., Eyuboglu M. V. Combined equalization and coding using precoding // IEEE Communications Magazine. — 1991. — December. — Vol. 29, no. 12. [43] Gallager R. Low-density Parity-Check codes: Ph.D. thesis / MIT. — 1963. ´ [44] Garcia-Armada A. A simple multiuser bit loading algorithm for multicarrier WLAN // Proceedings of IEEE Communications Conference. — 2001. — June. [45] Goldfeld L., Lyandres V. Capacity of the multicarrier channel with frequency-selective Nakagami fading // IEICE Transactions on Communications. — 2000. — March. — Vol. E83-B, no. 3. [46] Goldsmith A. J. Wireless Communications. — Cambridge University Press, 2005. [47] Goldsmith A. J., Varaiya P. Capacity of fading channels with channel side information // IEEE Transactions on Information Theory. — 1997. — November. — Vol. 43, no. 6. [48] Goldsmith A., Chua S.-G. Variable-rate variable-power MQAM for fading channels // IEEE Transactions On Communications. — 1997. — October. — Vol. 45, no. 10. [49] Goldsmith A., Chua S.-G. Adaptive coded modulation for fading channels // IEEE Transactions On Communications. — 1998. — May. — Vol. 46, no. 5. [50] Gross J., Karl H., Wolisz A. On the effect of inband signaling and realistic channel knowledge on dynamic OFDM-FDMA systems // Proceedings of 5th European Wireless Conference. — 2004. — February. [51] Gross R., Veeneman D. SNR and spectral properties for a clipped DMT adsl signal // Proceedings ICC ’94. — New Orleans, LA: 1994. — May. — Pp. 843–847.
ЛИТЕРАТУРА
139
[52] Guruswami V., Sudan M. Improved decoding of Reed-Solomon and algebraic-geometric codes // IEEE Transactions on Information Theory. — 1999. — September. — Vol. 45, no. 6. — Pp. 1757–1767. citeseer.nj.nec.com/guruswami98improved.html. [53] Hayes J. F. Adaptive feedback communications // IEEE Transactions on Communications. — 1968. — February. — Vol. 16, no. 1. — Pp. 29–34. [54] Henkel W. Analog codes for peak-to-average ratio reduction // 3rd ITG Conference Source and Channel Coding. — Munich, Germany: 2000. — January 17–19. — Pp. 151– 155. [55] Henkel W., Wagner B. Another application for trellis shaping: PAR reduction for DMT (OFDM) // IEEE Transactions On Communications. — 2000. — September. — Vol. 48, no. 9. — Pp. 1471–1476. [56] Henkel W., Zrno V. PAR reduction revisited: an extension to tellado’s method // 6th International OFDM-Workshop (InOWo). — Hamburg, Germany: 2001. — Pp. 31–1– 31–6. [57] Hole K. J., Holm H., Oien G. E. Adaptive multidimensional coded modulation over flat fading channels // IEEE Journal On Selected Areas In Communications. — 2000. — July. — Vol. 18, no. 7. [58] HOMPACK90: A suite of Fortran 90 codes for globally convergent homotopy algorithms / L. T. Watson, M. Sosonkina, R. C. Melville et al. // ACM Transactions on Mathematical Software. — 1997. — December. — Vol. 23, no. 4. — Pp. 514–549. [59] Hong J., Vetterli M. Computing m DFT’s over GF (q) with one DFT over GF (q m ) // IEEE Transactions on Information Theory. — 1993. — January. — Vol. 39, no. 1. — Pp. 271–274. [60] Huber J. Multilevel codes: Distance profiles and channel capacity // ITG-Fachbericht 130, Conf. Rec. — 1994. — October. — Pp. 305–319. [61] Hughes-Hartogs D. Ensemble modem structure for imperfect transmission media: US. Patents Nos. 4,679,227 (July 1987). 4,731.816 (Mar. 1988). and 4,833,706 (May 1989). [62] Hu X.-Y., Eleftheriou E., Arnold D.-M. Regular and irregular progressive edge-growth tanner graphs // IEEE Transactions on Information Theory. — 2005. — January. — Vol. 51, no. 1. [63] Imai H., Hirakawa S. A new multilevel coding method using error correcting codes // IEEE Transactions on Information Theory. — 1977. — May. — Vol. 23, no. 3. — Pp. 371–377. [64] Jakes W. C. Mobile radio propagation // Microwave Mobile Communications / Ed. by W. C. Jakes. — New York: Wiley, 1974. — Pp. 11–78.
ЛИТЕРАТУРА
140
[65] Jindal N., Vishwanath S., Goldsmith A. On the duality of Gaussian multiple-access and broadcast channels // IEEE Transactions on Information Theory. — 2004. — May. — Vol. 50, no. 5. [66] Johnson S. J., Weller S. R. A family of irregular LDPC codes with low encoding complexity // IEEE Communications Letters. — 2003. — Vol. 7, no. 2. [67] Johnson S. J., Weller S. R. Resolvable 2-designs for regular low-density parity-check codes // IEEE Transactions on Communications. — 2003. — September. — Vol. 51, no. 9. [68] Kailath T. Linear systems. — Prentice Hall, 1985. [69] Karagiannidis G. K., Zogas D. A., Kotsopoulos S. A. An efficient approach to multivariate Nakagami-m distribution using Green’s matrix approximation // IEEE Transactions On Wireless Communications. — 2003. — September. — Vol. 2, no. 5. [70] Keller T., Hanzo L. Blind-detection assisted sub-band adaptive turbo-coded OFDM schemes // Proceedings of the IEEE Vehicular Technology Conference. — 1999. — Pp. 489–493. [71] Keller T., Hanzo L. Adaptive modulation techniques for duplex OFDM transmission // IEEE Transactions on Vehicular Technology. — 2000. — September. — Vol. 49, no. 5. [72] Kivanc D., Li G., Liu H. Computationally efficient bandwidth allocation and power control for OFDMA // IEEE Transactions On Wireless Communications. — 2003. — November. — Vol. 2, no. 6. [73] Koetter R., Vardy A. A complexity reducing transformation in algebraic list decoding of Reed-Solomon codes. — 2003. — March. [74] Kou Y., Lin S., Fossorier M. P. C. Low-density parity-check codes on finite geometries: A rediscovery and new results // IEEE Transactions on Information Theory. — 2001. — November. — Vol. 47, no. 7. [75] Krongold B., Ramchandran K., Jones D. Computationally efficient optimal power allocation algorithms for multicarrier communication systems // IEEE Transactions on Communications. — 2000. — January. — Vol. 48, no. 1. — Pp. 23–27. [76] Kschischang F. R., Frey B. J., Loeliger H.-A. Factor graphs and the sum-product algorithm // IEEE Transactions on Information Theory. — 2001. — February. — Vol. 47, no. 2. [77] Lau V. K. N., Maric S. V. Variable rate adaptive modulation for DS-CDMA // IEEE Transactions On Communications. — 1999. — April. — Vol. 47, no. 4. — Pp. 577–589. [78] Lin L., Yates R. D., Spasojevic P. Adaptive transmission with discrete code rates and power levels // IEEE Transactions On Communications. — 2003. — December. — Vol. 51, no. 12.
ЛИТЕРАТУРА
141
[79] Li J., Kurtas E. A class of (γργ−1 , ργ , ρ, γ, {0, 1}) combinatorially designed LDPC codes with application to ISI channels // Proceedings of IEEE International symposium on Information Theory. — 2003. [80] Li L., Goldsmith A. J. Capacity and optimal resource allocation for fading broadcast channels–part i: Ergodic capacity // IEEE Transactions on Information Theory. — 2001. — March. — Vol. 47, no. 3. [81] MacKay D. J. C., Hesketh C. P. Performance of low density parity check codes as a function of actual and assumed noise levels // Electronic Notes in Theoretical Computer Science. — 2003. — Vol. 74. [82] Mallik R. K. On multivariate Rayleigh and exponential distributions // IEEE Transactions On Information Theory. — 2003. — June. — Vol. 49, no. 6. [83] Marinari M. G., Moller H. M., Mora T. Grobner bases of ideals defined by functionals with an application to ideals of projective points // Applicable Algebra in Engineering, Communication and Computing. — 1993. — Vol. 4. — Pp. 103–145. [84] Ma J., Trifonov P., Vardy A. Divide-and-conquer interpolation for list decoding of Reed-Solomon codes // Proceedings of IEEE International Symposium on Information Theory. — 2004. — P. 386. [85] Mestdagh D. J. G., Spruyt P. M. P. A method to reduce the probability of clipping in DMT-based transceivers // IEEE Transactions on Signal Processing. — 1996. — October. — Vol. 44, no. 10. — Pp. 1234–1238. [86] Meyr H., Moeneclaey M., Fechtel S. A. Digital Communication Receivers, Vol. 2: Synchronization, Channel Estimation, and Signal Processing. — Wiley-Interscience, 1997. [87] Mosier R. R., Clabaugh R. G. KINEPLEX, a bandwidth efficient binary transmission system // AIEE Transactions. — 1958. — Vol. 76. [88] A multicarrier CDMA system with adaptive subchannel allocation for forward links / Y. H. Kim, I. Song, S. Yoon, S. R. Park // IEEE Transactions On Vehicular Technology. — 1999. — September. — Vol. 48, no. 5. [89] Multiuser OFDM with adaptive subcarrier, bit, and power allocation / C. Y. Wong, R. S. Cheng, K. B. Letaief, R. D. Murch // IEEE Journal on Selected Areas in Communications. — 1999. — October. — Vol. 17, no. 10. [90] Multiuser transmit optimization for multicarrier broadcast channels: Asymptotic FDMA capacity region and algorithms / L. M. C. Hoo, B. Halder, J. Tellado, J. M. Cioffi // IEEE Transactions On Communications. — 2004. — June. — Vol. 52, no. 6. [91] Nagarajan V., Liu Y., Hou J. Joint design of LDPC codes for parallel channels and its applications // In Proceedings of 41th Annual Allerton Conference on Communication, Control, and Computing. — 2003. — October.
ЛИТЕРАТУРА
142
[92] Nahman N. S., Holt D. R. Transient analysis of coaxial cables using the skin effect approximation // IEEE Transactions on Circuits Theory. — 1972. — Vol. 19, no. 5. — Pp. 443–451. [93] A new approach for evaluating clipping distortion in multicarrier systems / A. R. S. Bahai, M. Singh, A. J. . Goldsmith, B. R. Saltzberg // IEEE Journal on Selected Areas in Communications. — 2002. — Vol. 20. — Pp. 3–11. [94] Nielsen R. R. List decoding of linear block codes: Ph.D. thesis / Technical University of Denmark. — 2001. [95] Nielsen R. R., Hoholdt T. Decoding Reed-Solomon codes beyond half the minimum distance // Proceedings of the International Conference on Coding Theory and Cryptography, Mexico 1998. — Springer-Verlag, 1998. [96] Ochiai H. Performance analysis of peak power and band-limited OFDM system with linear scaling // IEEE Transactions On Wireless Communications. — 2003. — September. — Vol. 2, no. 5. — Pp. 1055–1065. [97] OFDM with reduced peak-to-average power ratio by multiple signal representation / S. Muller, R. Bauml, R. Fischer, J. Huber // Annals of Telecommunications. — 1997. — February. — Vol. 52, no. 1–2. — Pp. 58–67. [98] On the design of low-density parity-check codes within 0.0045 dB of the Shannon limit / S.-Y. Chung, G. D. Forney, T. J. Richardson, R. Urbanke // IEEE Communications Letters. — 2001. — February. — Vol. 5, no. 2. [99] Optimal decoding of linear codes for minimizing symbol error rate / L. Bahl, J. Cocke, F. Jelinek, J. Raviv // IEEE Transactions on Information Theory. — 1974. — Pp. 284– 287. [100] Optimal design of adaptive coded modulation schemes for maximum average spectral efficiency / H. Holm, G. Oien, M. Slim-Alouini et al. // Proceedings of IEEE Workshop on Signal Prcessing Advances in Wireless Communications. — 2003. [101] Per tone equalization for DMT-based systems / K. van Acker, G. Leus, M. Moonen et al. // IEEE Transactions On Communications. — 2001. — January. — Vol. 49, no. 1. [102] Pfletschinger S., Munz ¨ G., Speidel J. Efficient subcarrier allocation for multiple access in OFDM systems // Proceedings of 7th International OFDM Workshop. — 2002. — September. [103] Pietrzyk S., Janssen G. J. M. Multiuser subcarrier allocation for QoS provision in the OFDMA systems // Proceedings of VTC Fall’02. — 2002. — September. [104] Prabhakar A., Narayanan K. Pseudorandom construction of low-density parity-check codes using linear congruential sequences // IEEE Transactions on Communications. — 2002. — September. — Vol. 50, no. 9.
ЛИТЕРАТУРА
143
[105] P. H¨oher. A statistical discrete-time model for the WSSUS multipath channel // IEEE Transactions on Vehicular Technology. — 1992. — November. — Vol. 41, no. 4. [106] Rate-adaptive coding and modulation with LDPC component codes: Tech. rep. / O. Jetlund, G. E. Oien, K. J. Hole, V. Markhus: Department of Telecommunications, Norwegian University of Science and Technology, 2002. [107] A real-time sub-carrier allocation scheme for multiple access downlink OFDM transmission / C. Y. Wong, C. Y. Tsui, R. S. Cheng, K. B. Letaief // Proceedings of VTC Fall’99. — 1999. — September. — Pp. 1124–1128. [108] Regularized Newton methods for convex minimization problems with singular solutions / D.-H. Li, M. Fukushima, L. Qi, N. Yamashita // Computational Optimization and Applications. — 2004. — July. — Vol. 28, no. 2. — Pp. 131–147. [109] Rhee W., Cioffi J. M. Increasing in capacity of multiuser OFDM system using dynamic subchannel allocation // Proceedings of IEEE International Vehicular Technology Conference. — Vol. 2. — 2000. — May. — Pp. 1085–1089. [110] Richardson T. J., Urbanke R. The capacity of low-density parity check codes under message-passing decoding // IEEE Transactions on Information Theory. — 2001. — February. — Vol. 47, no. 2. [111] Richardson T., Shokrollahi M. A., Urbanke R. L. Design of capacity-approaching irregular low-density parity-check codes // IEEE Transactions On Information Theory. — 2001. — February. — Vol. 47, no. 2. — Pp. 619–637. [112] Rosenthal J., Vontobel P. Constructions of LDPC codes using Ramanujan graphs and ideas from Margulis // Proceedings of 38th Allerton Conference on Communication, Control and Computing. — 2000. [113] Roth R., Ruckenstein G. Efficient decoding of Reed-Solomon codes beyond half the minimum distance // IEEE Transactions on Information Theory. — 2000. — Vol. 46, no. 1. — Pp. 246–257. citeseer.nj.nec.com/roth00efficient.html. [114] Ryan W. E. An introduction to LDPC codes // CRC Handbook for Coding and Signal Processing for Recording Systems / Ed. by B. Vasic. — CRC Press, 2004. [115] Sampei S., Komaki S., Morinaga N. Adaptive modulation/TDMA scheme for large capacity personal multimedia communications systems // IEICE Transactions on Communications. — 1994. — September. — Vol. E77-B. — Pp. 1096–1103. [116] Santhi N., Vardy A. On the effect of parity-check weights in iterative decoding // Proceedings of IEEE International symposium on Information Theory. — 2004. [117] Sauer T. Polynomial interpolation of minimal degree and grobner bases groebner bases and applications // Groebner Bases and Applications (Proceedings of the International Conference “33 Years of Groebner Bases”) / Ed. by B. Buchberger, F. Winkler. —
ЛИТЕРАТУРА
144
Vol. 251 of London Mathematical Society Lecture Notes. — Cambridge University Press, 1998. — Pp. 483–494. [118] Scholtz R. The origins of spread-spectrum communications // IEEE Transactions On Communications. — 1982. — May. — Vol. 30, no. 5. — Pp. 822–854. [119] Schurgers C., Srivastava M. B. A systematic approach to peak-to-average power ratio in OFDM // Proceedings of SPIE’s 47th Annual Meeting. — San Diego, CA: 2001. — July/August. — Pp. 454–464. [120] Seyedi A., Saulnier G. J. Symbol-error rate analysis of Fischer’s bit-loading algorithm // IEEE Transactions On Communications. — 2004. — September. — Vol. 52, no. 9. — Pp. 1480–1483. [121] Shen Z., Andrews J., Evans B. L. Optimal power allocation in multiuser OFDM systems // Proceendings of IEEE Global Communications Conference. — Vol. 1. — 2003. — December. — Pp. 337–341. [122] Subcarrier allocation for variable bit rate video streams in wireless OFDM systems / J. Gross, J. Klaue, H. Karl, A. Wolisz // Proceedings of VTC Fall’03. — 2003. — October. [123] Tarokh V., Jafarkhani H. On the computation and reduction of the peak-to-average power ratio in multicarrier communications // IEEE Transactions On Communications. — 2000. — January. — Vol. 48, no. 1. — Pp. 37–44. [124] Torrance J. M., Hanzo L. Latency and networking aspects of adaptive modems over slow indoors Rayleigh fading channel // IEEE Transactions on Vehicular Technology. — 1999. — July. — Vol. 48. — Pp. 1237–1251. [125] Torrance J., Hanzo L. Optimization of switching levels for adaptive modulation in slow Rayleigh fading // IEE Electronics Letters. — 1999. — June. — Vol. 32, no. 13. — Pp. 1167–1169. [126] Trifonov P., Costa E., Schulz E. Adaptive user allocation, bit and power loading in multi-carrier systems // Proceedings of the 9th International OFDM-Workshop. — 2004. [127] Trifonov P., Costa E., Schulz E. Adaptive multilevel coding in OFDM systems // Proceedings of IEEE Vehicular Technology Conference — Spring 2005. — 2005. [128] Truong T.-K., Jeng J.-H., Reed I. S. Fast algorithm for computing the roots of error locator polynomials up to degree 11 in Reed-Solomon decoders // IEEE Transactions on Communications. — 2001. — Vol. 49, no. 5. — Pp. 779–783. [129] Ungerboeck G. Channel coding with multilevel/phase signals // IEEE Transactions on Information Theory. — 1982. — Vol. 28, no. 1. — Pp. 55–67.
ЛИТЕРАТУРА
145
[130] Upper bounds on the rate of LDPC codes / D. Burshtein, M. Krivelevich, S. Litsyn, G. Miller // IEEE Transactions on Information Theory. — 2002. — September. — Vol. 48, no. 9. [131] van der Waerden B. L. Algebra. — Springer-Verlag, 1991. — Vol. 1. [132] Vareljian A. Behavioral modeling of transmission line channels via linear transformations: 10GBASE-T study group working document: 2003. [133] Vasic B., Milenkovic O. Combinatorial constructions of low-density parity-check codes for iterative decoding // IEEE Transactions on Information Theory. — 2004. — June. — Vol. 50, no. 6. [134] Viswanath P., Tse D. N. C., Anantharam V. Asymptotically optimal water-filling in vector multiple-access channels // IEEE Transactions On Information Theory. — 2001. — January. — Vol. 47, no. 1. [135] Vitter J. S. Design and analysis of dynamic Huffman codes // Journal of the ACM. — 1987. — October. — Vol. 34, no. 4. — Pp. 825–845. [136] Vontobel P. O., Koetter R. Lower bounds on the minimum pseudo-weight of linear codes // Proceedings of IEEE International symposium on Information Theory. — 2004. [137] Wachsmann U., Fischer R. F. H., Huber J. B. Multilevel codes: Theoretical concepts and practical design rules // IEEE Transactions On Information Theory. — 1999. — July. — Vol. 45, no. 5. — Pp. 1361–1391. [138] Wang X., Liu K. J. R. Adaptive channel estimation using cyclic prefix in multicarrier modulation system // IEEE Communications Letters. — 1999. — October. — Vol. 3, no. 10. — Pp. 291 – 293. [139] Wang Y., Zhu X. A fast algorithm for the Fourier transform over finite fields and its VLSI implementation // IEEE Journal on Selected Areas in Communications. — 1988. — Vol. 6, no. 3. — Pp. 572–577. [140] Webb W. T., Steele R. Variable rate QAM for mobile radio // IEEE Transactions on Communications. — 1995. — July. — Vol. 43, no. 7. — Pp. 2223–2230. [141] Weinstein S. B., Ebert P. M. Data transmission by frequency-division multiplexing using the discrete fourier transform // IEEE Transactions on Communications. — 1971. — October. — Vol. 19, no. 5. — Pp. 628–634. [142] Weller S. R., Johnson S. J. Iterative decoding of codes from oval designs // Proceedings of Wokshop on Defence Applications of Signal Processing. — 2001. [143] Woerz T., Hagenauer J. Iterative decoding for multilevel codes using reliability information // Proceedings of GLOBECOM’92. — Vol. 3. — 1992. — December. — Pp. 1779 –1784.
ЛИТЕРАТУРА
146
[144] Wu H.-C., Gu G. Analysis of intercarrier and interblock interferences in wireless OFDM systems // Proceedings of Globecom. — 2003. [145] Yang L.-L., Hanzo L. Multicarrier DS-CDMA: A multiple access scheme for ubiquitous broadband wireless communications // IEEE Communications Magazine. — 2003. — October. — Vol. 41, no. 10. [146] Yedidia J. S. Sparse factor graph representations of Reed-Solomon and related codes // Proceedings of IEEE International Symposium on Information Theory. — 2004. — June. [147] Yin H., Liu H. An efficient multiuser loading algorithm for OFDM-based broadband wireless systems // Proceedings of IEEE Global Communications Conference. — 2000. — November. — Pp. 103–107. [148] Yu Q., Wing O. W. Computational models of transmission lines with skin effects and dielectric loss // IEEE Transactions on Circuits and Systems. — 1994. — Vol. 41, no. 2. — Pp. 107–119. [149] Yu W., Cioffi J. M. FDMA capacity of gaussian multiple-access channels with ISI // IEEE Transactions on Communications. — 2002. — January. — Vol. 50, no. 1. — Pp. 102–111. [150] Афанасьев В. Б., Грушко И. И. Алгоритмы БПФ для полей GF (2m ) // Помехоустойчивое кодирование и надежность ЭВМ. — М.: Наука, 1987. — С. 33–55. [151] Ахо А., Хопкрофт Д., Ульман Д. Построение и анализ вычислительных алгоритмов. — М.: Мир, 1979. — 536 с. [152] Бахвалов Н., Жидков Н., Кобельков Г. Численные методы. — М.: Физматлит, 2002. — 632 с. [153] Белоусов А. И., Ткачев С. Б. Дискретная математика. — М.: Издательство МГТУ им. Баумана, 2001. — 744 с. [154] Берлекэмп Э. Р. Алгебраическая теория кодирования. — М.: Мир, 1971. — 477 с. [155] Блейхут Р. Теория и практика кодов, контролирующих ошибки. — М.: Мир, 1986. — 576 с. [156] Блейхут Р. Быстрые алгоритмы цифровой обработки сигналов. — М.: Мир, 1989. — 448 с. [157] Бычков Ю. А., Золотницкий В. М., Чернышев Э. П. Основы теории электрических цепей. — СПб.: Лань, 2002. — 464 с. [158] ван дер Варден Б. Л. Алгебра. — М.: Наука, 1976. — 648 с. [159] Васильев Ф. П. Методы оптимизации. — М.: Факториал, 2002. — 824 с.
ЛИТЕРАТУРА
147
[160] Габидулин Э. М., Афанасьев В. Б. Кодирование в радиоэлектронике. — М.: Радио и связь, 1986. — 176 с. [161] Галлагер Р. Теория информации и надежная связь. — М.: Советское радио, 1974. — 720 с. [162] Гантмахер Ф. Р. Теория матриц. — 4 изд. — М.: Наука, 1988. — 543 с. [163] Грин П. Е. Системы с обратной связью // Лекции по теории систем связи / Под ред. Е. Д. Багдади. — Мир, 1964. [164] Дэйвид Г. Порядковые статистики. — М.: Наука, 1979. — 335 с. [165] Захарова Т. Г. Вычисление преобразования Фурье в полях характеристики 2 // Проблемы передачи информации. — 1992. — Т. 28, № 2. — С. 62–76. [166] Захарова Т. Г. Применение преобразования Фурье при декодировании кодов РидаСоломона // Радиотехника. — 1996. — № 12. — С. 55–57. [167] Кокс Д., Литтл Д., О’Ши Д. Идеалы, многообразия и алгоритмы. — М.: Мир, 2000. — 687 с. [168] Колесник В. Д., Полтырев Г. Ш. Курс теории информации. — М.: Наука, 1982. — 416 с. [169] Мак-Вильямс Ф. Д., Слоэн Н. Д. А. Теория кодов, исправляющих ошибки. — М.: Связь, 1979. — 744 с. [170] Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео / Д. Ватолин, А. Ратушняк, М. Смирнов, В. Юкин. — М.: ДИАЛОГ-МИФИ, 2002. — 384 с. [171] Питерсон У., Уэлдон Э. Коды, исправляющие ошибки. — М.: Мир, 1976. — 594 с. [172] Прокис Д. Цифровая связь. — М:: Радио и связь, 2000. — 800 с. [173] Рейнгольд Э., Нивергельт Ю., Део Н. Комбинаторные алгоритмы: теория и практика. — М.: Мир, 1980. — 478 с. [174] Трифонов П. В. Адаптивная передача в многопользовательских многочастотных системах вещания // Информационно-управляющие системы. — 2005. — Т. 1, № 14. — С. 41–45. [175] Трифонов П. В., Федоренко С. В. Метод быстрого вычисления преобразования Фурье над конечным полем // Проблемы передачи информации. — 2003. — Т. 39, № 3. — С. 3–10. [176] Финк Л. Теория передачи дискретных сообщений. — М.: Советское радио, 1970. — 728 с.