Buffer

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

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

Описание

Блок 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 является входным периодом расчета. Когда вы устанавливаете параметр Buffer overlap на M o – 1, выходной период системы координат равняется входному периоду расчета.

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

  • 1 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, который задает сумму перекрытия или underlap в каждой последовательной выходной системе координат.

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

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

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

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

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

Для всех случаев однозадачной операции (Simulink Coder) кроме перечисленных в Определяющей задачу для нуля Задержке, буфер блока 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 должен быть скаляром, который затем повторяется через все элементы начального выхода (выходов). Однако в особом случае, где вход является 1 N вектором-строкой, и выходом блока является Mo-by-N матрица, Initial conditions может быть:

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

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

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

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

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

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

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

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

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

Типы данных

double | single | Boolean | base integer | fixed point

Прямое сквозное соединение

No

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

No

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

No

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

No

Больше о

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

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

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

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

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