Buffer
Буферизация входной последовательности до меньшего или большего размера кадра.
Тип: Buffer
Путь в библиотеке:
|
Описание
Блок Buffer осуществляет кадровую обработку. Блок перераспределяет данные в каждом столбце входного сигнала для получения выходного сигнала с другим размером кадра.
Буферизация сигнала до большего размера кадра приводит к тому, что на выходе получается сигнал с меньшей частотой кадров, чем на входе. Пример для скалярного входа приведен на рисунке.
Буферизация сигнала до меньшего размера кадра дает на выходе более высокую частоту кадров, чем на входе. Пример для скалярного выхода приведен на рисунке.
Порты
Вход
#
IN_1
—
входной сигнал
скаляр | вектор | матрица
Details
Для буферизации многоканальных сигналов вводится вектор-строка или матрица. Для буферизации одноканальных сигналов необходимо ввести скаляр или вектор-столбец размером на , где — размер входного кадра.
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
Выход
#
OUT_1
—
выходной сигнал
скаляр | вектор | матрица
Details
Буферизованный входной сигнал, возвращаемый в виде скаляра, вектора или матрицы.
Если входной сигнал одноканальный:
-
скаляр, то выходной сигнал представляет собой вектор на , где — значение параметра Output buffer size (per channel), если , то выходной сигнал представляет собой скаляр.
-
вектор длины , то выходной сигнал представляет собой вектор на , где — размер входного кадра, а — значение параметра Output buffer size (per channel), если , то выходной сигнал представляет собой скаляр.
Период входного кадра равен , где — период входной выборки. Период выходного кадра равен , где — значение параметра Buffer overlap. При установке параметра Buffer overlap в значение период выходного кадра равен периоду входной выборки.
Если на вход подается многоканальный сигнал:
-
матрица на , то выходной сигнал представляет собой матрицу размерностью на , где — количество каналов в сигнале, — значение параметра Output buffer size (per channel). Блок буферизует каждый из входных каналов независимо.
-
матрица на , то выходной сигнал представляет собой матрицу на , где — количество каналов в сигнале — период входного кадра, — значение параметра Output buffer size (per channel), которое может быть больше или меньше размера входного кадра . Блок буферизует каждый из входных каналов независимо.
Период входного кадра равен . Период выходного кадра равен , что равно периоду выборки последовательности, когда параметр Buffer overlap установлен в значение . Таким образом, период выходной выборки связан с периодом входной выборки следующим образом:
Выходные данные имеют тот же тип и комплексность, что и входные.
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
Параметры
Основные
#
Output buffer size (per channel) —
размер буфера
Целое число типа Int64
Details
Укажите количество последовательных выборок из каждого канала для буферизации в выходной кадр.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Да |
#
Buffer overlap —
перекрытие буфера
Целое число типа Int64
Details
Укажите количество выборок , которое определяет величину перекрытия или неполного перекрытия в каждом последующем выходном кадре.
Чтобы перекрыть данные в буфере, укажите значение в диапазоне , где — значение параметра Output buffer size (per channel).
Блок берет выборок (строк) из текущего выходного кадра и повторяет их в следующем выходном кадре. В случае перекрытия блок получает новых входных выборок перед распространением буферизованных данных на выход.
Когда , происходит буферизация сигнала с неполным перекрытием. Блок отбрасывает входных выборок после заполнения буфера и выводит буфер с периодом , что больше, чем в случае нулевого перекрытия.
Период выходного кадра составляет , что равно периоду выборки входной последовательности , когда значение параметра Buffer overlap равно .
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Да |
#
Начальные условия —
начальное значение
Скаляр / массив вещественных и/или комплексных чисел
Details
Укажите значение, которым инициализируется блок для случаев ненулевого времени ожидания в виде скаляра, вектора или матрицы.
Для всех случаев однозадачных операций блок Buffer инициализируется значением (значениями), указанным в параметре Начальные условия. Блок считывает данные из этого буфера для генерации первых выходных выборок, где
Размерность параметра Начальные условия зависит от Buffer overlap, , и от того, является ли вход одноканальным или многоканальным:
-
Если , то параметр Начальные условия должен быть скаляром.
-
Если , то параметр Начальные условия может быть скаляром или вектором с одним из этих ограничений:
-
Для одноканальных входов параметр начальных условий может быть вектором длины , если , или вектором длины , если .
-
Для многоканальных входов параметр Начальные условия может быть вектором длины , если , или вектором длины , если .
-
Для общей буферизации между кадрами произвольного размера параметр Начальные условия должен быть скаляром, который затем повторяется по всем элементам начального вывода(ов). Но, в частном случае, когда входной сигнал представляет собой вектор-строку на , а выход блока — матрицу на , начальными условиями могут быть:
-
матрица на ;
-
вектор длины , повторяющийся по всем столбцам исходного выхода (выходов);
-
скаляр, повторяющийся во всех элементах исходного вывода (выводов).
В частном случае, когда на выходе получается вектор-строка на , являющийся результатом разбуферизации матрицы на , начальными условиями могут быть:
-
вектор, содержащий выборок для последовательного вывода по каждому каналу в течение первых выборок;
-
скаляр, который будет повторяться для всех элементов начального вывода (выводов).
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Да |
Дополнительно
Нулевая задержка
Details
Нулевая задержка означает, что первая входная выборка, полученная в момент , появляется в качестве первой выходной выборки. В однозадачном режиме блок Buffer имеет нулевую задержку для этих случаев:
-
Скалярный вход и выход ( ) с нулевым или отрицательным значением параметра Buffer overlap ( ).
-
Размер входного кадра целочисленно кратен размеру выходного кадра (при нулевом значении параметра Buffer overlap ( )):
где — целое число. Примечательные случаи этого включают:
-
Любой размер входного кадра со скалярным выходом ( ) и нулевым значением параметра Buffer overlap ( );
-
Равные размеры входного и выходного кадра ( ) с нулевым значением параметра Buffer overlap ( ).
-