ccsdsRSEncode

Закодируйте CCSDS-совместимые коды RS

    Описание

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

    Для описания конструкции CCSDS RS кода смотрите Конструкцию CCSDS RS Кода.

    пример

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

    пример

    code = ccsdsRSEncode(msg,k,i,s) кодирует сокращенный входной сигнал длины s с чередующейся глубиной i.

    Примеры

    свернуть все

    Закодируйте сообщение с помощью Консультативного Комитета по Системам передачи и обработки данных Пробела (CCSDS) энкодер Тростника-Solomon (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) энкодер Тростника-Solomon (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 IslogicalТип данных msg uint8 или дважды
    Входной сигнал во всю длину8*k k
    Чередованный входной сигнал8*ki ki
    Сокращенный входной сигнал8*si si

    Типы данных: 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 IslogicalТип данных msg uint8 или дважды
    Полный входной сигнал8*255 255
    Чередованный входной сигнал8*255*i 255*i
    Сокращенный входной сигнал8*i* (255 – k + s)i* (255 – k + s)

    Больше о

    свернуть все

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

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

    Энкодер CCSDS RS принимает или сокращенные сообщения во всю длину.

    Конструкция сообщения во всю длину коды CCSDS RS

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

    Full-length input message

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

    Encoded full-length input message

    Конструкция сокращенного сообщения коды CCSDS RS

    Для сокращенных входных сигналов входная длина вектор-столбца является продуктом чередующейся глубины (i) и сокращенная длина сообщения (s). Сокращенный вектор сообщения предварительно ожидает дополнение начала вектора сообщения с нулями. Итоговым вектором является i-by-k вектор.

    Shortened input message

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

    Encoded shortened input message

    Ссылки

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

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

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

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

    Функции

    Объекты

    Введенный в R2021a