Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Сети радиодоступа. Ч.1. Учебное пособие
.pdf
111
После обработки всех строк проверочной матрицы проводится
процедура, необходимость которой не вытекает из математической
сущности алгоритма, а обусловлена ограничениями на технические
возможности вычислительных устройств. Речь идет о так называемой
процедуре нормировки надежностей. Дело в том, что после обработки всех
строк проверочной матрицы значения надежностей заметно увеличиваются.
Таким образом, после нескольких итераций эти значения могут выйти за
рамки допустимых для данного вычислительного устройства. Для того
чтобы избежать этого нежелательного эффекта, значения всех
надежностей с помощью соответствующего сдвига помещаются в
некоторый заданный диапазон.
Оценка сложности алгоритма декодирования. В качестве оценки
вычислительной сложности алгоритма будет рассматриваться количество
элементарных арифметических операций в алгоритме декодирования. Под
элементарными операциями будем понимать сложение, вычитание и
сравнение целых положительных чисел, а также сложение по модулю 2
двоичных чисел и операцию сдвига целых чисел на определенное число
разрядов. Сложность алгоритма определяется как суммарное количество
указанных выше операций.
Для первоначального вычисления синдрома требуется не более JN
сложений по модулю 2.
Для выполнения шага 1 при обработке одной строки требуется не более
двух (К - 2) сравнений.
Для выполнения шага 2 при обработке одной строки требуются К + 2
операции сложения или вычитания, а также не более J сложений по модулю 2 в
случае корректировки синдрома.
Для проведения процедуры нормировки надежностей достаточно N
операций сравнения и N + J операций сдвига.
Обозначим через L(N) вычислительную сложность одной итерации для
последовательного вычислительного устройства (без предварительного
вычисления синдрома). Легко видеть, что
( ) ( )
( )
2 2 2 2 .L N K K J N J − + + + + +
Учитывая, что r = NJ/K и J/K ≈ 1 - R , получаем
( ) ( )
4.L N N J R −

112
Пусть Q – количество итераций алгоритма, a L(Q,N) – вычислительная
сложность всего алгоритма при Q итерациях для последовательного
вычислительного устройства. Тогда
( ) ( ) ( )
Q, Q 4 Q 4 1 Q .L N N J R NJ NJ R − + = − −
Обозначим через L(Q) вычислительную сложность всего алгоритма на
один кодовый символ при Q итерациях для последовательного
вычислительного устройства. Тогда
( ) ( )
Q Q 4 1 Q .L J R − −
Данная оценка вычислительной сложности алгоритма получена для
последовательного вычислительного устройства, в котором в каждый
момент времени выполняется одна элементарная операция. Далее будет
оцениваться вычислительная сложность алгоритма в предположении, что
имеется «параллельное» вычислительное устройство, в котором в каждый
момент времени может выполняться одновременно любое количество
элементарных операций. Обозначим через L * (N), L * (Q,N) и L * (Q)
вычислительную сложность одной итерации, сложность всего алгоритма при Q
итерациях и сложность на один кодовый символ при Q итерациях
соответственно для параллельного вычислительного устройства.
Легко видеть, что для параллельного вычислительного устройства
сложность предварительного вычисления синдрома приблизительно равна
J·log2 N, а сложность процедуры нормировки – log2 N.
Поскольку в любой полосе проверочной матрицы каждый столбец
содержит ровно одну единицу, все строки в одной полосе могут
обрабатываться одновременно. Следовательно, параллельная сложность
обработки одной полосы не превышает 3K + J - 2.
Таким образом,
( ) ( )
( ) ( )
( ) ( ) ( )
( )
2
22
2
3 2 log ,
Q, log Q 3 2 Q log ,
Q Q log Q 3 2 .
L N J K J N
L N J N J K J N
L J N J K J N
+ − +
+ + − +
+ + + −
В качестве примера рассмотрим низкоплотностный код длиной N = 4112,
R = 0,75, J = 4, К = 16. Пусть при декодировании этого кода используется 10

113
итераций. Тогда с помощью приведенных формул находим, что в случае
последовательного вычислительного устройства на один символ приходится
126 элементарных операций, в то время как для параллельного устройства – не
более 0,6 операции на один символ.
Хотя определенное выше параллельное вычислительное устройство
является практически нереализуемым, поскольку требуется одновременное
выполнение неограниченного числа элементарных операций, тем не менее,
результат, полученный для этого устройства, имеет определенный
практический смысл. Дело в том, что требуемая параллельность
вычислений при реализации алгоритма декодирования ограничивается
количеством строк в одной полосе проверочной матрицы, равным Р (в
рассмотренном выше примере Р = 257). Таким образом, для достижения
результата параллельного устройства технически реализуемое устройство
должно выполнять одновременную обработку Р строк в одной полосе
проверочной матрицы.
Оценим теперь объем оперативной памяти, требуемый для реализации
алгоритма декодирования. Для хранения векторов жестких решений,
надежностей и синдрома требуется N, 2N и (1 - R)N байт соответственно (при
этом не используется упаковка компонент жестких решений и синдрома).
Основной объем оперативной памяти уходит на хранение двух матриц,
содержащих позиции единиц в строках и столбцах проверочной матрицы
соответственно, на что требуется 4NJ байт. Таким образом, общий объем
составляет N(4(J + 1) - R) байт. Отсюда для рассмотренного выше кода
получаем около 80 кбайт.
В таблицах 4.16 ÷ 4.18 и на рисунках 4.20 ÷ 4.22 представлены
зависимости вероятности битовой ошибки P
b
от отношения сигнал/шум на бит
Eb/N0, дБ, для низкоплотностного кода LDPC в гауссовом канале с двоичной
фазовой модуляцией BPSK при различных кодовых параметрах (n, k, t),
скорости кода Rc = k/n.
Таблица 4.16 – Параметры низкоплотностного кода (8384, 7863, 521), Rc =
0,9379
Eb/N0, дБ
4,8
4,9
5,0
5,1
5,2
BER без
FEC
7·10
-3
6,5·10-3
6,0·10
-3
5,48·10-3
5,04·10
-3
BER с
FEC
2,9·10
-3
1,2·10
-3
3,49·10
-4
1,01·10
-4
1,5·10
-5

114
Продолжение таблицы 1.16
Eb/N0, дБ
5,3
5,4
5,5
5,6
BER без
FEC
4,62·10
-3
4,23·10
-3
3,86·10
-3
3,52·10
-3
BER с FEC
1,76·10
-6
2,07·10
-7
2,44·10
-8
2,87·10
-9
Таблица 4.17 – Параметры низкоплотностного кода (8224, 7199, 1025), Rc
= 0,8754
Eb/N0, дБ
3,6
3,7
3,8
3,9
4,0
4,1
BER без
FEC
1,6·10
-2
1,5·10
-2
1,4·10
-2
1,3·10
-2
1,25·10
-2
1,2·10
-2
BER с
FEC
2,41·10
-2
2,04·10
-2
1,5·10
-2
8,84·10
-3
4,65·10
-3
1,8·10
-3
Продолжение таблицы 1.17
Eb/N0, дБ
4,2
4,3
4,4
4,5
4,6
4,7
BER без
FEC
1,1·10
-2
1,0·10
-2
9,46·10
-3
8,8·10
-3
8,16·10
-3
7,56·10
-3
BER с
FEC
4,43·10
-4
5,03·10
-5
6,31·10
-6
4,57·10
-7
3,3·10
-8
2,4·10
-9
10
-2
10
-3
10
-4
10
-5
10
-6
10
-7
10
-8
4.8 4.9 5.0 5.1 5.2 5.3 5.4 5.5 5.6
10
-9
P
b
Eb/N0,
дБ
1
2
Рисунок 4.20 – Вероятность битовой ошибки Pb при BPSK без FEC (кривая 1) и
с FEC (8384, 7863, 521), Rc = 0,9379 (кривая 2)

115
Таблица 4.18 – Параметры низкоплотностного кода (8336, 6255, 2081),
Rc = 0,7504
Eb/N0, дБ
2,8
2,9
3,0
3,1
3,2
3,3
BER без
FEC
2,5·10
-2
2,4·10
-2
2,3·10
-2
2,2·10
-2
2,0·10
-2
1,9·10
-2
BER с
FEC
4,52·10
-2
3,83·10
-2
2,88·10
-2
1,51·10
-2
6,19·10
-3
1,65·10
-3
Продолжение таблицы 1.18
Eb/N0, дБ
3,4
3,5
3,6
3,7
3,8
3,9
BER без
FEC
1,8·10
-2
1,7·10
-2
1,6·10
-2
1,5·10
-2
1,4·10
-2
1,3·10
-2
BER с
FEC
2,5·10
-4
1,83·10
-5
9,65·10
-7
5,08·10
-8
2,67·10-9
1,4·10
-10
10
-1
10
-2
10
-3
10
-4
10
-5
10
-6
10
-7
3.6 3.7 3.8 3.9 4.0 4.1 4.2 4.3
10
-8
P
b
Eb/N0, дБ
4.4 4.5 4.6 4.7
10
-9
Рисунок 4.21 – Вероятность битовой ошибки Pb при BPSK без FEC
(кривая 1) и с FEC (8224, 7199, 1025), Rc = 0,8754 (кривая 2)

116
10
-1
10
-2
10
-3
10
-4
10
-5
10
-6
10
-7
2.8 2.9 3.0 3.1 3.2 3.3 3.4 3.5
10
-8
P
b
Eb/N0, дБ
3.6 3.7 3.8 3.9
10
-9
10
-10
Рисунок 4.22 – Вероятность битовой ошибки Pb при BPSK без FEC
(кривая 1) и с FEC (8336, 6255, 2081), Rc = 0,7504 (кривая 2)
Из таблицы 4.16 и рисунка 4.20 следует, что для низкоплотностного кода
при кодовых параметрах (8384, 7863, 521) Rc = 0,9378 выигрыш по вероятности
ошибки BER при Eb/N0 = 5,6 дБ составляет шесть порядков, т.е. уменьшается с
3×10
-3
до 3×10-9. Для получения вероятности ошибки BER = 2,87×10-9 при BPSK
без кодирования необходимо обеспечить Eb/N0 = 12,3 дБ, а при использовании
низкоплотностного кода LDPC такая вероятность ошибки обеспечивается при
Eb/N0 = 5,6 дБ, т.е. энергетический выигрыш кода ЭВК = 6,7 дБ при скорости
кода Rc = 0,9378.
Из таблицы 4.17 и рисунка 4.21 следует, что для низкоплотностного кода
при кодовых параметрах (8224, 7199, 1025), Rc = 0,8754 выигрыш по
вероятности ошибки BER при Eb/N0 = 4,7 дБ составляет шесть с половиной
порядков, т.е. уменьшается с 7,56×10
-3
до 2,4×10
-9
. Для получения вероятности

117
ошибки BER = 2,4×10-9 при BPSK без кодирования необходимо обеспечить
Eb/N0 = 12,35 дБ, а при использовании низкоплотностного кода LDPC такая
вероятность ошибки обеспечивается при Eb/N0 = 4,7 дБ, т.е. энергетический
выигрыш кода ЭВК = 7,65 дБ при скорости кода Rc = 0,8754.
Из таблицы 4.18 и рисунка 4.22 следует, что для низкоплотностного кода
при кодовых параметрах (8336, 6255, 2081), Rc = 0,7504 выигрыш по
вероятности ошибки BER при Eb/N0 = 3,9 дБ составляет восемь порядков, т.е.
уменьшается с 1,3×10
-2
до 1,4×10
-10
. Для получения вероятности ошибки BER =
1,4×10
-10
при BPSK без кодирования необходимо обеспечить Eb/N0 = 13,0 дБ, а
при использовании низкоплотностного кода LDPC такая вероятность ошибки
обеспечивается при Eb/N0 = 3,9 дБ, т.е. энергетический выигрыш кода ЭВК = 9,1
дБ при скорости кода Rc = 0,7504.
Из сравнения трёх реализаций низкоплотностного кода LDPC со
скоростями Rc = 0,9378; 0,8754; 0,7504 и с практически одинаковыми кодовыми
длинами n = 8384; 8224; 8336 следует, что с уменьшением кодовой скорости
(т.е. при увеличении количества избыточных бит) увеличивается выигрыш как
по вероятности ошибки – шесть порядков; шесть с половиной порядков; восемь
порядков, так и по величине ЭВК = 6,7 дБ; 7,65 дБ; 9,1 дБ.
Из всех вариантов схем избыточного кодирования наиболее
перспективными с точки зрения практического использования, максимального
приближения к пропускной способности Шеннона в различных каналах и
простоты реализации оказались три варианта:
1) каскадные коды с внутренним свёрточным кодом с декодированием
по алгоритму Витерби и внешним кодом Рида-Соломона;
2) свёрточные и блочные турбокоды;
3) низкоплотностные коды.
Так, например, в стандарте IEEE 802.16е предусмотрены три варианта
кодирования:
1) низкоплотностные коды со скоростями Rc = 1/2, 2/3, 3/4 и 5/6 и 19
кодовых длин n = от 576 до 2304;
2) свёрточныё турбокодеры со скоростями Rc = 2/3, 3/4;
3) свёрточный код с декодером по алгоритму Витерби со скоростью Rc
= 1/2 и длиной кодового ограничения K = 7.
На рисунке 4.23 приведена зависимость вероятности битовой ошибки Pb
от отношения сигнал/шум на бит Eb/N0, дБ для различных кодов.

118
10
0
10
-1
10
-2
10
-3
10
-4
10
-5
10
-6
P
b
Eb/N0, дБ
0 0,5 1,0 1,5 2,0 2,5 3,0 3,5 4,0 4,5 5,0
1
2
3
4
5
6
7
Рисунок 4.23 – Помехоустойчивость декодеров различных кодов для
стандарта IEEE 802.16е, длина пакета n = 2304, 50 итераций
Кривые на рисунке 1.23 соответствуют использованию следующих схем
кодирования:
• кривая 1 – LDPC, скорость кода Rc = 1/2;
• кривая 2 – LDPC, скорость кода Rc = 2/3;
• кривая 3 – турбокод, скорость кода Rc = 2/3;
• кривая 4 – LDPC, скорость кода Rc = 3/4;
• кривая 5 – турбокод, скорость кода Rc = 3/4;
• кривая 6 – LDPC, скорость кода Rc = 5/6;
• кривая 7 – свёрточный код, скорость кода Rc = 1/2; К = 7.
Из рисунка 4.23 следует, что характеристики низкоплотностного кода
оказываются лучшими из всех схем кодирования при сравнимых скоростях
кодирования.
Контрольные вопросы
1. Поясните принцип работы кодов для обнаружения ошибок.
2. В чём заключается принцип маскирования ошибок.

119
3. Принцип работы кода обнаружения ошибок CRC.
4. Принцип работы кодов с исправлением ошибок.
5. Что такое кодовое расстояние для корректирующих кодов.
6. Как связаны между собой кодовое расстояние и исправляющая
способность кода.
7. Характеристики блочного кода Хэмминга.
8. Поясните работу кодера кода Хэмминга.
9. Формирование синдрома ошибок в коде Хэмминга.
10. Поясните работу корректирующей логики в декодере кода
Хэмминга.
11. Принцип формирования кодов БЧХ.
12. Код Рида-Соломона и его исправляющая способность.
13. Что такое энергетический выигрыш кода.
14. Характеристики свёрточного кода.
15. Что такое длина кодового ограничения в свёрточных кодах.
16. Построение каскадных кодов.
17. Принцип работы турбокодов.
18. Принцип работы низкоплотностных LDPC кодов.

120
5 Скремблирование и перемежение бит цифровых потоков
В системах радиосвязи цифровой сигнал перед подачей его на
модулятор подвергают обработке в кодере канала, который является общим как
для сигнала канала трафика, поступающего от кодера речи, так и для сигналов
логических каналов, поступающих из логического блока (рисунок 2.7). В самом
общем случае в кодере канала осуществляется перемежение входных символов,
скремблирование, шифрование и введение корректирующего кода (рисунок
4.1).
5.1 Перемежение бит
В предыдущих рассуждениях подразумевалось, что у канала
отсутствует память, поскольку использовались коды, которые должны
были противостоять случайным независимым ошибкам. Канал с памятью
— это такой канал, в котором проявляется взаимная зависимость ухудшений
передачи сигнала. Канал, в котором проявляется замирание вследствие
многолучевого распространения, когда сигнал поступает на приемник по
двум или более путям различной длины, есть пример канала с памятью.
Следствием является различная фаза сигналов в лучах, и в итоге суммарный
сигнал оказывается искаженным. Таким эффектом обладают каналы
беспроводной связи, так же как ионосферные и тропосферные каналы. В
некоторых каналах также имеются коммутационные и другие виды
импульсных помех. Все эти ухудшения вызывают ошибки, имеющие вид
пакетов, а не отдельных изолированных ошибок.
Если канал имеет память, то ошибки не являются независимыми,
одиночными и случайно распределенными. Большинство блочных и
сверточных кодов разрабатывается для борьбы с независимыми случайными
ошибками. Влияние канала с памятью на кодированный таким образом сигнал
приведет к ухудшению достоверности передачи. Существуют схемы
кодирования для каналов с памятью, но наибольшую проблему в этом
кодировании представляет расчет точных моделей сильно нестационарных
статистик таких каналов. Один подход, при котором требуется знать только
объем памяти канала, а не его точное статистическое описание, использует
временное разнесение или чередование битов.
Чередование битов кодированного сообщения перед передачей и
обратная операция после приема приводят к рассеиванию пакета ошибок во
времени: таким образом, что они становятся для декодера случайно
распределенными. Поскольку в реальной ситуации память канала уменьшается
с временным разделением, идея, лежащем в основе метода чередования битов,
заключается в разнесении символов кодовых слов во времени. Получаемые
промежутки времени точно так же заполняются символами других кодовых
слов. Разнесение символов во времени эффективно превращает канал с
памятью в канал без памяти и, следовательно, позволяет использовать коды с
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
