Выборки, чтобы структурировать

Преобразуйте демонстрационный поток в основанные на кадре данные

  • Библиотека:
  • LTE HDL Toolbox / Интерфейсы ввода-вывода

Описание

Блок Samples To Frame восстанавливает основанные на кадре данные из потока выборок и его соответствующих управляющих сигналов. Это удаляет любые неактивные или недопустимые выборки из данных. Смотрите Демонстрационный Интерфейс Потоковой передачи для деталей формата потоковой передачи.

Используйте этот блок, чтобы обработать вывод от подсистемы, предназначенной для генерации HDL-кода. Этот блок не поддерживает генерацию HDL-кода.

Порты

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

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

Поток выборок, заданных как скаляр или вектор. Векторные входные значения представляют одну выборку, такую как закодированные турбо выборки, представленные одним систематическим значением и двумя значениями четности. Поток может включать неактивные циклы между выборками и между кадрами. Отбрасываются неактивные выборки. double и single поддерживаются для симуляции, но не для генерации HDL-кода.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point

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

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

Вывод

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

Кадр выходных выборок, возвращенных как вектор-столбец. Каждый кадр одного размера. Если входной кадр меньше, чем Output size, блок заполняет кадр, обнуляет. Если выходной кадр больше, чем Output size, клеточные виды кадр при помощи первых выборок Output size. Можно опционально вывести количество допустимых выборок в каждом кадре на порте len.

Валидность выходного кадра, возвращенного как скаляр Boolean. Этот порт возвращает 1 (true), когда значения на frame и len (дополнительные) порты, допустимы.

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

Количество допустимых выборок в выходном кадре, возвращенном как целое число. Входной демонстрационный поток может иметь кадры различных размеров. Блок возвращает постоянный вектор размера на порте frame, дополненный обнуляет, когда входной кадр меньше, чем Output size. Порт len указывает, сколько допустимых выборок находится в выходном кадре. Если выходной кадр больше, чем Output size, клеточные виды кадр при помощи первых выборок Output size.

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

Параметры

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

Количество значений, представляющих каждую выборку, заданную как положительный целочисленный скаляр. Блок принимает вектор значений Input size. Каждый вектор имеет один соответствующий набор управляющих сигналов. Например, можно использовать этот параметр для закодированных турбо выборок. В стандарте LTE уровень турбокода является 1/3, таким образом, каждая выборка представлена одним систематическим значением и двумя значениями четности: S_n, P1_n и P2_n. В этом случае установите Input size на 3.

Количество входных циклов, чтобы буферизовать прежде, чем попытаться сформировать выходной кадр, заданный как целое число. Блок моделирует быстрее, когда этот параметр больше. Однако блок возвращает самое большее один кадр в каждое окно поиска. Если больше чем один кадр помещается в это окно, блок возвращает первый, это находит и пропускает более поздние кадры. Настройка по умолчанию, 1 цикл, никогда не пропускает кадры, но приводит к более медленной симуляции. Поэтому это - лучшая практика установить этот параметр на минимальное количество циклов на кадр, включая неактивные циклы.

Например, вычислите допустимые циклы и неактивные циклы, представляющие каждый кадр. Каждый цикл может включать больше чем одну выборку, в зависимости от вашей установки Input size (samplesize).

% Exact setting: includes idle cycles 
totalframesize = ((framesamples/samplesize)*...
    (idlecyclesbetweensamples+1))+idlecyclesbetweenframes;
Если кадр и демонстрационный интервал являются переменными или неизвестными, то консервативный компромисс должен установить Frame search window на минимальное количество допустимых циклов на кадр. Например, для турбо блока энкодера, выходной формат кадра зависит от уровня кодирования, 1/R, и битов хвоста, заданных стандартом LTE. Выходные данные имеют выборки R на цикл. Это вычисление не включает неактивных циклов между выборками или между кадрами.
% Conservative setting: number of valid output cycles, without idles
encoderrate = 3;
numtailbits = 12;
framesize = (framesamples+numtailbits)/encoderrate;

Максимальное количество выборок на кадр, заданный как целое число. Входной демонстрационный поток может иметь кадры различных размеров. Блок возвращает постоянный вектор размера, дополненный обнуляет, если кадр меньше, чем Output size. Если блок принимает кадр, больше, чем Output size, он обрезает кадр.

Порядок выходных выборок относительно входного порядка, когда больше чем одно значение представляет каждую выборку. Например, 1/3 закодированные турбо выборки представлены [S_1 P1_1 P2_1] и [S_2 P1_2 P2_2]. Выходным порядком по умолчанию является [S_1 P1_1 P2_1 S_2 P1_2 P2_2]. Чтобы переупорядочить выборки так, чтобы систематичный и значения четности группировались, выберите Compose output from interleaved input samples. Выходным порядком является затем [S_1 S_2 P1_1 P1_2 P2_1 P2_2].

Включите выходной порт длины кадра. Выберите эту опцию, чтобы возвратить количество допустимых выборок в каждом выходном кадре. Длина возвращена на порте len и квалифицирована сигналом valid. Используйте эту опцию, когда демонстрационный поток имеет переменные кадры размера или когда нисходящий блок требует формата кадра, как введено, такого как Турбо Декодер.

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

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

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

Блоки

Функции

Введенный в R2017b