Закодируйте сообщение к кодовому слову RS
Беспроводной HDL Toolbox/Обнаружение и коррекция ошибок
Блок RS Encoder кодирует данные сообщения к кодовому слову Рида-Соломона (RS). Блок принимает данные сообщения и samplecontrol шина и выходы данных кодового слова и samplecontrol шина.
Поскольку задержка блока изменяется, блок обеспечивает выходу порт nextFrame который указывает, когда блок готов принять новые данные входы сообщения. Блок обеспечивает архитектуру, подходящую для генерации HDL-кода и аппаратного развертывания, и поддерживает укороченные длины сообщений.
Можно использовать этот блок для моделирования многих кодов прямой коррекции ошибок системы связи (FEC). Блок поддерживает цифровую абонентскую линию (DSL), WiMAX (802,16 м и e), портативные терминалы цифрового видеовещания (DVB-H), услуги цифрового видеовещания (DVB-S) и услуги цифрового видеовещания спутниковых служб для портативных устройств (DVB-SH) ниже 3.
data - Входные данные сообщенияВходные данные сообщения, заданные как скаляр, представляющий один символ.
Вход размера слова должен быть беззнаковым целым числом, равным ceil(log2 (<reservedrangesplaceholder1>)). Для входных данных размера слова 3, параметр длины кодового слова, Codeword length (N), должен быть 7.
double и single типы данных разрешены для симуляции, но не для генерации HDL-кода.
Типы данных: double | single | uint8 | uint16 | fixed point
ctrl - Сигналы управления, сопровождающие поток выборокsamplecontrol автобусСигналы управления, сопровождающие поток дискретизации, заданные как samplecontrol bus. Шина включает в себя start, end, и valid управляющие сигналы, которые указывают контуры системы координат и валидность выборок.
start - Указывает начало входного кадра
end - Указывает конец входного кадра
valid - Указывает, что данные входного data порта действительны
Для получения дополнительной информации см. Выборку шины управления.
Типы данных: bus
data - Закодированные данные кодового словаЗакодированные данные кодового слова, возвращенные как скаляр. Эта выходная ширина данных совпадает с шириной входных данных.
Типы данных: double | single | uint8 | uint16 | fixed point
ctrl - Сигналы управления, сопровождающие поток выборокsamplecontrol автобусУправляющие сигналы, сопровождающие поток дискретизации, возвращаются как samplecontrol bus. Шина включает в себя start, end, и valid управляющие сигналы, которые указывают контуры системы координат и валидность выборок.
start - Указывает начало выходной системы координат
end - Указывает конец выходной системы координат
valid - Указывает, что данные выходного data порта действительны
Для получения дополнительной информации см. Выборку шины управления.
Типы данных: bus
nextFrame - Индикатор готовности блокаИндикатор готовности блока, возвращенный в виде скаляра.
Блок устанавливает этот сигнал на 1 (true), когда блок готов принять начало следующей системы координат. Если блок получает сигнал входа ctrl.start, пока nextFrame 0 (false), блок отбрасывает систему координат в прогресс и начинает обработку новых данных.
Типы данных: Boolean
Codeword length (N) - Длина кодового слова7 (по умолчанию) | целое число в области значений от 7 до 65 535Задайте длину кодового слова.
Длина кодового слова должна быть целым числом, равным 2M - 1, где M является целым числом в области значений от 3 до 16. Для получения дополнительной информации о представлении данных для кодов RS, смотрите Целочисленный формат (только для Рида-Соломона).
Message length (K) - Длина сообщения3 (по умолчанию) | целое число в области значений от 3 до (Codeword length (N) - 2)Задайте длину сообщения.
Для получения дополнительной информации о представлении данных для кодов RS, смотрите Целочисленный формат (только для Рида-Соломона).
Source of primitive polynomial - Примитивный полиномиальный источникAuto (по умолчанию) | PropertyЗадайте источник примитивного полинома.
Выберите Auto для задания примитивного полинома на основе Codeword length (N) значения параметров. Степень примитивного полинома вычисляется как M = ceil(log2 (<reservedrangesplaceholder0>) ).
Выберите Property задать примитивный полином используя параметр Primitive polynomial.
Primitive polynomial - Примитивный полином[1 0 1 1] (по умолчанию) | двоичный вектор-строкаЗадайте двоичный вектор-строку, представляющее примитивный полином в порядке убывания степеней.
Для получения дополнительной информации о том, как задать примитивный полином, см. «Примитивные полиномы и представления элемента».
Чтобы включить этот параметр, установите параметр Source of primitive polynomial равным Property.
Source of B, the starting power for roots of the primitive polynomial - Источник стартовой степени для корней примитивного полиномаAuto (по умолчанию) | PropertyЗадайте источник стартовой степени для корней примитивного полинома.
Выберите Auto чтобы использовать значение параметров B value по умолчанию, 1.
Выберите Property для включения параметра B value.
B value - Стартовая степень для корней примитивного полинома1 (по умолчанию) | положительное целое числоЗадайте стартовую степень для корней примитивного полинома.
Чтобы включить этот параметр, установите параметр Source of B, the starting power for roots of the primitive polynomial равным Property.
Enable puncturing - Источник пунктирного шаблонаoff (по умолчанию) | onВыберите этот параметр, чтобы включить параметр Puncture pattern vector.
Puncture pattern vector - Вектор прокола[1; 1; 0; 0] (по умолчанию) | двоичный вектор-столбецЗадайте двоичный вектор-столбец длины 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 высокие сигналы.
Этот рисунок показывает пример выхода блока RS Encoder с задержкой в соответствии со стандартным строением DVB-S, Codeword length (N) и Message length (K) значениями параметров, заданными как 255 и 239, соответственно, и с отключенным прокалыванием. В этом случае задержка блока составляет 1 такт.

Эффективность синтезированного HDL-кода варьируется с вашей целью и опциями синтеза. Тип входных данных, используемых для генерации HDL-кода fixdt(0,8,0).
Эта таблица показывает результаты синтеза ресурсов и данных о эффективности при использовании блока с Codeword length (N) и Message length (K) значениями параметров, заданными как 255 и 239, соответственно. Сгенерированный HDL нацелен на Xilinx® Zynq®- 7000 ZC706 оценочного совета. Проект достигает тактовой частоты 440 МГц.
| Ресурс | Используемое число |
|---|---|
| LUTs | 237 |
| Регистры | 154 |
| DSPs | 0 |
| Блокируйте ОЗУ | 7.5 |
[1] Wicker, Stephen B. Системы управления ошибками для цифровой связи и хранения данных. Englewood Cliffs, Нью-Джерси: Prentice Hall, 1995.
[2] Кларк, Джордж К. и Дж. Либб Каин. Кодирование с исправлением ошибок для цифровых коммуникаций. Приложения теории связи. Нью-Йорк: Пленум Пресс, 1981.
Этот блок поддерживает генерацию кода C/C + + для Simulink® режимы Accelerator и Rapid Accelerator и для генерации компонентов DPI.
HDL Coder™ предоставляет дополнительные опции строения, которые влияют на реализацию HDL и синтезированную логику.
Этот блок имеет одну архитектуру HDL по умолчанию.
| ConstrainedOutputPipeline | Количество регистров для размещения на выходах путем перемещения существующих задержек в рамках вашего проекта. Распределённая конвейеризация не перераспределяет эти регистры. Значение по умолчанию является |
| InputPipeline | Количество входных этапов конвейера для вставки в сгенерированный код. Распределённая конвейеризация и ограниченная выходная конвейеризация могут перемещать эти регистры. Значение по умолчанию является |
| OutputPipeline | Количество выходных этапов конвейера для вставки в сгенерированный код. Распределённая конвейеризация и ограниченная выходная конвейеризация могут перемещать эти регистры. Значение по умолчанию является |
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
