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

Кодирование информации в радиоэлектронных системах передачи информации

..pdf
Скачиваний:
6
Добавлен:
05.02.2023
Размер:
11.23 Mб
Скачать

201

Рис.3.95. Модель кодирующего устройства

Параметр Trellis structure в блоке Convolutional Encoder говорит о том, какой блок,

кодирует, когда поступают данные. В этом вариант, функция poly2trellis, в Communications Toolbox, преобразовывает длину кодового ограничения и пару восьмеричных чисел в решетчатую диаграмму. В то время как данные о сообщении, входящие в блок Convolutional Encoder, являются скалярным потоком битов, закодированные данные являются потоком бинарных векторов длиной 2.

Карта приобретенных данных. Приобретенные данные, другими словами, выход блока

Convolutional Encoder, состоят из комплексных чисел, которые находятся в спектре меж -1 и 1. Чтоб вернуть оригинальное двоичное сообщение, приемная часть модели обязана декодировать сверточный код. Блок Viterbi Decoder в данной модели ждет, что ее входные данные будут целые числа меж 0 и 7. Демодулятор, рядовая подсистема в данной модели,

преобразовывает приобретенные данные в формат, который блок Viterbi Decoder может интерпретировать подабающим образом. Наиболее точно, подсистема демодулятора:

Конвертирует приобретенные данные в настоящий сигнал, удаляя его мнимую часть.

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

Квантует нормализованные данные, используя три бита. Композиция данной карты и решения карты блока Viterbi Decoder на сто процентов изменяет модуляцию BPSK, чтоб блок BPSK Modulator Baseband выступил на передающей стороне данной модели.

Декодирование сверточного кода. После получения данных подабающим образом нанесенных на карту векторов длиной 23-битовых значений решения, блок Viterbi Decoder

202

декодирует его. Блок употребляет метод мягенького декодирования с 23 разными входами поэтому, что параметр Decision type - есть Soft Decision и параметр Number of soft decision bits равен 3. Интерпретация данных мягенького решения. Когда характеристики Decision type

установлен в состояние Soft Decision, блок Viterbi Decoder просит входных значений меж 0 и

2b-1, где b – есть параметр Number of soft decision bits. Блок интерпретирует 0 как самое достоверное решение того, что бит кодового слова, является 0 и интерпретирует 2b-1 как самое достоверное решение того, что бит кодового слова, является 1. Значения меж этими крайностями представляют наименее достоверные решения.

Рис. 3.96. Схема декодера Витерби в MATLAB

 

Вер-ть ошибки 0,02

Вер-ть ошибки 0,03

 

 

 

Код

скорость роста ошибок:

скорость роста ошибок:

(5, [35 31])

0.5435

0.5435

 

общее количество ошибок:

общее количество ошибок:

 

100

100

 

общее количество ошибок

общее количество ошибок

 

сравнений: 184

сравнений: 184

 

 

 

Код

скорость роста ошибок:

скорость роста ошибок:

([5 4],[23 35 0; 0 5

0,001779

0,01489

13])

общее количество ошибок:

общее количество ошибок:

 

100

100

 

общее количество ошибок

общее количество ошибок

 

сравнений: 5.62e+0.04

сравнений: 6714

 

 

 

203

Блоки программы декодера Витерби, реализованного в Matlab [21]

В блоке формирования узлов сетки выполняются следующие функции:

1. Формируется матрица фрагмента решетчатой диаграммы размера n*m, в которой количество столбцов соответствует числу состояний кодера (узлов), а количество строк равно числу путей, подходящих к каждому узлу. Каждому элементу матрицы соответствуют ответвляемые слова при переходах между состояниями. Переходы между состояниями повторяются на протяжении всей решетки.

2.Формируется матрица переходов между состояниями.

3.Каждому переходу к конкретному узлу соответствует определенный входной бит

(единица, либо нуль). Формируем матрицу размера (n*m) состоящую только из нулей и единиц .

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

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

Рис. 3.97. Фрагмент решетчатой диаграммы декодера Блок удаления путей:

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

«тупиковые» пути.

2. Для удаления «тупиковых» путей, поочередно перебирая возможные m состояний в данный момент времени ищем отсутствие какого-либо элемента матрицы переходов

204

состояний, если элемент отсутствует, то пути в предыдущих фрагментах решетки (матрицы)

удаляются.

Рис. 3.98. Декодирование по выделенному пути

Блок декодирования:

Последовательно проверяем количество ненулевых переходов в n строках. Если такой переход единственный, то находим позицию этого элемента, и определяем какой бит был подан на вход кодера

Вопрос 1. Исследование методов построения кодеров непрерывных

кодов.

В рабочем поле необходимо собрать схему для работы сверточного кода (5, [35 31]).

Схема представлена на рисунке 3.99

Рис. 3.99. Линия передачи с применением декодера Витерби.

Всостав линии с кодированием входят:

1.BernoulliBinaryGenerator

2.Convolutional Encoder

3.Binary Symmetric Channel (каналпередачи)

4.Viterbi Decoder

5.Error RateCalculation (анализаторошибок)

6.Display

205

Устанавливаем характеристики блоков для кода (5, [35 31])

Рис. 3.102. Параметры Bernoulli Binary Generator

Рис. 3.103. Convolutional Encoder

206

Рис. 3.104. Binary Symmetric Channel

Рис. 3.100 Viterbi Decoder

207

Рис. 3.101. Параметры Error Rate Calculation

Рис. 3.102. Комбинация на входе, Закодированная последовательность, Комбинация на выходе, Ошибки (вероятность ошибок равна 0,02)

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

208

ошибок, то их частота равна 0,1799, число ошибок равно 100, общее количество символов по сравнению равно 556.

Рис. 3.103. Комбинация на входе, Закодированная последовательность, Комбинация на выходе, Ошибки (вероятность ошибок равна 0,08)

Рис. 3.104. Комбинация на входе, Закодированная последовательность, Комбинация на выходе, Ошибки (вероятность ошибок равна 0,12)

Рис. 3.105. Комбинация на входе, Закодированная последовательность, Комбинация на выходе, Ошибки (вероятность ошибок равна 0,14)

209

Рис. 3.106. График зависимости общего количества ошибок сравнений от вероятности ошибки для кода (5, [35 31])

Устанавливаем характеристики блоков для кода ([5 4],[27 33 0; 0 5 13])

Рис. 3.107. Комбинация на входе, Закодированная последовательность, Комбинация на выходе, Ошибки (вероятность ошибок равна 0,02)

Рис. 3.108. Комбинация на входе, Закодированная последовательность, Комбинация на выходе, Ошибки (вероятность ошибок равна 0,025)

210

Рис. 3.109. Комбинация на входе, Закодированная последовательность, Комбинация на выходе, Ошибки (вероятность ошибок равна 0,03)

Рис. 3.110. Комбинация на входе, Закодированная последовательность, Комбинация на выходе, Ошибки (вероятность ошибок равна 0,035)

Рис. 3.111. График зависимости числа ошибок от вероятности ошибки для ([5 4], [27 33 0; 0 5 13])

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]