exponenta event banner

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

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

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

  • Integer-Input RS Encoder block

Описание

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

Символами для кода являются целые числа между 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. Следующий рисунок иллюстрирует возможные входные и выходные сигналы для этого блока, когда длина N кодового слова установлена в 7, длина сообщения К установлена в 5и используются примитивные и генераторные полиномы по умолчанию.

Порты

Вход

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

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

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

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

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

Примечание

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

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

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

Продукция

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

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

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

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

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

Параметры

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

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

Дополнительные сведения см. в разделах Ограничения для 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), соответствующее целым числам, которые образуют слова сообщения и кодовые слова. Укажите примитивный многочлен как один из следующих:

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

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

Зависимости

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

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

Примечание

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

Зависимости

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

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

Типы данных

double | integer | single

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

no

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

no

Подробнее

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

Алгоритмы

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

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

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

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