BCH Decoder

Декодируйте код BCH, чтобы восстановить бинарные векторные данные

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

Описание

Блок BCH Decoder восстанавливает вектор двоичного сообщения с бинарного вектора кодовой комбинации BCH. Для соответствующего декодирования Codeword length, N и значения параметров Message length, K в этом блоке должны совпадать с параметрами в соответствующем блоке BCH Encoder. Значения во всю длину N и K должны произвести допустимый узкий смысл код BCH.

Если энкодер обрабатывает несколько кодовых комбинаций на систему координат, то тот же шаблон прокола содержит для всех кодовых комбинаций. Длины сигнала ввода и вывода перечислены в Длине сигнала Ввода и вывода в Блоках BCH.

Смотрите Советы для получения информации о допустимых значениях N, допустимых (N,K) пары и возможности с коррекцией ошибок данного кода BCH.

При декодировании сбоев фрагмент сообщения входа декодера возвращен неизменный как декодер выход.

Шаги расчета всех сигналов ввода и вывода равны.

Этот значок показывает дополнительные порты.

Порты

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

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

Закодированное сообщение, заданное как вектор столбца двоичных данных. Закодированное сообщение является кодом BCH с длиной сообщения K и длина кодовой комбинации (N – количество проколов).

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean

Вектор стирания, заданный как вектор столбца двоичных данных, который является той же длиной как In. Значения стирания 1 соответствуют стертым битам в том же положении в кодовой комбинации. Значения 0 соответствуют вдребезги, которые не стираются.

Зависимости

Чтобы включить этот порт, выберите Enable erasures input port.

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

Вывод

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

Декодируемое сообщение, возвращенное как входной сигнал вектора столбца двоичных данных с целочисленным кратным элементы Message length, K или элементы Shortened message length, S, если код сокращен. Каждая группа входных элементов представляет одну кодовую комбинацию, чтобы декодировать. Длины сигнала ввода и вывода перечислены в таблице Input and Output Signal Length in BCH Blocks.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean

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

Зависимости

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

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean

Для получения дополнительной информации смотрите Поддерживаемые Типы данных.

Параметры

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

Длина кодовой комбинации, заданная как целое число формы N = 2M–1, где M является целым числом от 3 до 16. Для получения дополнительной информации смотрите Советы.

Передайте длину, заданную как целое число. ЗатемK) пара должна произвести узкий смысл код BCH.

Сокращенная длина сообщения, заданная как целое число. Когда вы задаете этот параметр, обеспечьте N во всю длину и значения K, чтобы задать (N, K) код, который сокращен к (N –K+S, S) код.

Зависимости

Чтобы включить этот параметр, выберите Specify shortened message length.

Полином генератора, заданный как одно из следующего:

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

  • Вектор строки двоичных знаков, который представляет коэффициенты полинома генератора в порядке убывающей степени.

  • Двоичный вектор-строка Галуа, который представляет коэффициенты полинома генератора в порядке убывающей степени.

Пример: 'X^10 + X^8 + X^5 + X^4 + X^2 + X + 1', который эквивалентен bchgenpoly(15,5)

Зависимости

Чтобы включить этот параметр, выберите Specify generator polynomial.

Примитивный полином в порядке убывающей степени. Это - полином порядка M, который задает конечный GF Поля Галуа (2), заданный как одно из следующего:

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

  • Вектор строки двоичных знаков, который представляет коэффициенты полинома генератора в порядке убывающей степени.

Пример: 'X^4 + X + 1', который является примитивным полиномом, используемым в (15,5) код, de2bi(primpoly(4,'nodisplay'),'left-msb')

Зависимости

Чтобы включить этот параметр, выберите Specify primitive polynomial.

Выберите этот параметр, чтобы отключить проверку полинома генератора.

Каждый раз, когда модель инициализирует, блок выполняет полиномиальную проверку. Эта проверка проверяет, что X N + 1 является делимым заданным полиномом генератора, где N представляет полную длину кодовой комбинации. Для больших кодов, отключая проверку ускоряет процесс симуляции.

Совет

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

Зависимости

Чтобы включить этот параметр, выберите Specify generator polynomial.

Вектор прокола, заданный как вектор столбца двоичных данных длины NK. Индексы элемента с 1s представляют индексы символа данных, которые проходят через неизменный блок. Индексы элемента с 0s представляют индексы символа данных, которые проколоты или удалили от потока данных. Для получения дополнительной информации смотрите Прокалывание и Стирания.

Зависимости

Чтобы включить этот параметр, выберите Puncture code.

Установка этого флажка включает порт стираний, Era.

Через порт можно ввести вектор столбца двоичных данных, который является 1/M временами пока вход кодовой комбинации.

Значения стирания 1 соответствуйте стертым символам в том же положении в побитно упакованной кодовой комбинации. Значения 0 соответствуйте нестертым символам. Для получения дополнительной информации смотрите Прокалывание и Стирания.

Установка этого флажка включает дополнительный выходной порт, Err, который указывает на количество ошибок блок, откорректированный во входной кодовой комбинации.

Характеристики блока

Типы данных

Boolean | double | integer | single

Многомерные сигналы

no

Сигналы переменного размера

no

Больше о

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

Советы

  • Сгенерировать список допустимых (NK) пары наряду с соответствующими значениями возможности исправления ошибок, запустите bchnumerrN).

  • Допустимые значения для N = 2M–1, где M является целым числом от 3 до 16. Максимальное допустимое значение N 65,535.

Алгоритмы

Этот блок реализует алгоритм, входные параметры и выходные параметры, описанные в Алгоритмах для BCH и RS Декодирование Только для ошибок.

Ссылки

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

[2] Berlekamp, Элвин Р. Алгебраическая теория кодирования. Нью-Йорк: McGraw-Hill, 1968.

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

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

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

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

Блоки

Объекты

Функции

Представлено до R2006a