Читать в оригинале

<< Предыдущая Оглавление Следующая >>


14.6.4. Использование кодов с постоянным весом и каскадных кодов для канала с замираниями

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

Условие, что принимаемые кодовые слова имеют одинаковые средние ОСШ, имеет важное значение при реализации приёмника. Если принимаемые кодовые слова не имеют одинаковое среднее ОСШ, приёмник должен обеспечить определенную выравнивающую компенсацию для каждого принимаемого кодового слова так, чтобы сделать его с равной энергией. В общем, определение соответствующих выравнивающих слагаемых трудно для реализации, поскольку это требует оценивание средней мощности принимаемого сигнала. Следовательно, условие равной энергии принимаемых кодовых слов значительно упрощает обработку сигналов в приёмнике.

Рис. 14.6.5. Характеристики двоичного свёрточного кода со скоростью  с кодовым ограничением  и декодированием мягких решений

Имеется альтернативный метод для генерирования сигналов кодовых слов с равной энергией, когда код имеет постоянный вес, т.е. когда каждое кодовое слово имеет одинаковое число единиц. Заметим, что такой код нелинеен. Тем не менее, предположим, что мы выделяем одну частоту или ячейку для каждого кодового символа  кодовых слов. Таким образом,  двоичный блоковый код имеет  выделяемых частот. Сигналы конструируются путем передачи частот на тех позициях кодового слова, где имеется символ 1; на других позициях сигнального интервала частота не передаётся. Такая техника модуляции для передачи кодовых слов называется амплитудной манипуляцией (ООК - on-off keying). Поскольку код имеет постоянный вес , каждое кодовое слово состоит из  передаваемых частот, которые определяются позициями единиц в кодовом слове.

Как и при ЧМ считается, что все частоты в ООК системе, которые передаются по каналу, замирают независимо по полосе частот и во времени от одного кодового слова к другому. Огибающая принимаемого сигнала для каждой частоты описывается статистически распределением Релея. Считается, что в каждой частотной ячейке присутствует статистически независимый аддитивный белый гауссовский шум.

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

,                        (14.6.15)

где  соответствует квадрату огибающей фильтра для -й частоты, где

.

Можно ожидать, что условие постоянства веса кода серьезно ограничит выбор кода. Однако это не так. Чтобы это проиллюстрировать, мы сжато опишем некоторые методы для конструирования кодов с постоянным весом. Это обсуждение не является исчерпывающим.

Метод 1: Нелинейные преобразования линейного кода. В общем, если при образовании каждого кодового нового слова произвольного двоичного кода мы используем одну двоичную последовательность при каждом появлении 0 и другую последовательность для каждой 1, то можно получить двоичный блоковый код с постоянным весом, если две используемые последовательности имеют равный вес и равную длину. Если длина используемой последовательности  и её исходный код , тогда результирующий код с постоянным весом будет кодом . Вес кодового слова будет в  раз больше веса использованных последовательностей, а минимальное расстояние будет равно минимальному расстоянию исходного кода, умноженному на расстояние между двумя используемыми последовательностями. Таким образом, использование дополнительных последовательностей, когда  четно, даёт код с минимальным расстоянием  и весом .

Простейшая форма этого метода это случай, когда  и, когда каждый 0 заменяется на пару 01 и каждая 1 заменяется последовательности 10 (или наоборот). В качестве примера возьмём в качестве исходного кода расширенный код Голея (24, 12). Параметры исходного и результирующего кодов с постоянным весом даны в табл. 14.6.1.

Таблица 14.6.1. Пример кода с постоянным весом, формируемого методом 1

Параметры кода

Исходный код Голея

Код с постоянным весом

24

48

12

12

4096

4096

00

16

переменный

34

Метод 2: Вычёркивание. В этом методе мы начинаем с произвольного двоичного блокового кода и выбираем из него подмножество, состоящее из всех слов определённого веса. Несколько различных кодов с постоянным весом можно получить из одного исходного кода, меняя выбор веса . Поскольку кодовые слова результирующего кода с вычёркиванием можно рассматривать как подмножество всех перестановок любого кодового слова множества, Гаардер (1971) использовал для этого кода термин двоичная перестановочная модуляция с вычёркиванием (binary expurgated permutation modulation - BEXPERM). Действительно, двоичные блоковые коды с постоянным весом, сконструированные другими методами, также можно рассматривать как BEXPERM коды. Этот метод генерирования кодов с постоянным весом по существу противоположен первому методу, в котором длина слова  держится постоянной, а объем (размер) кода  меняется. Ясно, что минимальное расстояние для подмножества с постоянным весом не меньше, чем в исходном коде.

В качестве примера мы рассмотрим код Голея (24, 12) и образуем два различных кода с постоянным весом, показанные в табл. 14.6.2.

Таблица 14.6.2. Примеры кодов с постоянным весом, формируемых вычёркиванием

Параметры кодов

Исходный код Голея

Код с пост, весом № 1

Код с пост, весом № 2

24

24

24

12

9

12

4096

759

2576

8

переменный

8

12

Метод 3: Матрица Адамара. Может казаться, что этот метод формирует двоичный блоковый код с постоянным весом непосредственно, но фактически он является частным случаем метода вычеркивания. В этом методе формируется матрица Адамара, как описано в разделе 8.1.2 и создаётся код с постоянным весом путем выбора столбцов (кодовых слов) из этой матрицы. Напомним, что матрица Адамара это  матрица ( четное целое) из 1 и 0 со свойством, что один столбец отличается от любого другого столбца точно в  позициях. Один столбец матрицы нормально выбирается из одних нулей.

В любом из других столбцов половина элементов 0 и другая половина 1. Код Адамара с кодовыми словами размера  получается путем выбора этих  столбцов и их дополнений. Выбирая  из этих кодовых слов, мы получаем код Адамара, который мы обозначим , в котором каждое кодовое слово содержит  информационных символов. Результирующий код имеет постоянный вес  и минимальное расстояние .

Поскольку  частотных ячеек используются для передачи  информационных символов, показатель расширения полосы для кода Адамара  определяется так:

 ячеек на информационный бит,

что равно величине, обратной скорости кода. Среднее отношение сигнал-шум (ОСШ) на бит, обозначаемое , связано со средним ОСШ на ячейку  соотношением

                  (14.6.16)

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

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

                                    (14.6.17)

Таким образом, ОСШ на бит связано с ОСШ на ячейку отношением 

                (14.6.18)

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

             (14.6.19)

где  - вероятность ошибки для двух ортогональных сигналов, каждый с разнесением порядка , определяемая (14.6.12) с . Вероятность ошибки на бит получается умножением  на , как объяснено раньше.

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

                   (14.6.20)

Таким образом, «эффективный порядок разнесения» кода OOK модуляции равен . Вероятность ошибки на бит можно выразить как  или она неплотно ограничена сверху путем умножения  на множитель , который является множителем, использованным выше для ортогональных кодов. Последний был выбран для расчетов вероятности ошибки, данных ниже.

Рис. 14.6.6 и 14.6.7 иллюстрируют соответственно вероятность ошибки выбранного числа кодов Адамара и ортогональных блоковых кодов, соответственно для нескольких показателей расширения полосы частот. Выгода, полученная от увеличения объема  алфавита (или , так как ) и увеличения показателя расширения полосы частот очевидно из рассмотрения этих кривых. Заметим для примера, что двукратное повторение кода  приводит к коду, обозначенному  и имеющему показатель расширения полосы частот . Рис. 14.6.8 показывает качество двух типов кодов, сравниваемых при равенстве показателя расширения полосы частот.

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

Метод 4: Каскадирование. В этом методе мы начнем с двух кодов: один двоичный и другой недвоичный. Двоичный код – внутренний блоковый код  с постоянным весом (нелинейный). Недвоичный код, который может быть линейным, является внешним. Чтобы отличать его от внутреннего кода, мы используем большие буквы, например  код, где  и  измеряются числом символов -ичного алфавита. Объем  алфавита, через который определяется внешний код, не может быть больше, чем число слов внутреннего кода. Внешний код, если он определяется через кодовые слова двоичного внутреннего кода -ичными символами, это новый код.

Важный частный случай получается, когда  и объем внутреннего кода выбирается равным . Тогда число слов  и каскадная структура образует  код. Показатель расширения полосы частот этого каскадного кода определяется произведением показателей расширения полосы частот внутреннего и внешнего кодов.

Рис. 14.6.6. Характеристики кода Адамара

Рис. 14.6.7. Характеристики блоковых ортогональных кодов

Теперь мы покажем выгоду в качестве, получаемую в канале с релеевскими замираниями посредством каскадного кода. В частности мы сконструируем каскадный код, в котором внешний код является -дуальным (недвоичным) свёрточным кодом, а внутренний код является или кодом Адамара, или блоковым ортогональным кодом. То есть мы рассматриваем -дуальный код с -ичными  ортогональными сигналами для модуляции, как каскадный код. Во всех случаях при расчетах мы предполагаем декодирование по Витерби мягких решений.

Рис. 14.6.8. Сравнение характеристик кодов Адамара и блоковых ортогональных кодов

Вероятность ошибки для k-дуального свёрточного кода получена при дифференцировании передаточной функции кода, определенной (8.2.39). Для -дуального кода без повторений со скоростью 1/2 вероятность ошибки на бит (для случая, когда кодовый выходной k-битовый символ k-дуального кода отображается в один из  ортогональных кодовых слов) ограничена сверху

                            (14.6.21)

где  дано (14.6.12).

Для примера, 2-дуальный код со скоростью 1/2 может использовать 4-позиционный ортогональный код  в качестве внутреннего. Показатель расширения полосы частот для результирующего каскадного кода равен, конечно, произведению показателей расширения полосы частот внутреннего и внешнего кодов.

Так, в этом примере скорость внешнего и внутреннего кодов равна 1/2. Следовательно,  .

Заметим, что если каждый символ -дуального кода повторить  раз, то это эквивалентно использованию ортогонального кода с разнесением .Если мы выберем  в выше приведённом примере, результирующий ортогональный код обозначается  и показатель расширения полосы частот для 2-дуального кода со скоростью 1/2 равно . Следовательно, слагаемые  в (14.6.21) следует заменить на , если ортогональный код имеет l-кратное разнесение. Поскольку код Адамара имеет «эффективное разнесение» , то следует, что при использовании кода Адамара в качестве внутреннего кода с -дуальным кодом в качестве внешнего, еще справедлива верхняя граница для вероятности ошибки на бит результирующего каскадного кода, определенного (14.6.21), если  заменить на . С этими изменениями была рассчитана верхняя граница вероятности ошибки на бит, определяемая (14.6.21), для -дуального свёрточного кода со скоростью l/2 с кодом Адамара или блокового ортогонального кода, как внутреннего. Результирующий каскадный код имеет показатель расширения полосы в два раза больший, чем показатель расширения полосы внутреннего кода.

Сначала рассмотрим выигрышные качества, обусловленные каскадным объединением кодов. Рис. 14.6.9 иллюстрирует качество k-дуального кода с ортогональным блоковым кодом в качестве внутреннего по сравнению с качеством ортогонального блокового кода для показателя расширения полосы частот . Выигрыш качества, обусловленный каскадированием, очень впечатляет. Например, при вероятности ошибки  и  -дуальный код превосходит ортогональный блоковый код на 7,5 дБ. Этот выигрыш можно приписать увеличению разнесения (увеличению минимального расстояния), получаемому посредством каскадирования. Аналогично рис. 14.6.10 иллюстрирует качество двух k-дуальных кодов с кодом Адамара в качестве внутреннего кода для  и 12.

Рис. 14.6.9. Сравнение характеристик блоковых ортогональных кодов и каскадных кодов, содержащих -дуальный код

Рис. 14.6.10. Сравнение характеристик кодов Адамара и каскадных кодов, содержащих k-дуальный код

Видно, что выигрыш качества, обусловленный каскадированием, остаётся значительным, но, конечно, не таким впечатляющим, как тот, который иллюстрируется на рис. 14.6.9. Объяснение в том, что сам код Адамара обеспечивает большое разнесение, так что рост разнесения, достигаемый каскадированием, не приводит к большому выигрышу качества для области ошибок, иллюстрируемых на рис. 14.6.10.

Далее мы сравним качество для двух типов внутреннего кода, используемых с k-дуальным внешним кодом. Рис. 14.6.11 показывает сравнение для .

Заметим, что внутренний код  имеет  и, следовательно, он имеет эффективный порядок разнесения, равный 2. Но это двухкратное разнесение достигается передачей четырех частот на кодовое слово. другими словами, ортогональный код  также даёт двухкратное разнесение, но это достигается передачей только двух частот на кодовое слово. Следовательно, код  на 3 дБ лучше, чем  код. Эта разница в качестве имеет место, когда два кода используются как внутренние коды в соединении с 2-дуальным кодом. С другой стороны, для  можно использовать код  как внутренний для 5-дуального кода и его качество значительно лучше, чем для 2-дуального кода при малых вероятностях ошибки. Это улучшение качества достигается ценой увеличения сложности декодирования. Аналогично на рис. 14.6.12 мы сравниваем качество дуального кода с двумя типами внутренних кодов для 16.

Рис. 14.6.11. Характеристика -дуального кода с внутренним кодом Адамара или блоковым ортогональным кодом;

Заметим, что внутренний код  имеет  и, следовательно, он даёт эффективное разнесение 6. Это разнесение достигается передачей 12 частот на кодовое слово. Ортогональный внутренний код  даёт только разнесение третьего порядка, которое достигается передачей трех частот на кодовое слово. Следовательно, внутренний код  более эффективен при низких ОСШ, т.е. для области вероятности ошибки, показанных на рис. 14.6.12. При больших ОСШ, 3-дуальный код с кодом Адамара  в качестве внутреннего превосходит его другое объединение с кодом  как внутреннего, что обусловлено большим разнесением, даваемом кодом Адамара. Для того же показателя расширения полосы частот =16 можно использовать 6-дуальный код с кодом  в качестве внутреннего для достижения улучшения по сравнению с 3-дуальным кодом с внутренним кодом . Снова, это улучшение качества (которое в этом случае не такое впечатляющее, как те, которые показаны на рис. 14.6.11) должно быть взвешено против увеличения сложности декодирования, свойственные 6-дуальному коду.

Численные результаты, данные выше, иллюстрирует выигрыш качества при использовании кодов с хорошими дистанционными свойствами и декодировании мягких решений в канале с релеевскими замираниями как альтернатива обычным (традиционным) -ичным ортогональным сигналам с разнесением. Дополнительно результаты иллюстрируют выгоду каскадирования кодов в таком канале при использовании -дуального свёрточного кода как внешнего кода и кода Адамара или блокового ортогонального кода как внутреннего кода. Хотя -дуальные коды были использованы как внешние коды, аналогичные результаты получены, когда код Рида-Соломона используется как внешний код. Здесь имеется даже больший выбор для внутреннего кода.

Важным параметром при выборе как внешнего, так и внутреннего кода является минимальное расстояние результирующего каскадного кода, требуемое для достижения заданного уровня качества. Поскольку много кодов удовлетворяет требуемому качеству, окончательный выбор делается с учётом сложности декодирования и требований к полосе частот.

Рис. 14.6.12. Характеристика -дуального кода с внутренним кодом Адамара или блоковым ортогональным кодом;

 



<< Предыдущая Оглавление Следующая >>