getTurboIOIndices

Вычислите выходные индексы для турбокодирования

    Описание

    Используйте getTurboIOIndices, чтобы сгенерировать выходные индексы для comm.TurboEncoder и входные индексы для comm.TurboDecoder и Системные объекты.

    indices=getTurboIOIndices(blklen,N,mlen) вычисляет индексы для данной входной длины блока, blklen, количество потоков вывода, N, и время хранения в памяти, mlen, относительно полностью закодированного выхода. В этом режиме проколот второй чередованный, систематический поток битов. N и mlen соответствуйте составляющей настройке кодера для comm.TurboEncoder и comm.TurboDecoder Системные объекты.

    пример

    indices=getTurboIOIndices(blklen,N,mlen,'LTE') вычисляет подобные LTE выходные индексы, как задано TS 36.212. Для LTE проколот второй систематический поток битов, и биты хвоста переупорядочиваются.

    Примеры

    свернуть все

    Создайте выходные индексы для использования с турбо Системой энкодера Object™.

    Инициализируйте входные параметры для составляющей турбо настройки энкодера, имеющей 2 потока, 3 регистра и длину блока 64. Создайте выходной вектор индексов. Отобразите количество битов хвоста и значения битов хвоста.

    blklen = 64; % Block length
    N = 2;       % Number of streams
    mlen = 3;    % Number of registers
    firsttailbit = blklen * (2*N - 1) + 1;
    outindices = getTurboIOIndices(blklen,N,mlen);
    numtailbits = length(outindices(firsttailbit:end)')
    numtailbits = 9
    
    tailbits = outindices(firsttailbit:end)'
    tailbits = 1×9
    
       257   258   260   261   262   264   265   266   268
    
    

    Для сравнения сохраните те же входные настройки для длины блока, количества потоков и количества регистров, но создайте набор подобного LTE выходного вектора индексов путем добавления 'LTE' как четвертый входной параметр.

    outindices = getTurboIOIndices(blklen,N,mlen,'LTE');

    Отобразите количество битов хвоста и значения битов хвоста. Подобные LTE выходные индексы имеют упорядоченное расположение, как задано в TS 36.212 и включают биты хвоста для всех потоков вывода.

    numtailbitsLTE = length(outindices(firsttailbit:end)')
    numtailbitsLTE = 12
    
    tailbitsLTE = outindices(firsttailbit:end)'
    tailbitsLTE = 1×12
    
       257   258   261   262   265   266   259   260   263   264   267   268
    
    

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

    свернуть все

    Длина блока в виде неотрицательного целого числа.

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

    Количество потоков вывода в виде целого числа, больше, чем 1.

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

    Количество регистров в виде положительного целого числа.

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

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

    свернуть все

    Выведите индексы, возвращенные как вектор-столбец положительных целых чисел.

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

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

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

    Объекты

    Введенный в R2021a