exponenta event banner

Буфер

Последовательность ввода буфера до меньшего или большего размера кадра

  • Библиотека:
  • Панель системных инструментов DSP/управление сигналами/буферы

  • Buffer block

Описание

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

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

Блок координирует размер выходного кадра и частоту кадров неперекрывающихся буферов так, что период выборки сигнала одинаков как на входе, так и на выходе: Tso = Tsi.

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

Порты

Вход

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

Для буферизации одноканальных сигналов введите скалярный или столбчатый вектор. Для буферизации многоканальных сигналов введите вектор строки или матрицу. Для буферизации одноканальных сигналов введите скалярный или столбчатый вектор Mi-by-1 размера, где Mi - размер входного кадра.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point
Поддержка комплексного номера: Да

Продукция

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

Буферизованный входной сигнал, возвращаемый в виде вектора или матрицы.

Когда вход является одноканальным сигналом:

  • 1-на-1 (скаляр) - Output является вектором Mo-by-1.

  • Mi-by-1 (вектор столбца) - Output является вектором Mo-by-1.

где

  • Mi - размер входного кадра

  • Mo - значение параметра размера выходного буфера

Период входного кадра равен Mi· Tsi, где Tsi - период входной выборки. Период выходного кадра равен (Mo L) Tsi, где L - значение параметра перекрытия буфера, а Tsi - период входной выборки. Если для параметра Buffer overlap установлено значение Mo - 1, период выходного кадра равен периоду входной выборки.

Когда вход является многоканальным сигналом:

  • 1-by-N - Вывод является матрицей Mo-by-N.

  • Mi-by-N - выходной сигнал является матрицей Mo-by-N.

где

  • N - количество каналов в сигнале

  • Mi - Период входного кадра

  • Mo - значение параметра Output buffer size и может быть больше или меньше размера входного кадра Mi. Блок буферизирует каждый из N входных каналов независимо.

Период входного кадра равен Mi· Tsi. Период выходного кадра равен (Mo L) Tsi, что равно периоду выборки последовательности, когда перекрытие буфера равно Mo − 1. Таким образом, выходной период T50 выборки связан с входным периодом Tsi выборки на

Tso = (Mo L) ЦиМи

Выходные данные имеют тот же тип данных и ту же сложность, что и входные данные.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point
Поддержка комплексного номера: Да

Параметры

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

Укажите количество последовательных отсчетов Mo от каждого канала до буфера в выходном кадре.

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

Укажите количество выборок L, которое определяет величину перекрытия или подложки в каждом последовательном выходном кадре.

Чтобы перекрыть данные в буфере, укажите значение L в диапазоне 0≤L<Mo, где Mo - значение параметра выходного размера буфера. Блок берет L выборок (строк) с токового выхода и повторяет их на следующем выходе. В случаях перекрытия блок получает входные выборки Mo − Lnew перед распространением буферизированных данных на выход.

При значении L < 0 выполняется буферизация сигнала с помощью подложки. Блок отбрасывает L входных выборок после заполнения буфера и выводит буфер с периодом (Mo L) Tsi, который длиннее, чем в случае нулевого перекрытия.

Период выходного кадра равен (Mo L) Tsi, что равно периоду выборки входной последовательности Tsi, когда перекрытие буфера равно Mo − 1.

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

Укажите значение начального выхода блока в случае ненулевой задержки в виде скаляра, вектора или матрицы.

Для всех случаев однозадачной операции (Simulink Coder), отличных от перечисленных в Zero-Tasking Latency, буфер блока буфера инициализируется значениями, заданными параметром Initial conditions. Блок считывает из этого буфера для генерации первых D выходных выборок, где

D = {Mo + L (L≥0) Мо (L < 0)

Размеры параметра Initial conditions зависят от параметра Buffer overlap, L, и от того, является ли вход одноканальным или многоканальным:

  • При L≠0 параметр Initial conditions должен быть скаляром.

  • Если L = 0, параметр Initial conditions может быть скаляром или вектором с одним из следующих ограничений:

    • Для одноканальных входов параметр Initial conditions может быть вектором длины Mo, если Mi равно 1, или вектором длины Mi, если Mo равно 1.

    • Для многоканальных входов параметр Initial conditions может быть вектором длины Mo * N, если Mi равно 1, или вектором длины Mi * N, если Mo равно 1.

Для всех многозадачных операций (Simulink Coder) используйте rebuffer_delay функция для вычисления точной задержки в выборках, которую блок буфера вводит для данной комбинации размера буфера и перекрытия буфера.

Для общей буферизации между произвольными размерами кадра параметр Initial conditions должен быть скаляром, который затем повторяется для всех элементов начального выхода (ов). Однако в частном случае, когда входной сигнал является вектором 1-by-N строки, а выходной сигнал блока является матрицей Mo-by-N, начальными условиями могут быть:

  • Матрица Mo-by-N

  • Вектор length-Mo, который будет повторяться во всех столбцах начальных выходных данных

  • Скаляр, повторяющийся по всем элементам начального выхода (ов)

В частном случае, когда выходной сигнал представляет собой вектор 1-by-N строки, который является результатом разуплотнения матрицы Mi-by-N, начальными условиями могут быть:

  • Вектор, содержащий выборки Mi для последовательного вывода для каждого канала в течение первого времени выборки Mi

  • Скаляр, повторяющийся по всем элементам начального выхода (ов)

Дополнительные сведения о задержках и режимах задания Simulink ® см. в разделах Избыточная алгоритмическая задержка (задержка задания) и Планирование и создание кода на основе времени (кодер Simulink).

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point
Поддержка комплексного номера: Да

Характеристики блока

Типы данных

Boolean | double | fixed point | integer | single

Прямой проход

no

Многомерные сигналы

no

Сигналы переменного размера

no

Обнаружение пересечения нулей

no

Подробнее

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

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

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.

Преобразование с фиксированной точкой
Проектирование и моделирование систем с фиксированной точкой с помощью Designer™ с фиксированной точкой.

Представлен до R2006a