RS Encoder

Закодируйте сообщение к кодовому слову RS

  • Библиотека:
  • Беспроводной HDL Toolbox/Обнаружение и коррекция ошибок

  • RS Encoder block

Описание

Блок RS Encoder кодирует данные сообщения к кодовому слову Рида-Соломона (RS). Блок принимает данные сообщения и samplecontrol шина и выходы данных кодового слова и samplecontrol шина.

Поскольку задержка блока изменяется, блок обеспечивает выходу порт nextFrame который указывает, когда блок готов принять новые данные входы сообщения. Блок обеспечивает архитектуру, подходящую для генерации HDL-кода и аппаратного развертывания, и поддерживает укороченные длины сообщений.

Можно использовать этот блок для моделирования многих кодов прямой коррекции ошибок системы связи (FEC). Блок поддерживает цифровую абонентскую линию (DSL), WiMAX (802,16 м и e), портативные терминалы цифрового видеовещания (DVB-H), услуги цифрового видеовещания (DVB-S) и услуги цифрового видеовещания спутниковых служб для портативных устройств (DVB-SH) ниже 3.

Порты

Вход

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

Входные данные сообщения, заданные как скаляр, представляющий один символ.

Вход размера слова должен быть беззнаковым целым числом, равным ceil(log2 (<reservedrangesplaceholder1>)). Для входных данных размера слова 3, параметр длины кодового слова, Codeword length (N), должен быть 7.

double и single типы данных разрешены для симуляции, но не для генерации HDL-кода.

Типы данных: double | single | uint8 | uint16 | fixed point

Сигналы управления, сопровождающие поток дискретизации, заданные как samplecontrol bus. Шина включает в себя start, end, и valid управляющие сигналы, которые указывают контуры системы координат и валидность выборок.

  • start - Указывает начало входного кадра

  • end - Указывает конец входного кадра

  • valid - Указывает, что данные входного data порта действительны

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

Типы данных: bus

Выход

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

Закодированные данные кодового слова, возвращенные как скаляр. Эта выходная ширина данных совпадает с шириной входных данных.

Типы данных: double | single | uint8 | uint16 | fixed point

Управляющие сигналы, сопровождающие поток дискретизации, возвращаются как samplecontrol bus. Шина включает в себя start, end, и valid управляющие сигналы, которые указывают контуры системы координат и валидность выборок.

  • start - Указывает начало выходной системы координат

  • end - Указывает конец выходной системы координат

  • valid - Указывает, что данные выходного data порта действительны

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

Типы данных: bus

Индикатор готовности блока, возвращенный в виде скаляра.

Блок устанавливает этот сигнал на 1 (true), когда блок готов принять начало следующей системы координат. Если блок получает сигнал входа ctrl.start, пока nextFrame 0 (false), блок отбрасывает систему координат в прогресс и начинает обработку новых данных.

Типы данных: Boolean

Параметры

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

Задайте длину кодового слова.

Длина кодового слова должна быть целым числом, равным 2M - 1, где M является целым числом в области значений от 3 до 16. Для получения дополнительной информации о представлении данных для кодов RS, смотрите Целочисленный формат (только для Рида-Соломона).

Задайте длину сообщения.

Для получения дополнительной информации о представлении данных для кодов RS, смотрите Целочисленный формат (только для Рида-Соломона).

Задайте источник примитивного полинома.

  • Выберите Auto для задания примитивного полинома на основе Codeword length (N) значения параметров. Степень примитивного полинома вычисляется как M = ceil(log2 (<reservedrangesplaceholder0>) ).

  • Выберите Property задать примитивный полином используя параметр Primitive polynomial.

Задайте двоичный вектор-строку, представляющее примитивный полином в порядке убывания степеней.

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

Зависимости

Чтобы включить этот параметр, установите параметр Source of primitive polynomial равным Property.

Задайте источник стартовой степени для корней примитивного полинома.

  • Выберите Auto чтобы использовать значение параметров B value по умолчанию, 1.

  • Выберите Property для включения параметра B value.

Задайте стартовую степень для корней примитивного полинома.

Зависимости

Чтобы включить этот параметр, установите параметр Source of B, the starting power for roots of the primitive polynomial равным Property.

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

Задайте двоичный вектор-столбец длины Codeword length (N) - Message length (N). Значение 1 указывает, что символ блока данных не проколол и остался неизменным от потока данных. Значение 0 указывает, что символ данных проколол или удален из потока данных.

Зависимости

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

Алгоритмы

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

Блок RS Encoder кодирует данные сообщения длины K в кодовое слово RS длины N. Блок требует минимальной погрешности N - K тактовых импульсов, чтобы добавить N - K длину четности к данным сообщения длины K. Во время этих N - K тактовых циклов длины четности, блок не принимает новые данные. Итак, минимальная длительность между сообщениями должна быть N - K тактовых импульсов.

  • Каждый start сигнал, который является высоким, указывает на начало нового сообщения. Когда несколько start высокие сигналы существуют, блок принимает только последние start сигнал.

  • start и end высокие сигналы действительны только тогда, когда valid сигнал блока высок.

  • Блок принимает end сигналы с соответствующим start сигнал. В случае нескольких end высокие сигналы, блок принимает только первое end высокий сигнал и игнорирует оставшиеся end высокие сигналы.

Ссылки

[1] Wicker, Stephen B. Системы управления ошибками для цифровой связи и хранения данных. Englewood Cliffs, Нью-Джерси: Prentice Hall, 1995.

[2] Кларк, Джордж К. и Дж. Либб Каин. Кодирование с исправлением ошибок для цифровых коммуникаций. Приложения теории связи. Нью-Йорк: Пленум Пресс, 1981.

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

.
Введенный в R2020b