exponenta event banner

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