RS Decoder

Декодируйте и восстановите сообщение с кодовой комбинации RS

  • Библиотека:
  • Wireless HDL Toolbox / Выявление ошибок и Коррекция

  • RS Decoder block

Описание

Блок RS Decoder декодирует и восстанавливает сообщение с кодовой комбинации Тростника-Solomon (RS). Блок принимает данные о кодовой комбинации и samplecontrol соедините шиной и выводит декодируемые данные о сообщении, samplecontrol соедините шиной, повреждаются ли принятые данные, блок готовый индикатор, и (опционально) количество откорректированных ошибок. Блок обеспечивает архитектуру, подходящую для генерации HDL-кода и аппаратного развертывания, и поддерживает сокращенные длины сообщения.

Поскольку, задержка блока варьируется, блок предоставляет выходному порту nextFrame, который указывает, когда блок готов принять новые входные данные о кодовой комбинации. Для получения дополнительной информации о задержке, смотрите раздел Algorithms.

Можно использовать этот блок, чтобы смоделировать много кодов прямого исправления ошибок (FEC) системы связи. Блок поддерживает цифровую линию подписчика (DSL), WiMAX (802,16 м и e), широковещательный карманный компьютер цифрового видео (DVB-H) терминалы, ретрансляционный спутник цифрового видео (DVB-S) сервисы и сервисы ретрансляционного спутника цифрового видео к карманному компьютеру (DVB-SH) устройства ниже 3 МГц.

Порты

Входной параметр

развернуть все

Введите данные о кодовой комбинации в виде скаляра, представляющего один символ.

Длина кодовой комбинации в символах, заданных параметром Codeword length (N), должна быть целым числом, равным 2M – 1, где M является целым числом в диапазоне от 3 до 16.

Размер слова входных данных должен быть беззнаковым целым, равным ceil(log2 (Codeword length (N))). Для длины кодовой комбинации 7, размер слова входных данных должен быть 3.

double и single типы данных позволены для симуляции, но не для генерации HDL-кода.

Типы данных: double | single | uint8 | uint16 | fixed point

Управляющие сигналы, сопровождающие демонстрационный поток в виде samplecontrol шина. Шина включает startконец, и valid управляющие сигналы, которые указывают на контуры системы координат и валидность выборок.

  • start — Указывает на запуск входного кадра

  • end — Указывает на конец входного кадра

  • valid — Указывает, что данные по порту входа data допустимы

Для большего количества детали смотрите Демонстрационную Шину управления.

Типы данных: bus

Вывод

развернуть все

Декодируемые данные о сообщении, возвращенные как скаляр. Эта ширина выходных данных совпадает с шириной входных данных.

Типы данных: double | single | uint8 | uint16 | fixed point

Управляющие сигналы, сопровождающие демонстрационный поток, возвращенный как samplecontrol шина. Шина включает startконец, и valid управляющие сигналы, которые указывают на контуры системы координат и валидность выборок.

  • start — Указывает на запуск выходной системы координат

  • end — Указывает на конец выходной системы координат

  • valid — Указывает, что данные по порту выхода data допустимы

Для большего количества детали смотрите Демонстрационную Шину управления.

Типы данных: bus

Индикация относительно повреждения принятых данных, возвращенных как скаляр.

Когда этим значением является 1 TRUE), выход содержит ошибки. Когда этим значением является 0 ложь), выход содержит нулевые ошибки.

Если количество ошибок во входной кодовой комбинации больше (Codeword length (N)Message length (K))/2, блок выходные данные, не корректируя ошибки и устанавливает порт err на 1 TRUE) указать, что ошибки, которые не могут быть откорректированы, существуют во входной кодовой комбинации.

Типы данных: Boolean

Блокируйте готовый индикатор, возвращенный как скаляр.

Блок устанавливает этот сигнал на 1 TRUE) когда блок готов принять запуск следующей системы координат. Если блок получает сигнал входа ctrl.start, в то время как nextFrame является 0 ложь), блок отбрасывает происходящую систему координат и начинает обрабатывать новые данные.

Типы данных: Boolean

Количество откорректированных ошибок, возвращенных как неотрицательный скаляр.

Максимальное количество ошибок, которые может откорректировать код RS, равно (Codeword length (N)Message length (K))/2. Если количество ошибок во входной кодовой комбинации больше (Codeword length (N)Message length (K))/2, блок выходные данные, не корректируя ошибки и устанавливает порт numErrors на 0 указать, что ни одна из тех ошибок не может быть откорректирована.

Зависимости

Чтобы включить этот порт, выберите параметр Output number of corrected symbol errors.

Типы данных: uint8

Параметры

развернуть все

Задайте длину кодовой комбинации.

Длина кодовой комбинации N должно быть целое число, равное 2M – 1, где M является целым числом в диапазоне от 3 до 16. Для получения дополнительной информации о представлении данных для кодов RS смотрите Целочисленный формат (Только Тростник-Solomon).

Задайте длину сообщения.

Для получения дополнительной информации о представлении данных для кодов RS смотрите Целочисленный формат (Только Тростник-Solomon).

Задайте источник примитивного полинома.

  • Выберите Auto задавать примитивный полином на основе значения параметров Codeword length (N). Степень примитивного полинома вычисляется как M = ceil(log2 (Codeword length (N))).

  • Выберите Property задавать примитивный полином с помощью параметра Primitive polynomial.

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

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

Зависимости

Чтобы включить этот параметр, установите параметр Source of primitive polynomial на Property.

Задайте источник стартовой степени для корней примитивного полинома.

  • Выберите Auto, использовать значение параметров B value по умолчанию, 1.

  • Выберите Property включить параметр B value.

Задайте стартовую степень для корней примитивного полинома.

Зависимости

Чтобы включить этот параметр, установите параметр Source of B, the starting power for roots of the primitive polynomial на Property.

Выберите этот параметр, чтобы включить выходной порт numErrors. Это выходы порта количество откорректированных ошибок.

Алгоритмы

развернуть все

Этот рисунок показывает различные этапы операций, выполняемых блоком RS Decoder. Блок вычисляет значения синдрома, определяет ошибочный полином местоположения, использующий алгоритм Berlekamp-Massey, находит ошибочные местоположения и величины с помощью поиска Цзяня [5] и Форни [6] алгоритмы, соответственно, и корректирует ошибки. Для получения информации об алгоритме Berlekamp-Massey см. Алгоритмы для BCH и RS Декодирование Только для ошибок.

Ссылки

[1] Ивовый прут, системы контроля ошибок Стивена Б. для цифровой связи и устройства хранения данных. Englewood Cliffs, NJ: Prentice Hall, 1995.

[2] Berlekamp, Теория кодирования Элвина Р. Алджебрэйка. Исправленное издание. Ряд McGraw-Hill в Системной Науке. Нью-Джерси: Научный Мир, 2015.

[3] Кларк, Джордж К. и J. Затвор Каин. Кодирование с коррекцией ошибок для цифровой связи. Приложения коммуникационной теории. Нью-Йорк: нажатие пленума, 1981.

[4] Луна, Тодд К. Глава 6, кодирование с коррекцией ошибок: математические методы и алгоритмы. Хобокен, Нью-Джерси: Wiley-межнаука, 2005.

[5] Цзянь, R. “Циклические Процедуры декодирования для Bose - Коды Chaudhuri-Hocquenghem”. Транзакции IEEE на Теории информации 10, № 4 (октябрь 1964): 357–63. https://doi.org/10.1109/TIT.1964.1053699.

[6] Форни, G. “При Декодировании Кодов BCH”. Транзакции IEEE на Теории информации 11, № 4 (октябрь 1965): 549–57. https://doi.org/10.1109/TIT.1965.1053825.

Расширенные возможности

Смотрите также

Блоки

Введенный в R2020a