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

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

Блок координирует размер выходного кадра и частоту кадров неперекрывающихся буферов так, что период выборки сигнала одинаков как на входе, так и на выходе: Tso = Tsi.
Этот блок поддерживает запускаемые подсистемы, когда входная и выходная скорости блока одинаковы.
Port_1 - Входной сигналДля буферизации одноканальных сигналов введите скалярный или столбчатый вектор. Для буферизации многоканальных сигналов введите вектор строки или матрицу. Для буферизации одноканальных сигналов введите скалярный или столбчатый вектор Mi-by-1 размера, где Mi - размер входного кадра.
Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point
Поддержка комплексного номера: Да
Port_1 - Выходной сигналБуферизованный входной сигнал, возвращаемый в виде вектора или матрицы.
Когда вход является одноканальным сигналом:
1-на-1 (скаляр) - Output является вектором Mo-by-1.
Mi-by-1 (вектор столбца) - Output является вектором Mo-by-1.
где
Mi - размер входного кадра
Mo - значение параметра размера выходного буфера
Период входного кадра равен Mi· Tsi, где Tsi - период входной выборки. Период выходного кадра равен (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. Период выходного кадра равен (Tsi, что равно периоду выборки последовательности, когда перекрытие буфера − 1. Таким образом, выходной период T50 выборки связан с входным периодом Tsi выборки на
ЦиМи
Выходные данные имеют тот же тип данных и ту же сложность, что и входные данные.
Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point
Поддержка комплексного номера: Да
Output buffer size (per channel) - Размер буфера64 (по умолчанию) | положительное целое числоУкажите количество последовательных отсчетов Mo от каждого канала до буфера в выходном кадре.
Типы данных: double | int8 | int16 | int32 | uint8 | uint16 | uint32
Buffer overlap - Перекрытие буфера0 (по умолчанию) | целое числоУкажите количество выборок L, которое определяет величину перекрытия или подложки в каждом последовательном выходном кадре.
Чтобы перекрыть данные в буфере, укажите значение L в диапазоне , где Mo - значение параметра выходного размера буфера. Блок берет L выборок (строк) с токового выхода и повторяет их на следующем выходе. В случаях перекрытия блок получает входные выборки Mo − Lnew перед распространением буферизированных данных на выход.
При 0 выполняется буферизация сигнала с помощью подложки. Блок отбрасывает L входных выборок после заполнения буфера и выводит буфер с ) Tsi, который длиннее, чем в случае нулевого перекрытия.
Период выходного кадра равен Tsi, что равно периоду выборки входной последовательности Tsi, когда перекрытие буфера Mo − 1.
Типы данных: double | int8 | int16 | int32 | uint8 | uint16 | uint32
Initial conditions - Начальный выход0 (по умолчанию) | скаляр | вектор | матрицаУкажите значение начального выхода блока в случае ненулевой задержки в виде скаляра, вектора или матрицы.
Для всех случаев однозадачной операции (Simulink Coder), отличных от перечисленных в Zero-Tasking Latency, буфер блока буфера инициализируется значениями, заданными параметром Initial conditions. Блок считывает из этого буфера для генерации первых D выходных выборок, где
Мо (L < 0)
Размеры параметра Initial conditions зависят от параметра Buffer overlap, L, и от того, является ли вход одноканальным или многоканальным:
При параметр Initial conditions должен быть скаляром.
Если 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
Поддержка комплексного номера: Да
Типы данных |
|
Прямой проход |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулей |
|
Задержка задания нуля означает, что первая входная выборка, принятая при t = 0, появляется как первая выходная выборка. В однозадачном режиме Simulink (Simulink Coder) блок Buffer имеет нулевую задержку для следующих особых случаев:
Скалярный вход и выход (= 1) с нулевым или отрицательным перекрытием буфера (L≤0)
Размер входного кадра равен целому числу, кратному размеру выходного кадра
кМо
где k - целое число с нулевым перекрытием буфера (0); известные случаи этого включают в себя:
Любой размер входного кадра Mi со скалярным выходом (1) и нулевым перекрытием буфера = 0)
Равные размеры входного и выходного кадров (Mi) с нулевым перекрытием буфера = 0)
Блок буфера не может использоваться в включенной подсистеме при следующих условиях:
Многоскоростная многозадачная среда
Если параметр «Перекрытие буфера» имеет отрицательное значение
Буферный блок имеет внутренний резервуар, который временно хранит данные. Когда буферный блок используется в включенной подсистеме, существует вероятность того, что резервуар может быть переполнен или недоработан. Блок обеспечивает защиту от таких случаев.
Переполнение происходит, когда в буфер поступает больше данных, чем может содержаться в нем. Например, рассмотрим буферизацию скалярного входа в кадр размера три с буфером, который принимает вход каждую секунду и выводит каждые три секунды. Если поместить этот буфер в включенную подсистему, которая отключается каждые три секунды при t = 3s, t = 6s и так далее, буфер накапливает данные во внутреннем резервуаре без возможности его удаления. Это условие приводит к переполнению.
Недоиспользование происходит, когда в буфере заканчивается объем данных для вывода. Например, снова рассмотрим буферизацию скалярного входа в размер кадра три с буфером, который принимает вход каждую секунду и выводит каждые три секунды. Если поместить этот буфер в включенную подсистему, которая отключена при t = 10s, t = 11s, t = 13s, t = 14s, t = 16s и t = 17s, ее внутренний резервуар осушается, и нет данных для вывода при t = 18s. Это условие приводит к недоработке.
Для защиты от переполнения или недоделки буферный блок записывает объем данных во внутреннем резервуаре. Когда буферный блок считывает данные, объем данных в его резервуаре увеличивается. Когда буферный блок выводит данные, объем данных в его резервуаре уменьшается. Для защиты от переполнения самые старые образцы в резервуаре отбрасываются всякий раз, когда объем данных в резервуаре превышает фактический размер буфера. Для защиты от недоделки, самые последние пробы повторяются всякий раз, когда должен быть получен выход и нет данных в резервуаре.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.

