- •Общие сведения
- •1.1 Принципы моделирования в Simulink
- •1.2. Запуск Simulink
- •1.3. Обозреватель (браузер) разделов библиотеки Simulink
- •1.4. Открытие окна для новой модели
- •1.4. Перемещение блоков в окно новой модели
- •1.5. Соединение блоков
- •1.6. Установка параметров блоков
- •1.7 Запуск на моделирование
- •2. Использование библиотеки Communications Blockset для моделирования каналов связи с помехами
- •2.1 Модель двоичного канала связи с ошибками
- •2.2 Уменьшение числа ошибок с использованием кода Хемминга
- •2.3 Кодирование и декодирование с использованием сверточных кодов
- •Контрольные вопросы и задачи
2.2 Уменьшение числа ошибок с использованием кода Хемминга
Использование помехоустойчивого кодирования данных позволяет значительно уменьшить число ошибок на выходе системы связи путем их исправления в декодере. Простейшим корректирующим кодом, исправляющим одиночные ошибки, является (7,4) – блочный код Хемминга. Используя элементы библиотеки Communications Blockset, Вы можете построить модель двоичной системы связи с исправлением ошибок. Модель получается добавлением в схему Рис. 2.3 блоков кодирования и декодирования данных.
Рис. 2.4 Модель системы передачи данных с корректирующим кодированием
В этой схеме:
Кодирование производится с помощью блока Hamming Encoder ( библиотека Error Detection and Correction, раздел Block).
Декодирование выполняется блоком Hamming Decoder (библиотека Error Detection and Correction, раздел Block). По умолчанию используется (7,4)-код Хемминга. Процедура кодирования и декодирования с использованием блочных кодов предполагает блочную структуру данных, поэтому соединительные линии между блоками модели Рис. 2.4 выполняются не однопроводными линиями, как на Рис. 2.3, а шинами. Программа делает это автоматически, распознавая свойства подключаемых блоков.
Установите параметры модели:
В диалоговом окне блока Bernoulli Binary Generator установите Frame-based outputs и параметр размера блока -- Samples per frame > 4. В результате, двоичные данные будут формироваться в блоки по 4 символа, и далее, в (7,4) – кодере, превращаться в блоки по 7 символов.
Запустите модель, нажав на кнопку ►.
Зафиксируйте результаты.
Измените вероятность ошибки в канале связи - Error probability (Pош) и повторите моделирование.
Проведите исследование зависимости вероятности ошибки на выходе системы связи (не исправленной в процессе декодирования - Рни) от вероятности ошибки в канале связи - Рош (Error probability) для следующего ряда значений Рош - 0.2, 0.1, 0.05, 0.03, 0.02, 0.01, 0.005, 0.003, 0.002, 0.001. Чтобы получить устойчивый результат при малых величинах Рош увеличьте время моделирования с установленных по умолчанию 10 секунд до 100 или 200 секунд. В противном случае Вы можете не получить ни одной пропущенной декодером ошибки. Постройте график зависимости Рни (Рош), полученной в эксперименте.
Постройте теоретический график зависимости Рни (Рош) для (7,4)-кода Хемминга, исправляющего одиночную ошибку (поверх графика, полученного в эксперименте). Сравните предсказываемый терией результат Рни (Рош), с результатом, полученным экспериментально.
Дополните схему Рис. 2.4. элементами, позволяющими отобразить на экране осциллографа ошибки, возникающие в канале связи и неисправленные в процессе декодирования ошибки - Рис. 2.5. Поскольку данные формируются и передаются по каналу связи блоками (векторами), то перед отображением на экране осциллографа их нужно представить в виде обычных временных последовательностей. Делается это с помощью блоков Unbuffer. Сравнение переданной информационной последовательности с декодированной, для определения неисправленных при декодировании ошибок, производится с помощью блока Relation Operator.
Сохраните изображения с экрана виртуального осциллографа – Scope при различных значениях вероятности ошибок в канале связи - Рош (Error probability).
Рис. 2.5 Модель системы связи с отображением ошибок
Сформулируйте выводы по результатам проведенного исследования исправляющей способности (7,4) – кода Хемминга, и ее зависимости от числа ошибок в канале связи.
