Samples To Frame

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

  • Библиотека:
  • Беспроводные интерфейсы HDL Toolbox/I/O

  • Samples To Frame block

Описание

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

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

Порты

Вход

расширить все

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

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

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

  • start - Указывает начало входного кадра

  • end - Указывает конец входного кадра

  • valid - Указывает, что данные входного data порта действительны

Для получения дополнительной информации см. Выборку шины управления.

Типы данных: 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. Используйте эту опцию, когда поток сэмплирования имеет системы координат переменного размера или когда нисходящий блок требует формат кадра в качестве входных параметров, таких как LTE Turbo Decoder.

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

.

См. также

Блоки

Функции

Введенный в R2017b