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× <reservedrangesplaceholder1> × <reservedrangesplaceholder0> )-by-1 двойной вектор - столбец.

  • Когда есть сокращение сообщения, (N C× <reservedrangesplaceholder1> × <reservedrangesplaceholder0> )-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 (N - K + S - P) × <reservedrangesplaceholder9>)-by-1 двойной вектор - столбец. <reservedrangesplaceholder8> 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, в порядке убывания степени, указывается как одно из следующего:

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

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

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

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

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

Зависимости

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

Вектор прокола, заданный как (N - K) -на-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++ с помощью Coder™ Simulink ®

.

См. также

Блоки

Объекты

Функции

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