Integer-Output RS Decoder

Декодируйте код Тростника-Solomon, чтобы восстановить целочисленные векторные данные

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

Описание

Блок Integer-Output RS Decoder восстанавливает вектор сообщения с вектора кодовой комбинации Тростника-Solomon. Для соответствующего декодирования значения параметров в этом блоке должны совпадать с теми в соответствующем блоке Integer-Input RS Encoder.

Код Тростника-Solomon имеет длину сообщения K и длина кодовой комбинации Nnumber of punctures. Вы задаете N и K непосредственно в диалоговом окне блока. Символы для кода являются целыми числами в области значений [0, 2M-1], которые представляют элементы конечного поля GF (2M). Ограничения на M и N описаны в Ограничениях на M и Длину кодовой комбинации N ниже.

Этот значок показывает дополнительные порты.

Ввод и вывод является сигналами с целочисленным знаком, которые представляют кодовые комбинации и сообщения, соответственно. Для получения дополнительной информации смотрите Длину сигнала Ввода и вывода в Блоках RS. Блок наследовал тип выходных данных от типа входных данных. Для получения информации о типах данных, которые поддерживает каждый порт блока смотрите Поддерживаемые Типы данных.

Для получения дополнительной информации о представлении данных для кодов Тростника-Solomon смотрите раздел Integer Format (Только Тростник-Solomon).

Если декодер обрабатывает несколько кодовых комбинаций на систему координат, то тот же шаблон прокола содержит для всех кодовых комбинаций.

Значением по умолчанию M является ceil(log2(N+1)), то есть, самое маленькое целое число, больше, чем или равный log2 (N+1). Можно изменить значение M от значения по умолчанию путем указывания, что примитивный полином для GF (2M), как описано в Задают Примитивный Полином ниже.

Можно также указать, что полином генератора для кода Тростника-Solomon, как описано в Задают Полином Генератора.

(N, K) код Тростника-Solomon может откорректировать до floor((N-K)/2) ошибки символа (не битовые ошибки) в каждой кодовой комбинации.

При декодировании сбоев фрагмент сообщения входа декодера возвращен неизменный как декодер выход.

Шаги расчета сигналов ввода и вывода равны.

Порты

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

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

Кодовая комбинация тростника-Solomon, заданная как (N (NK + SP)-by-1 целочисленный вектор-столбец. N C является количеством кодовых комбинаций, N является Codeword length N, K является Message length K, S является Shortened message length S, P является количеством проколов на кодовую комбинацию.

Для получения дополнительной информации смотрите Длину сигнала Ввода и вывода в Блоках RS.

Типы данных: single | double | integer

Вектор стирания, заданный как входной сигнал вектора столбца двоичных данных с тем же размером как кодовая комбинация входа Reed-Solomon.

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

Зависимости

Чтобы включить этот порт, выберите Enable erasures input port.

Типы данных: double | Boolean

Вывод

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

Декодируемое сообщение, возвращенное как одно из следующего:

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

  • Когда существует сокращение сообщения, (N S)-by-1 целочисленный вектор-столбец.

N C является количеством слов сообщения, K является Message length K (symbols), и S является Shortened message length S (symbols).

Примечание

Количество декодируемых слов сообщения равняется количеству кодовых комбинаций.

Для получения дополнительной информации смотрите Длину сигнала Ввода и вывода в Блоках RS.

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

Примечание

(N, K) код Тростника-Solomon может откорректировать до floor((N-K)/2) ошибки символа (не битовые ошибки) в каждой кодовой комбинации. Когда полученная кодовая комбинация содержит больше, чем (N-K)/2 ошибки символа, отказ декодирования происходит.

Зависимости

Чтобы включить этот порт, выберите Output number of corrected symbol errors.

Типы данных: double

Для получения дополнительной информации смотрите Поддерживаемые Типы данных.

Параметры

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

Длина кодовой комбинации, заданная как целое число.

Для получения дополнительной информации, seeRestrictions на M и Длине кодовой комбинации N и Длине сигнала Ввода и вывода в Блоках RS.

Передайте размер слова, заданный как целое число в области значений [1, N –2], где N является длиной кодовой комбинации.

Сокращенный размер слова сообщения, заданный как целое число, такое, что SK. Когда Shortened message length S <Message length K, код Тростника-Solomon сокращен.

Вы все еще задаете N и значения K для во всю длину (N, K) код, но декодирование сокращено к (N –K+S, S) код.

Зависимости

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

Полином генератора со значениями в области значений [0, 2M–1], в порядке убывающей степени, заданной как одно из следующего:

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

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

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

Каждый коэффициент является элементом Поля Галуа, заданного примитивным полиномом. Для получения дополнительной информации смотрите, Задают Полином Генератора.

Пример: [1 3 1 2 3], который эквивалентен rsgenpoly(7,3)

Зависимости

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

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

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

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

Для получения дополнительной информации смотрите, Задают Примитивный Полином.

Пример: 'X^3 + X + 1', который является примитивным полиномом, используемым в (7,3) код, de2bi(primpoly(3,'nodisplay'),'left-msb')

Зависимости

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

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

Примечание

Если энкодер обрабатывает несколько кодовых комбинаций на систему координат, то тот же шаблон прокола содержит для всех кодовых комбинаций.

Зависимости

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

Установка этого флажка включает порт стираний, Era. Для получения дополнительной информации смотрите Прокалывание и Стирания.

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

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

Типы данных

double | integer | single

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

no

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

no

Больше о

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

Алгоритмы

Этот блок использует Berlekamp-Massey декодирование алгоритма. Для получения информации об этом алгоритме см. Алгоритмы для BCH и RS Декодирование Только для ошибок.

Ссылки

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

[2] Berlekamp, Элвин Р., Алджебрэйк-Кодинг-Зэори, Нью-Йорк: McGraw-Hill, 1968.

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

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

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

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

Блоки

Объекты

Функции

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