Энкодер BCH

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

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

Описание

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

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

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

Порты

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

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

Обменивайтесь сообщениями, чтобы закодировать, заданный как входной сигнал вектора столбца двоичных данных с целочисленным кратным элементы Message length, K или элементы Shortened message length, 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) код.

Зависимости

Чтобы включить этот параметр, выберите 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. Индексы элемента с 1 s представляют индексы символа данных, которые проходят через неизменный блок. Индексы элемента с 0 s представляют индексы символа данных, которые проколоты или удалили от потока данных. Для получения дополнительной информации смотрите Сокращение, Прокалывание и Стирания.

Примечание

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

Зависимости

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

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

Типы данных

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

Для просмотра документации необходимо авторизоваться на сайте