BCH Decoder

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

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

  • BCH Decoder block

Описание

Блок 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.

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

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

Зависимости

Чтобы включить этот параметр, выберите 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