exponenta event banner

Декодер BCH

Декодирование кода BCH для восстановления двоичных векторных данных

  • Библиотека:
  • Панель инструментов связи/Обнаружение и исправление ошибок/Блок

  • BCH Decoder block

Описание

Блок декодера ВСН восстанавливает вектор двоичного сообщения из вектора двоичного кодового слова ВСН. Для правильного декодирования значения длины кодового слова, N и длины сообщения, K параметров в этом блоке должны соответствовать параметрам в соответствующем блоке кодера BCH. Значения полной длины 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

Продукция

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

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

Типы данных: 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. Дополнительные сведения см. в разделе Советы.

Длина сообщения, заданная как целое число. (N, K) пара должна создать код BCH с узким смыслом.

Укороченная длина сообщения, заданная как целое число. При указании этого параметра укажите значения N и K полной длины, чтобы указать код (N, K), сокращенный до кода (N-K + S, S).

Зависимости

Чтобы включить этот параметр, выберите Указать укороченную длину сообщения.

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

  • Вектор многочлена - дополнительные сведения см. в разделе Символьное представление многочленов.

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

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

Пример: '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')

Зависимости

Чтобы включить этот параметр, выберите Задать примитивный полином.

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

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

Совет

Перед отключением этой функции всегда выполняйте проверку по крайней мере один раз.

Зависимости

Чтобы включить этот параметр, выберите Задать полином генератора (Specify generator polynomial).

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

Зависимости

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

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

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

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

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

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

Типы данных

Boolean | double | integer | single

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

no

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

no

Подробнее

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

Совет

  • Формирование списка действительных (N,K) пары вместе с соответствующими значениями возможности исправления ошибок, выполнить bchnumerr(N).

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

Алгоритмы

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

Ссылки

[1] Уикер, Стивен Б. Системы управления ошибками для цифровой связи и хранения. Река Верхнее Седло, Нью-Джерси: Прентис Холл, 1995.

[2] Берлекамп, Элвин Р. Алгебраическая теория кодирования. Нью-Йорк: Макгроу-Хилл, 1968.

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

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

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.

См. также

Блоки

Объекты

Функции

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