Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методическое пособие 640

.pdf
Скачиваний:
7
Добавлен:
30.04.2022
Размер:
3.05 Mб
Скачать

состоящего из M/2 сигналов, путем дополнения последнего отрицанием каждого сигнала:

= .

Биортогональный набор состоит из комбинации ортогональных и антиподных сигналов. Одно из преимуществ биортогональных кодов перед ортогональными заключается в том, что при передаче аналогичной информации размер кодового слова биортогональных кодов вдвое меньше размера кодового слова ортогональных кодов. Следовательно, при использовании биортогональных кодов требования к полосе пропускания вдвое слабее, чем при использовании ортогональных кодов.

7.14.3. Симплексные (трансортогональные) коды

Двоичным симплексным кодом

называется код, дуаль-

ный к коду Хэмминга

 

.

представляет собой [2r—1, r]-код

с порождающей

матрицей G являющейся проверочной матри-

 

 

r

 

 

 

 

 

 

 

 

 

цей кода . Так, например, для

матрица

 

 

 

 

 

 

 

 

 

=

0

1

1

 

 

 

 

 

 

и кодовые слова

 

1

0

1

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

 

 

 

 

 

 

 

 

 

 

 

=

0

1

1

 

 

 

 

 

 

Для кода

имеем:

1

1

0

 

 

 

 

 

 

1

0

1 .

000

 

1

 

111

 

 

0 0

0 | 1 |

1

 

1

1

 

|

|

 

=

− − − − − − −

=

 

0 1 1 | 0 | 0 1 1

 

|

0

|

 

и

 

1 0 1 | 0 | 1 0 1

 

 

0

 

 

кодовые слова

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

201

 

 

 

 

 

 

 

 

 

0

 

0

0

| 0 |

0

0

0

 

 

| 0 |

 

 

 

0

 

1

1

| 0 |

0

1

1

 

 

| 0 |

 

 

 

1

 

0

1

| 0 |

1

0

1

 

 

| 0 |

 

 

 

1

 

1

0

| 0 |

1

1

0

 

 

| 0 |

 

=

=

− .

0

0 0 | 1 | 1 1 1

| 1 |

 

 

0

 

1

1

| 1 | 1 0 0

 

 

| 1 |

 

 

 

1

 

0

1

| 1 | 0 1 0

 

 

| 1 |

 

По

 

1

1 0 | 1 | 0 0 1

 

 

| 1 |

 

 

индукции мы видим, что код

 

состоит из вектора

0 и 1 2r— 1 кодовых слов веса 2r-1. Это один из стандартных способов построения матриц Адамара.

Этот код называется симплексным (трансортогональ-

ным), так как каждая пара кодовых слов находится друг от друга на одинаковом расстоянии. Поэтому, если на вершинах единичного куба размерности n отметить кодовые слова, то они образуют правильный симплекс. Например, когда r = 3, код равный коду #9, образует правильный тетраэдр (выделен двойными линиями на рис. 7.9).

7.14.4. Ортогональное кодирование с распределением спектра

Очевидно, что скалярное произведение любых двух не перекрывающихся во времени сигналов равно нулю. Рассмотрим M сигналов, приведенных на рис. 7.10, а, которые совместно занимают весь временной интервал Tt . При длительности сигнала не более, чем T =Tt / M , и временном сдвиге между соседними сигналами не менее, чем длительность сигнала, подобное кодирование путем временного сдвига (time-shift coding) образует семейство ортогональных сигналов.

202

Рис. 7.10. Ортогональные по времени (а) и по частоте (b) сигналы

Оценка полосы W, занимаемая каждым из сигналов, равна обратной величине от их длительности, и все сигналы, не нарушая условия ортогональности, занимают одну и ту же полосу W = Wt . Следовательно, максимальное число подобных ортогональных сигналов, которые могут располагаться в пределах заданного частотно–временного ресурса Wt , Tt , составляет величину M = Tt /T = Wt Tt , т.е., как можно было и предвидеть, равняется размерности сигнального пространства ns = Wt Tt . Необходимость большего числа сигналов M »1 требует большой величины произведения Wt Tt = M , которое, по-видимому, может быть достигнуто путем распределения спектра.

Дробление общего частотно-временного ресурса, присущего двум ранее рассмотренным методам построения ортогональных сигналов, в некоторых случаях может оказаться предпочтительным с точки зрения аппаратурной реализации. Однако при увеличении числа сигналов M подобные основания становятся сомнительными, поскольку, как уже упоминалось, кодирование с помощью временного сдвига требует зна-

203

чительного пик-фактора, а кодирование с помощью частотного сдвига приводит к оптимальной обработке, состоящей в использовании значительного набора параллельных частотных фильтров.

При таких обстоятельствах метод построения ортогональных сигналов путем распределения спектра может оказаться весьма конкурентоспособным, поскольку предполагает совместное использование всеми сигналами общего частотновременного ресурса без распределения или нарезания последнего. Рассмотрим простой пример воплощения указанной идеи для дискретных бинарных фазоманипулированных (BPSK) сигналов. Образуем любой из M сигналов в виде последовательности N примыкающих друг другу элементарных импульсов (или чипов), каждый из которых обладает прямоугольной формой и длительностью ∆ . Пусть полярность чипов сигнала под номером k изменяется в соответствие с кодовой последовательностью (или просто кодом) бинарных символов a k, i =

± 1, где k = 1, 2, … , M , а второй подстрочный символ отвечает номеру чипа (дискретному времени) i = 0, 1, … , N-1. Тогда версия подобного сигнала на видеочастоте может быть записана в виде

( ) = , ( − ∆) ,

где s0(t) символизирует прямоугольный импульс длительности ∆ .

Вычислим теперь скалярное произведение или корреляцию k –го и i –го сигналов. После изменения порядка сумми-

рования и интегрирования получим

( − ∆) ( − ∆) ,

( , ) =

, ,

В последнем соотношении интеграл представляет собой скалярное произведение двух сдвинутых во времени друг

204

относительно друга чипов на величину, равную (i - j)∆ . При i ≠ j интеграл равен нулю, поскольку импульсы не перекрываются во времени. Таким образом

∫ ( − ∆) ( − ∆) = ,

где E0 – энергия элементарного импульса. Использование полученного выражения дает

( , ) =

, , = ( , ) .

Последнее соотношение связывает скалярное произведение сигналов ( ) со скалярным произведением N –мерных векторов, отвечающих кодовым последовательностям ak = (ak,0, ak,1, … , ak,N-1). Очевидно, что M ортогональных кодовых последовательностей автоматически формируют M ортогональных сигналов типа ( ). При M ≤ N существует множество способов конструирования подобных последовательностей, поскольку рассматриваемая ситуация отвечает задаче нахождения M ≤ N ортогональных векторов размерности N . В нашем примере упомянутые вектора являются бинарными, т.е. их компоненты принимают значения из множества ±1. При M = N ортогональные бинарные вектора, рассматриваемые в качестве строк, образуют квадратную матрицу, называемую матрицей Адамара. Не составляет труда убедиться, что существуют лишь матрицы Адамара размерности, кратной четырем, т.е. M ≡ 0 mod 4, где используемое сравнение a ≡ b mod c означает равенство остатков от деления целых чисел a, b на целое c . До сих пор не найдено доказательство достаточности это необходимого условия.

Известен целый ряд алгоритмов построения матриц Адамара определенной (не произвольной) длины. Наиболее популярным из них является правило Сильвестра, позволяющее рекурсивно строить матрицы удвоенного размера. Для пояснения данного алгоритма предположим, что так или иначе

205

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

= = ,

где второе равенство выражает правило кронекеровского произведения матриц. Ортогональность строк H2M очевидна: две строки, номера которых отличаются на любое целое, но не M , обладают нулевым скалярным произведением, поскольку их две M –элементные половины ортогональны просто потому, что они представляют собой ортогональные строки матрицы HM . В остальных случаях первые M компонент строк совпадают, тогда как остальные противоположны, что снова обеспечивает ортогональность.

Применение алгоритма Сильвестра начинается с матри-

цы

=,

которая является простейшей матрицей Адамара. Следующий шаг состоит в построении матрицы H4 , в которой для краткости обозначим символами «+» и «–» значения элементов «+1» и «–1». Затем от H4 перейдем к H8 и т.д.:

 

 

 

 

 

 

+

+

+

+

 

 

=

 

 

=

+

+

,

 

 

 

+

+

 

 

 

+

+

+

+

+

+

 

 

 

+

+

+

+

 

 

 

+

+

+

+

 

 

 

+

+

+

+

=

 

=

+

+

+

+

+

+

+

+

.

 

 

 

+

+

+

+

 

 

 

+

+

+

+

 

 

 

+

206

+

+

+

 

 

 

 

 

 

 

Таким образом, согласно данному алгоритму может быть построена любая матрица Адамара размерности M = 2m (2, 4, 8, 16, 32, …). Строки матрицы Адамара, построенной подобным образом, известны как функции Уолша.

На рис. 7.11 представлены низкочастотные ортогональные бинарные фазоманипулированные сигналы ( ) – функции Уолша, построенные на основе матрицы Адамара H8 .

Рис. 7.11. Функции Уолша наоснове Н8 .

Рис. 7.12 иллюстрирует тот факт, что в рамках данного метода построения ортогональных сигналов, не происходит деления общего ресурса: все сигналы располагаются в нем, полностью перекрываясь как во временной, так и в частотной области. Действительно, полоса, занимаемая каждым сигналом, может быть оценена как W =1/∆, тогда как длительность составляет величину T = M ∆ , откуда WT = M = Wt Tt . Ортогональность же в данном методе достигается не путем деления временного интервала или полосы, а за счет соответствующего выбора закона модуляции сигнала.

207

Рис. 7.12. Распределение ресурса при ортогонализации

Анализируя достоинства ортогональности за счет распределения спектра, можно отметить, что методы формирования и обработки сигналов ( ) хорошо сопрягаются с современными средствами цифровой микроэлектроники. Еще одной особенностью служит автоматическое приобретение тех преимуществ технологии распределенного спектра, которые незаметны в рамках классической структуры приема, но многочисленны и очень ценны на практике. Это объясняет значительное распространение ортогональной сигнализации данного типа в современных телекоммуникационных систе-

мах (cdmaOne, UMTS, cdma2000).

7.15. Циклические коды

Циклические коды (ЦК) являются частным случаем систематических, линейных (n,k)-кодов, удовлетворяющих дополнительному структурному требованию. В силу этого требования поиск хороших помехоустойчивых кодов оказался наиболее продуктивным. При этом в качестве математического аппарата используется теория полей Галуа. Вне класса циклических кодов теория полей Галуа не столь эффективна.

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

208

лей приводят к процедурам кодирования и декодирования, эффективным как с алгоритмической, так и вычислительной точек зрения.

Название ЦК получили из-за своего основного свойства: циклическая перестановка символов разрешённой кодовой комбинации даёт также разрешённую кодовую комбинацию. При циклической перестановке символы кодового слова перемещаются слева направо на одну позицию, причем крайний справа символ переносится на место крайнего левого.

7.15.1. Полиномиальное представление линейных кодов. Арифметика полиномов

При рассмотрении линейных кодов, как правило, используется его описание в виде k –мерного подпространства векторов U u0,u1, ,un 1 ,ui GF(q), длины n. Однако, возможно и альтернативное представление кодов в виде полиномов. Формально каждому вектору длины n может быть сопоставлен кодовый полином (многочлен) от z степени не выше n 1 вида

n 1

u(z) un 1zn 1 un 1zn 1 u1z u0 uizi ,

i 0

в котором коэффициенты ui полинома отождествляются с компонентами кодового вектора (для q–ичного кода – с элементами поля GF(q)), тогда как формальная переменная z (а точнее ее степень) служит лишь для указания позиции того или иного кодового символа. Так, например, полином

u(z) z7

z5 z2 1, ui GF(2), соответствует двоичному

кодовому вектору U , у которого на 0, 2, 5 и 7-й позициях стоят единицы, а на остальных – нули: U (10100101). (При полиномиальном представлении кодов удобнее производить нумерацию элементов слова с нуля, а не с единицы.)

Пример. Если A1 - 101100, то разрешённой кодовой ком-

209

бинацией будет и А2 - 010110, полученная циклической перестановкой. Отметим, что перестановка производится вместе с проверочными символами, и по правилам линейных кодов сумма по mod 2 двух разрешённых кодовых комбинаций даёт также очередную разрешённую кодовую комбинацию. Тогда A1 в виде полинома можно представить следующим образом

A1(X) = 1·X5 + 0·X4 + 1·X3 + 1·X2 + 0·X1 + 0·Х0 = X5 + X3 + X2.

Действия с кодовыми векторами, представленными в виде полиномов, производятся по правилам арифметики по mod 2, в которой вычитание равносильно сложению. Так, из равенства Хn - 1 = 0 получаем Хn =1. Прибавив к левой и правой частям по единице, имеем Хn + 1 = 1 1= 0. Таким образом, вместо двучлена Хn - 1 можно ввести бином Хn +1 или 1 + Хn, из чего следует, что Хk Хk = Хk (1 1) = 0 и при последующих операциях с полиномами необходимо вычёркивать пары фиктивных переменных X с одинаковыми степенями.

Приведём далее порядок суммирования (вычитания), умножения и деления полиномов с учётом того, что операция суммирования осуществляется по mod 2. В примерах используем вышеприведённые кодовые комбинации

A1(X) = X5 + X3 + X2 и А2(Х) = X4 + Х2+ X.

Суммирование (вычитание):

А1 + А2 = А1 - А2 = X5 + X4 + X3 + Х2+ Х2+ X = X5 4 + + Х3+ X

или

A1 101100

А2 010110

---------

111010 = Х54+ Х3+ X.

Умножение:

А1 х А2 = (Х5+ Х3+ X2)х (X4 + Х2+ Х) = Х9 + Х7 + Х6 + X7 + X5 + Х4 + Х6 + Х4 + Х3 = Х9 + Х5 + Х3 = 1000101000.

210