Binary-Input RS Encoder

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

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

  • Binary-Input RS Encoder block

Описание

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

Символы для кода являются двоичными последовательностями длины M, соответствуя элементам Поля Галуа GF (2M). Первый бит в каждом символе является старшим значащим битом.

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

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

Порты

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

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

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

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

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

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

Примечание

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

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

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | ufix(1)

Вывод

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

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

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

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | ufix(1)

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

Параметры

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

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

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

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

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

Вы все еще задаете 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.

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

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

Пример: '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.

Выходной тип блока в виде Same as input, boolean, или double.

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

Типы данных

Boolean | double | фиксированная точка[a] | integer | single

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

no

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

no

[a] ufix (1) только.

Больше о

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

Алгоритмы

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

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

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

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

Блоки

Объекты

Функции

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