BCH Encoder

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

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

  • BCH Encoder block

Описание

Блок 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. Для получения дополнительной информации смотрите Советы.

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

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

Зависимости

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

Порождающий полином в виде одного из следующего:

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

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

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

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

Зависимости

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

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

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

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

Пример: 'X^4 + X + 1', который является примитивным полиномом, используемым для (15,5) код, ppoly = primpoly(4,'nodisplay'); int2bit(ppoly,ceil(log2(max(ppoly))))'

Зависимости

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

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

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

Совет

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

Зависимости

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

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

Примечание

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

Зависимости

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

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

Типы данных

Boolean | double | integer | single

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

no

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

no

Больше о

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

Советы

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

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

Алгоритмы

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

Ссылки

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

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

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

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

Блоки

Объекты

Функции

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