ccsdsRSEncode

Совместимые с CCSDS энкодеры Рида-Соломона

    Описание

    code = ccsdsRSEncode(msg,k) кодирует сообщение в msg при помощи (255, k) энкодер Рида-Соломона (RS), как определено в Консультативном комитете по системам космических данных (CCSDS) 131.0-B-3 раздел 4 [1]. k - длина сообщения. code находится в двойном базисе, поскольку функция принимает, что вход к энкодеру RS CCSDS находится в двойном базисе. Для получения дополнительной информации о представлении двух базисов смотрите CCSDS 131.0-B-3 Раздел 4.4.2 [1].

    Описание создания кода RS CCSDS см. в разделе «Создание кода RS CCSDS».

    пример

    code = ccsdsRSEncode(msg,k,i) задает глубину перемежения, i. msg состоит из i Символы сообщения RS длины k.

    пример

    code = ccsdsRSEncode(msg,k,i,s) кодирует укороченное входное сообщение длины s с перемежением i.

    Примеры

    свернуть все

    Закодируйте сообщение с помощью энкодера Консультативного комитета по системам космических данных (CCSDS) Рида-Соломона (RS).

    Задайте длину сообщения, k, и глубина перемежения, i.

    k = 239;
    i = 3;

    Сгенерируйте вектор-столбец символов случайных сообщений. Длина сообщения является продуктом длины сообщения, k, и глубина перемежения, i.

    msg = randi([0 255],k*i,1);
    size(msg)
    ans = 1×2
    
       717     1
    
    

    Закодируйте сообщение с помощью CCSDS RS энкодера.

    code = ccsdsRSEncode(msg,k,i);

    Проверьте, что длина закодированного кодового слова в 255 раз превышает значение глубины перемежения.

    size(code)
    ans = 1×2
    
       765     1
    
    

    Закодируйте сообщение с помощью энкодера Консультативного комитета по системам космических данных (CCSDS) Рида-Соломона (RS) с укорочением сообщения.

    Задайте длину сообщения, k, глубина перемежения, iи укороченную длину сообщения, s.

    k = 223;
    i = 2;
    s = 146;

    Сгенерируйте вектор-столбец случайных бит сообщений. Длина укороченных бит сообщения в восемь раз превышает продукт укороченной длины сообщения, s, и глубина перемежения, i.

    msg = logical(randi([0 1],s*i*8,1));

    Закодируйте укороченное сообщение с помощью CCSDS RS энкодера.

    code = ccsdsRSEncode(msg,k,i,s);

    Проверьте, что длина закодированного кодового слова равна (8 * i* (255 – k + s).

    size(code)
    ans = 1×2
    
            2848           1
    
    

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

    свернуть все

    Вход сообщение, заданное как вектор-столбец логических бит или вектора-столбца целых чисел в область значений [0, 255]. Размер вектора-столбца зависит от типа данных входов сообщения.

    Вход сообщенияРазмер msg
    Тип данных msg Является логическимТип данных msg Является uint8 или double
    Полноразмерное входное сообщение8* k k
    Перемеженное входное сообщение8* k* i k* i
    Сокращенное входное сообщение8* s* i s* i

    Типы данных: double | uint8 | logical

    Длина сообщения, заданная как 223 или 239.

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

    Глубина чередования, заданная как 1, 2, 3, 4, 5, или 8. Значение по умолчанию, 1, не соответствует никакому перемежению.

    msg состоит из i Символы сообщения RS длины k.

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

    Укороченная длина сообщения, заданная в виде целого числа в области значений [1 k].

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

    Выходные аргументы

    свернуть все

    Закодированное сообщение RS CCSDS, возвращенное как вектор-столбец. Тип данных code аналогично сообщению входа, msg. Размер вектора-столбца зависит от типа данных входов сообщения.

    Вход сообщенияРазмер code
    Тип данных msg Является логическимТип данных msg Является uint8 или double
    Полноразмерное входное сообщение8*255 255
    Перемеженное входное сообщение8*255* i 255* i
    Сокращенное входное сообщение8* i* (255 – k + s)i* (255 – k + s)

    Подробнее о

    свернуть все

    Код RS CCSDS Конструкции

    Коды RS CCSDS являются мощными кодами исправления ошибок пакета, используемыми в качестве кодов коррекции ошибок (FEC).

    RS- энкодера CCSDS принимает полноразмерные или укороченные сообщения.

    Конструкция полноразмерных кодов RS CCSDS сообщений

    Для полноразмерных входов сообщений входа вектора-столбца length является продуктом глубины перемежения (i) и длины сообщения (k).

    Full-length input message

    Кодирование в кодах RS CCSDS выполняется по строкам. Кодирование приводит к получению вектора i -by n, который включает биты четности, добавленные к концу каждой строки. n - длина кодового слова, которая фиксирована на 255 символах согласно CCSDS 131.0-B-3 раздел 4 [1].

    Encoded full-length input message

    Конструкция кодов RS укороченных сообщений CCSDS

    Для укороченных входов сообщений входа вектора-столбца length является продуктом глубины перемежения (i) и укороченной длины сообщения (s). Укороченный вектор сообщения заполняет начало вектора сообщения нулями. Получившийся вектор является вектором i -by k.

    Shortened input message

    Кодирование в кодах RS CCSDS выполняется по строкам. Кодирование приводит к получению вектора i -by n, который включает биты четности, добавленные к концу каждой строки.

    Encoded shortened input message

    Ссылки

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

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

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

    .

    См. также

    Функции

    Объекты

    Введенный в R2021a
    Для просмотра документации необходимо авторизоваться на сайте