Buffer

Буферизуйте входную последовательность к меньшему или большему формату кадра

  • Библиотека:
  • DSP System Toolbox/Управление сигналами/Буферы

  • Buffer block

Описание

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

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

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

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

Порты

Вход

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

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

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

Выход

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

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

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

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

  • Mi -by-1 (вектор-столбец) - Выход является вектором Mo -by-1.

где

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

  • Mo - Значение параметра Output buffer size

Входной период входного кадра является Mi· Tsi, где Tsi является входным периодом дискретизации. Период выходной системы координат (MoL)Tsi, где L - значение параметра Buffer overlap, и T si - входной период дискретизации. Когда вы устанавливаете параметр Buffer overlap на M o - 1, период выходной системы координат равен периоду входной выборки.

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

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

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

где

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

  • Mi - Входной период кадра

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

Период входного кадра составляет Mi· Tsi. Период выходной системы координат (MoL)Tsi, который равен периоду дискретизации последовательности, когда Buffer overlap Mo1. Таким образом, выходной период Tso выборки связан с входным периодом выборки, Tsi

Tso=(MoL)TsiMi

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

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

Параметры

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

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

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

Задайте количество выборок, L, которое задает количество перекрытия или подстановки в каждой последующей выходной системе координат.

Чтобы перекрыть данные в буфере, задайте значение L в области значений 0L<Mo, где Mo - значение параметра Output buffer size. Блок берёт L выборки (строки) из токового вывода и повторяет их в следующем выходе. В случаях перекрытия блок приобретает MoLновые входные выборки перед распространением буферизованных данных на выход.

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

Период выходной системы координат (MoL)Tsi, который равен периоду дискретизации входной последовательности, Tsi, когда Buffer overlap Mo1.

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

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

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

D={Mo+L(L0)Mo(L<0)

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

  • Когда L0, параметр 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 функция для вычисления точной задержки в выборках, которую вводит блок Buffer для заданной комбинации buffer size и перекрытия буфера.

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

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

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

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

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

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

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

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

Типы данных: 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++ с помощью Coder™ Simulink ®

.

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

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