Существует два распространенных типа операций, влияющих на частоту кадров и частоту дискретизации сигнала: прямое преобразование скорости и отпор кадров. Прямые преобразования скорости, такие как повышающая дискретизация и понижающая дискретизация, могут быть реализованы путем изменения либо частоты кадров, либо размера кадра сигнала. Опровержение кадра, которое используется для изменения размера кадра сигнала с целью улучшения производительности моделирования, обычно также изменяет частоту дискретизации или частоту кадров сигнала.
В следующей таблице перечислены блоки преобразования основной скорости в программном обеспечении DSP System Toolbox™. Блоки, отмеченные звездочкой (*), предлагают возможность изменения скорости путем корректировки размера кадра или частоты кадров.
| Блок | Библиотека |
|---|---|
Понижение * | Сигнальные операции |
Банк фильтров диадического анализа | Фильтрация/многоскоростные фильтры |
Банк фильтров диадического синтеза | Фильтрация/многоскоростные фильтры |
Децимация РПИ * | Фильтрация/многоскоростные фильтры |
Интерполяция FIR * | Фильтрация/многоскоростные фильтры |
Преобразование курса FIR | Фильтрация/многоскоростные фильтры |
Повторить * | Сигнальные операции |
Upsample * | Сигнальные операции |
Блоки преобразования скорости принимают входной сигнал с одной частотой дискретизации и распространяют тот же самый сигнал с новой частотой дискретизации. Несколько из этих блоков содержат параметр Rate options, предлагающий два варианта многоскоростной и односкоростной обработки:
Enforce single-rate processingПри выборе этой опции блок сохраняет входную частоту дискретизации.
Allow multirate processingПри выборе этой опции блок понижает выборку сигнала так, что выходная частота дискретизации в K раз медленнее, чем входная частота дискретизации.
Примечание
Когда модель Simulink ® содержит сигналы с различной частотой кадров, модель называется многоскоростной. Описание многоскоростных моделей можно найти в разделе Избыточная алгоритмическая задержка (задержка задания). См. также Планирование на основе времени и создание кода (Simulink Coder).
Одним из способов изменения частоты дискретизации сигнала, 1/Tso, является изменение выходной частоты кадров (Tfo ≠ Tfi) при сохранении постоянного размера кадра (Mo = Mi). Следует отметить, что частота дискретизации сигнала определяется как 1/Tso = Mo/Tfo:
В командной строке MATLAB ® введитеex_downsample_tut1.
Откроется модель Downsample Example T1.

На вкладке «Отладка» выберите «Информационные наложения» > «Размеры сигнала».
При запуске модели размеры сигналов отображаются рядом с линиями, соединяющими блоки.
Дважды щелкните на блоке «Сигнал из рабочего пространства». Откроется диалоговое окно Параметры блока источника: Сигнал из рабочего пространства (Source Block Parameters: Signal From Workspace).
Задайте параметры блока следующим образом:
Время выборки = 0.125
Выборки на кадр = 8
На основе этих параметров блок «Сигнал из рабочего пространства» выводит сигнал с периодом выборки 0,125 секунды и размером кадра 8.
Сохраните эти параметры и закройте диалоговое окно, нажав кнопку ОК.
Дважды щелкните блок Downsample. Откроется диалоговое окно Function Block Parameters: Downsample.
Задайте для параметра Rate options значение Allow multirate processingи нажмите кнопку «ОК».
Блок понижающей дискретизации выполнен с возможностью понижающей дискретизации сигнала путем изменения частоты кадров, а не размера кадра.
Запустите модель.
После моделирования модель должна выглядеть аналогично следующему рисунку.

Поскольку Tsi, входного кадра,
Второй блок Probe в модели проверяет, что выходной сигнал блока Downsample имеет период кадра , равный 2 секундам, в два раза превышающий период кадра входного сигнала. Однако, поскольку частота кадров выходного сигнала, , составляет 0,5 кадра в секунду, блок понижающего дискретизации фактически понизил частоту дискретизации исходного сигнала до половины его исходной частоты. В результате выходной период выборки T50 Tfo/Mo удваивается до 0,25 секунды без какого-либо изменения размера кадра. Размеры сигнала в модели подтверждают, что размер кадра не изменился.
Одним из способов изменения частоты дискретизации сигнала является изменение размера кадра (то есть Mo ≠ Mi), но сохранение частоты кадров постоянной (Tfo = Tfi). Следует отметить, что частота дискретизации сигнала определяется как 1/Tso = Mo/Tfo:
В командной строке MATLAB введите ex_downsample_tut2.
Откроется модель Downsample Example T2.

На вкладке «Отладка» выберите «Информационные наложения» > «Размеры сигнала».
При запуске модели размеры сигналов отображаются рядом с линиями, соединяющими блоки.
Дважды щелкните на блоке «Сигнал из рабочего пространства». Откроется диалоговое окно Параметры блока источника: Сигнал из рабочего пространства (Source Block Parameters: Signal From Workspace).
Задайте параметры блока следующим образом:
Время выборки = 0.125
Выборки на кадр = 8
На основе этих параметров блок «Сигнал из рабочего пространства» выводит сигнал с периодом выборки 0,125 секунды и размером кадра 8.
Сохраните эти параметры и закройте диалоговое окно, нажав кнопку ОК.
Дважды щелкните блок Downsample. Откроется диалоговое окно Function Block Parameters: Downsample.
Задайте для параметра Rate options значение Enforce single-rate processingи нажмите кнопку «ОК».
Блок понижающей дискретизации выполнен с возможностью понижающей дискретизации сигнала путем изменения размера кадра, а не частоты кадров.
Запустите модель.
После моделирования модель должна выглядеть аналогично следующему рисунку.

Поскольку Tsi, входного кадра,
Блок Downsample понизил выборку входного сигнала до половины его исходного размера кадра. Размеры сигнала на выходе блока Downsample подтверждают, что пониженный выходной сигнал имеет размер кадра, равный 4, что вдвое меньше размера кадра на входе. В результате период выборки выходного сигнала T50 Tfo/Mois 0,25 секунду. Этот процесс происходил без изменения частоты кадров Tfo).
Существует два распространенных типа операций, влияющих на частоту кадров и частоту дискретизации сигнала: прямое преобразование скорости и отпор кадров. Прямые преобразования скорости, такие как повышающая дискретизация и понижающая дискретизация, могут быть реализованы путем изменения либо частоты кадров, либо размера кадра сигнала. Опровержение кадров, которое используется для изменения размера кадра сигнала с целью улучшения производительности моделирования, обычно также изменяет частоту дискретизации или частоту кадров сигнала.
Иногда в какой-то момент в модели может потребоваться дать отпор сигналу до нового размера кадра. Например, аппаратные средства сбора данных могут внутренне буферизировать дискретизированный сигнал до размера кадра, который не является оптимальным для алгоритма обработки сигнала в модели. В этом случае вы хотите получить более подходящий размер кадра для предполагаемых операций без внесения каких-либо изменений в данные или частоту дискретизации.
В следующей таблице перечислены основные блоки буферизации панели инструментов системы DSP.
| Блок | Библиотека |
|---|---|
Управление сигналами/буферы | |
Управление сигналами/буферы | |
Управление сигналами/буферы | |
Управление сигналами/индексирование |
Операции буферизации обеспечивают еще один механизм изменения скорости в моделях обработки сигналов. Целью многих операций буферизации является корректировка размера кадра сигнала, М, без изменения частоты Ts дискретизации сигнала. Это обычно приводит к изменению частоты кадров Tf сигнала в соответствии со следующим уравнением:
MT
Однако приведенное выше уравнение справедливо только в том случае, если из исходного сигнала не были добавлены или удалены выборки. Следовательно, вышеприведенное уравнение не применяется к операциям буферизации, которые генерируют перекрывающиеся кадры, которые только частично разбиают кадры или которые изменяют последовательность данных путем добавления или удаления выборок.
В библиотеке Buffers есть два блока, которые можно использовать для изменения размера кадра сигнала без изменения самого сигнала:
Блок Buffer сохраняет данные сигнала и период выборки только в том случае, если для параметра Buffer overlap установлено значение 0. Период выходного кадра , Tfo, равен
MoTfiMi
где Tfi - период входного кадра, Mi - размер входного кадра, Mo - размер выходного кадра, заданный параметром Размер выходного буфера (на канал).
Блок Unbuffer распаковывает сигнал кадра и всегда сохраняет данные сигнала и период выборки.
Tfi/Mi
где Tfi и Mi - период и размер, соответственно, сигнала кадра.
Блоки Buffer и Unbuffer сохраняют период выборки последовательности при преобразовании (Tso = Tsi).
Некоторые формы буферизации изменяют данные сигнала или период выборки в дополнение к корректировке размера кадра. Этот тип буферизации желателен, когда требуется создать скользящие окна путем наложения последовательных кадров сигнала или выбрать подмножество выборок из каждого входного кадра для обработки.
Блоки, изменяющие сигнал при корректировке размера кадра, перечислены ниже. В этом списке Tsi является периодом выборки входной последовательности, а Tfi и Tfo являются периодами входного и выходного кадров соответственно:
Блок Buffer добавляет повторяющиеся выборки в последовательность, когда параметр L Buffer overlap имеет ненулевое значение. Период выходного кадра связан с периодом входной выборки
) Tsi
где Mo - размер выходного кадра, заданный параметром Output buffer size (на канал). В результате новый период выборки выходных данных равен
ЦиМо
Блок «Линия задержки» добавляет повторяющиеся выборки в последовательность, если параметр размера линии задержки Mo больше 1. Выходные и входные периоды кадра одинаковы, Tfo = Tfi = Tsi, и новый период выходной выборки равен
ЦиМо
Блок выбора переменных может удалять, добавлять и/или переупорядочивать выборки во входном кадре, если для параметра «Выбрать» установлено значение Rows. Выходные и входные периоды кадра одинаковы, Tfo = Tfi, и новый период выходной выборки равен
МиЦиМо
где Mo - длина выходного сигнала блока, определяемая вектором Elements.
Во всех этих случаях период выборки выходной последовательности не равен периоду выборки входной последовательности.
В следующем примере сигнал с периодом выборки 0,125 секунды отбрасывается с размера кадра 8 до размера кадра 16. Этот процесс опровержения удваивает период кадра с 1 до 2 секунд, но не изменяет период выборки сигнала (Tso = Tsi = 0,125). Процесс также не добавляет и не удаляет выборки из исходного сигнала:
В командной строке MATLAB введите ex_buffer_tut1.
Откроется модель T1 примера буфера.

Дважды щелкните на блоке «Сигнал из рабочего пространства». Откроется диалоговое окно Параметры блока источника: Сигнал из рабочего пространства (Source Block Parameters: Signal From Workspace).
Установите следующие параметры:
Сигнал = 1:1000
Время выборки = 0.125
Выборки на кадр = 8
Вывод формы после конечного значения данных = Setting to zero
На основе этих параметров блок Сигнал из рабочей области выводит сигнал с периодом выборки 0,125 секунды. Каждый выходной кадр содержит восемь выборок.
Сохраните эти параметры и закройте диалоговое окно, нажав кнопку ОК.
Дважды щелкните на блоке «Буфер». Откроется диалоговое окно Параметры функционального блока: Буфер (Function Block Parameters: Buffer).
Задайте параметры следующим образом и нажмите кнопку ОК:
Размер выходного буфера (на канал) = 16
Перекрытие буфера = 0
Начальные условия = 0
Основываясь на этих параметрах, блок «Буфер» отбрасывает сигнал от размера кадра 8 до размера кадра 16.
Запустите модель.
На следующем рисунке показана модель после моделирования.

Следует отметить, что вход в буферный блок имеет размер кадра 8, а выход блока имеет размер кадра 16. Как показано блоками зонда, процесс опровержения удваивает период кадра от 1 до 2 секунд.
Некоторые формы буферизации изменяют данные сигнала или период выборки в дополнение к корректировке размера кадра. В следующем примере сигнал с периодом выборки 0,125 секунды отбрасывается с размера кадра 8 до размера кадра 16 с перекрытием буфера 4:
В командной строке MATLAB введите ex_buffer_tut2.
Откроется модель T2 примера буфера.

Дважды щелкните на блоке «Сигнал из рабочего пространства». Откроется диалоговое окно Параметры блока источника: Сигнал из рабочего пространства (Source Block Parameters: Signal From Workspace).
Установите следующие параметры:
Сигнал = 1:1000
Время выборки = 0.125
Выборки на кадр = 8
Вывод формы после конечного значения данных = Setting to zero
На основе этих параметров блок Сигнал из рабочей области выводит сигнал с периодом выборки 0,125 секунды. Каждый выходной кадр содержит восемь выборок.
Сохраните эти параметры и закройте диалоговое окно, нажав кнопку ОК.
Дважды щелкните на блоке «Буфер». Откроется диалоговое окно Параметры функционального блока: Буфер (Function Block Parameters: Buffer).
Задайте параметры следующим образом и нажмите кнопку ОК:
Размер выходного буфера (на канал) = 16
Перекрытие буфера = 4
Начальные условия = 0
Основываясь на этих параметрах, блок «Буфер» отбрасывает сигнал от размера кадра 8 до размера кадра 16. Кроме того, после начального вывода первые четыре выборки каждого выходного кадра составляют из последних четырех выборок из предыдущего выходного кадра.
Запустите модель.
На следующем рисунке показана модель после остановки моделирования.

Следует отметить, что вход в буферный блок имеет размер кадра 8, а выход блока имеет размер кадра 16. Отношение для периода выходного кадра для буферного блока:
) Tsi
Tfo составляет (16-4) * 0,125 или 1,5 секунды, что подтверждается вторым блоком зонда (Simulink). Период выборки сигнала на выходе блока буфера больше не равен 0,125 секунды. Теперь Tso = 0,0938 секунду. Таким образом, как данные сигнала, так и период выборки сигнала были изменены посредством операции буферизации.