exponenta event banner

Кодер BCH

Создание кода BCH из двоичных векторных данных

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

  • BCH Encoder block

Описание

Блок кодера ВСН создает код ВСН с длиной К сообщения и длиной кодового слова (N - количество проколов).

Если кодер обрабатывает множество кодовых слов в кадре, то один и тот же шаблон прокола сохраняется для всех кодовых слов. Длины входных и выходных сигналов перечислены в разделе Длина входных и выходных сигналов в блоках BCH.

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

Порты

Вход

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

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

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

Продукция

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

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

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

Примечание

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

Зависимости

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

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

Типы данных

Boolean | double | integer | single

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

no

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

no

Подробнее

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

Совет

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

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

Алгоритмы

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

Ссылки

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

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

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

.

См. также

Блоки

Объекты

Функции

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