exponenta event banner

Кодер RS с двоичным входом

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

  • Библиотека:
  • Панель инструментов связи/Обнаружение и исправление ошибок/Блок

  • Binary-Input RS Encoder block

Описание

Блок RS-кодера двоичного ввода создает код Рида-Соломона.

Символами для кода являются двоичные последовательности длиной М, соответствующие элементам поля Галуа 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.

Порты

Вход

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

Сообщение в битах, указанное как одно из следующих:

  • При отсутствии укорочения сообщения двоичный вектор столбца (NC × K × M) -by-1.

  • При укорочении сообщения двоичный вектор столбца (NC × S × M) -by-1.

NC - количество слов сообщения, K - длина сообщения K (символы), M - количество битов на символ, S - длина укороченного сообщения S (символы).

Примечание

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

Дополнительные сведения см. в разделе Длина входного и выходного сигнала в блоках RS.

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

Продукция

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

Кодовое слово Рида - Соломона в битах, возвращаемое как (NC × (N - K + S - P) × M) -by-1 двоичный вектор-столбец. NC - количество кодовых слов, N - длина кодового слова N (символы), K - длина сообщения K (символы), S - длина укороченного сообщения S (символы), P - количество проколов на кодовое слово, и M - количество битов на символ.

Дополнительные сведения см. в разделе Длина входного и выходного сигнала в блоках RS.

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

Дополнительные сведения см. в разделе Поддерживаемые типы данных.

Параметры

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

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

Дополнительные сведения см. в разделе Ограничения для M и длины N кодового слова и длины входного и выходного сигнала в блоках RS.

Длина слова сообщения в символах, заданная как целое число в диапазоне [1, N-2], где N - длина кодового слова.

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

Значения N и K по-прежнему задаются для полноразмерного (N, K) кода, но декодирование сокращается до кода (N-K + S, S).

Зависимости

Чтобы включить этот параметр, выберите Указать укороченную длину сообщения.

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

  • Вектор многочлена. Дополнительные сведения см. в разделе Символьное представление многочленов.

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

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

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

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

Зависимости

Чтобы включить этот параметр, выберите Задать полином генератора (Specify generator polynomial).

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

Дополнительные сведения см. в разделе Ограничения длины M и кодового слова N.

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

Зависимости

Чтобы включить этот параметр, выберите Задать примитивный полином.

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

Зависимости

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

Тип вывода блока, указанный как Same as input, boolean, или double.

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

Типы данных

Boolean | double | fixed point[a] | integer | single

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

no

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

no

[a] ufix (1).

Подробнее

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

Алгоритмы

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

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

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

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