Integer-Input RS Encoder

Создайте код Рида-Соломона из целочисленных векторных данных

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

  • Integer-Input RS Encoder block

Описание

Блок Integer-Input RS Encoder создает код Рида-Соломона.

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

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

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

Предположим M = 3, N = 23- 1 = 7, и K = 5. Затем сообщение является вектором из длины 5, чьи записи являются целыми числами между 0 и 7. Соответствующая кодовая комбинация является вектором из длины 7, чьи записи являются целыми числами между 0 и 7. Следующая фигура иллюстрирует возможные сигналы ввода и вывода с этим блоком, когда Codeword length N установлен в 7, Message length K установлен в 5, и примитив по умолчанию и полиномы генератора используются.

Порты

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

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

Обменивайтесь сообщениями в виде одного из следующего:

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

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

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

Примечание

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

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

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

Вывод

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

Кодовая комбинация тростника-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 | int8 | int16 | int32 | uint8 | uint16 | uint32

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

Параметры

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

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

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

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

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

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

Зависимости

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

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

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

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

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

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

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

Зависимости

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

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

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

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

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

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

Зависимости

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

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

Примечание

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

Зависимости

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

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

Типы данных

double | integer | single

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

no

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

no

Больше о

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

Алгоритмы

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

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

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

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

Блоки

Объекты

Функции

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