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 установлено на 7Message length K установлено на 5, и используются примитив по умолчанию и полиномы генератора.

Порты

Вход

расширить все

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

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

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

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

Примечание

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

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

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

Выход

расширить все

Ключевое слово тростника-Solomon, возвращенное как (N (N - K + S - P)-by-1 целочисленный вектор - столбец. <reservedrangesplaceholder7> 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], в порядке убывания степени, указывается как одно из следующего:

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

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

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

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

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

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

Примечание

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

Зависимости

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

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

Типы данных

double | integer | single

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

no

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

no

Подробнее о

расширить все

Алгоритмы

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

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

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

.

См. также

Блоки

Объекты

Функции

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