CCSDS RS Decoder

Декодируйте и восстановите сообщение с кодовой комбинации RS согласно стандарту CCSDS

  • Библиотека:
  • Wireless HDL Toolbox / Выявление ошибок и Коррекция

  • CCSDS RS Decoder block

Описание

Блок CCSDS RS Decoder декодирует и восстанавливает сообщение с кодовой комбинации Тростника-Solomon (RS) по данным Консультативного Комитета по Системам передачи и обработки данных Пробела (CCSDS) стандарт [1]. Блок принимает данные о кодовой комбинации и samplecontrol соедините шиной и выводит декодируемые данные о сообщении, samplecontrol соедините шиной, сигналы средств управления, которые указывают, повреждаются ли декодируемые данные и готов ли блок принять данные и дополнительный сигнал обеспечить количество откорректированных ошибок. Блок обеспечивает архитектуру, подходящую для аппаратного развертывания и генерации HDL-кода.

Поскольку задержка блока варьируется, блок предоставляет выходному порту nextFrame, который указывает, когда блок готов принять новые входные данные о кодовой комбинации. Для получения дополнительной информации о задержке блока, смотрите раздел Algorithm.

Блок также поддерживает сокращенные длины сообщения. Можно использовать этот блок в приемнике CCSDS для спутниковой связи.

Порты

Входной параметр

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

Введите данные о кодовой комбинации в виде целого числа в диапазоне от 0 до 255. Это целое число представляет символ.

Блок принимает максимальное значение 255 x I и минимальное значение (255 – k + 1) x I для количества входных символов кодовой комбинации на систему координат. k является длиной сообщения, заданной параметром Message length (k). I является чередующейся глубиной, заданной параметром Interleaving depth (I). Количество входных символов кодовой комбинации должно быть интегральным кратным I.

Блок поддерживает компенсационные входные кадры для:

  • Коды во всю длину, когда вы устанавливаете Message length (k) на 223 и Interleaving depth (I) к 3, 4, 5, или 8

  • Коды во всю длину, когда вы устанавливаете Message length (k) на 239 и Interleaving depth (I) к 1, 2, 3, 4, 5, или 8

Блок не поддерживает компенсационные входные кадры для:

  • Сокращенные коды для любого Message length (k) и значений Interleaving depth (I)

  • Коды во всю длину, когда вы устанавливаете Message length (k) на 223 и Interleaving depth (I) к 1 или 2

double и single типы данных позволены для симуляции, но не для генерации HDL-кода. Для генерации HDL-кода задайте это значение в fixdt(0,8,0) или uint8 формат.

Типы данных: double | single | uint8 | fixdt(0,8,0)

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

  • start — Указывает на запуск входного кадра

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

  • valid — Указывает, что данные по порту входа data допустимы

Для большего количества детали смотрите Демонстрационную Шину управления.

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

Вывод

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

Декодируемые данные о сообщении, возвращенные как целое число в диапазоне от 0 до 255. Тип выходных данных совпадает с типом входных данных.

Блок выходные параметры N – (255 – k) x количество I декодируемых символов сообщения для количества N входных символов кодовой комбинации. k является длиной сообщения, заданной параметром Message length (k), и I является чередующейся глубиной, заданной параметром Interleaving depth (I).

Типы данных: double | single | uint8 | fixdt(0,8,0)

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

  • start — Указывает на запуск выходной системы координат

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

  • valid — Указывает, что данные по порту выхода data допустимы

Для большего количества детали смотрите Демонстрационную Шину управления.

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

Индикация относительно повреждения в выходных данных, возвращенных как булев скаляр.

Когда этим значением является 1, выход содержит ошибки. Когда этим значением является 0, выход содержит нулевые ошибки.

Если количество ошибок символа во входных данных о кодовой комбинации больше (255 - k) * I/2, блок выходные данные, не корректируя ошибки и устанавливает порт err на 1 указать, что ошибки, которые не могут быть откорректированы, существуют во входных данных о кодовой комбинации. k является длиной сообщения, заданной параметром Message length (k).

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

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

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

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

Количество откорректированных ошибок, возвращенных как неотрицательный скаляр.

Максимальное количество ошибок, которые может откорректировать блок, равно (255 – k) x I/2. Если количество ошибок во входных данных о кодовой комбинации больше (255 – k) x I/2, блок выходные данные, не корректируя ошибки и устанавливает порт numCorrErr на 0 указать, что ни одна из тех ошибок не может быть откорректирована.

Блок устанавливает порт numCorrErr на 0 когда портом err является 1.

Зависимости

Чтобы включить этот порт, выберите параметр Output number of corrected symbol errors.

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

Параметры

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

Выберите длину сообщения.

Выберите чередующуюся глубину.

Выберите этот параметр, чтобы включить выходной порт numCorrErr. Это выходы порта количество откорректированных ошибок.

Примеры модели

Алгоритмы

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

Эта блок-схема показывает общий обзор блока CCSDS RS Decoder и его операции, когда вы устанавливаете параметр Interleaving depth (I) на 4. Эта операция является параллельной реализацией и содержит логику, которая эквивалентна четырем независимым декодерам RS, потому что заданная глубина перемежения равняется 4.

Блок D2C преобразует вход двойные базисные символы кодовой комбинации в обычные базисные символы кодовой комбинации и отправляет их за декодированием. Одновременно, блок D2C отправляет обычные базисные символы кодовой комбинации в блок RAM. Блок RAM хранит эти символы для коррекции. Переключатель (S1) чередует обычные базисные символы и отправляет их в соответствующий RS, Декодирующий Логические блоки. Каждый RS, Декодирующий Логический блок, вычисляет значения синдрома, определяет ошибочный полином местоположения использование алгоритма Berlekamp-Massey и находит ошибочные местоположения и величины с помощью поиска Цзяня [4] и Форни [5] алгоритмы, соответственно. Для получения информации об алгоритме Berlekamp-Massey см. Алгоритмы для BCH и RS Декодирование Только для ошибок.

Ошибочные величины от этих, RS, Декодирующий Логические блоки, является XORed с их соответствующими входными символами кодовой комбинации, которые хранятся в блоке RAM при помощи переключателя (S2) и расчетных ошибочных местоположений, чтобы получить откорректированные символы сообщения. Блок C2D преобразует откорректированные обычные базисные символы назад в двойные базисные символы.

CCSDS RS Decoder block architecture diagram

Ссылки

[1] Синхронизация TM и кодирование канала. Рекомендация для стандартов системы передачи и обработки данных пробела. CCSDS 131.0-B-3. Синяя книга. Выпуск 3. Вашингтон, округ Колумбия: CCSDS, сентябрь 2017.

[2] Синхронизация TM и кодирование канала. Сводные данные концепции и объяснения CCSDS 130.1-G-3. Зеленая книга. Выпуск 3, июнь 2020.

[3] Стивен Б. Викер. Системы контроля ошибок для цифровой связи и устройства хранения данных. Prentice Hall 1995.

[4] Цзянь, R. “Циклические Процедуры декодирования для Bose - Коды Chaudhuri-Hocquenghem”. Транзакции IEEE на Теории информации 10, № 4 (октябрь 1964): 357–63. https://doi.org/10.1109/TIT.1964.1053699.

[5] Форни, G. “При Декодировании Кодов BCH”. Транзакции IEEE на Теории информации 11, № 4 (октябрь 1965): 549–57. https://doi.org/10.1109/TIT.1965.1053825.

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

Смотрите также

(Satellite Communications Toolbox) | (Satellite Communications Toolbox)

Введенный в R2021b