В основанной на кадре обработке блоки обрабатывают данные один кадр за один раз. Каждый кадр данных содержит последовательные выборки от независимого канала. Каждый канал представлен столбцом входного сигнала. Например, с основанной на кадре точки зрения обработки, следующее 3 2 матрица имеет два канала, каждый из которых содержит три выборки.
Когда вы конфигурируете блок, чтобы выполнить основанную на кадре обработку, блок интерпретирует M-by-1 вектор как одноканальный сигнал, содержащий выборки M на кадр. Точно так же блок интерпретирует M-by-N матрица как многоканальный сигнал с N независимые каналы и выборки M на канал. Например, в основанной на кадре обработке, блоки интерпретируют следующую последовательность 3 2 матриц как двухканальный сигнал с форматом кадра 3.
Используя основанную на кадре обработку выгодно для многих приложений обработки сигналов, потому что можно обработать несколько выборок целиком. Путем буферизации данных в кадры и обработки мультидемонстрационных кадров данных, можно часто улучшать вычислительное время алгоритмов обработки сигналов. Чтобы выполнить основанную на кадре обработку, у вас должна быть лицензия DSP System Toolbox™.
Для получения дополнительной информации о недавних изменениях в основанной на кадре обработке, смотрите, что Основанное на кадре обрабатывает раздел изменений DSP System Toolbox Информация о релизах.
Эта страница обсуждает сигналы создания для основанной на кадре обработки с помощью блока Sine Wave и блока Signal From Workspace. Обратите внимание на то, что блок, получающий этот сигнал, реализует основанную на выборке обработку или основанную на кадре обработку на сигнале на основе набора параметров в диалоговом окне блока.
Создайте новую модель Simulink®.
От библиотеки Sources перетащите блок Sine Wave в модель.
От библиотеки Matrix Operations перетащите блок Matrix Sum в модель.
От библиотеки Simulink Sinks перетащите блок To Workspace в модель.
Соедините блоки в порядке, в котором вы добавили их в свою модель.
Дважды кликните блок Sine Wave и установите параметры блоков можно следующим образом:
Amplitude = [1 3 2]
Frequency = [100 250 500]
Sample time = 1/5000
Samples per frame = 64
На основе этих параметров, блок Sine Wave выходные параметры три синусоиды с амплитудами 1
, 3
, и 2
и частоты 100
, 250
и Гц 500
, соответственно. Демонстрационный период, 1/5000, является 10 раз самой высокой частотой синусоиды, которая удовлетворяет критерий Найквиста. Формат кадра 64 для всех синусоид, и, поэтому, вывод имеет 64 строки.
Сохраните эти параметры и закройте диалоговое окно путем нажатия на OK.
Вы теперь успешно создали сигнал с тремя каналами, с выборками 64
на каждый кадр, с помощью блока Sine Wave. Остальная часть этой процедуры описывает, как добавить эти три синусоиды вместе.
Дважды кликните блок Matrix Sum. Установите параметр Sum over на Specified dimension
и установите параметр Dimension на 2
. Нажмите OK.
Из меню Display укажите на Signals & Ports и выберите Signal Dimensions.
Запустите модель.
Ваша модель должна теперь выглядеть подобной следующей фигуре. Можно также открыть модель путем ввода ex_usingsinwaveblkfb
в командной строке MATLAB®.
Три сигнала суммированы детально блоком Matrix Sum. Затем они экспортируются в рабочее пространство MATLAB.
В командной строке MATLAB введите plot(yout(1:100))
.
Ваш график должен выглядеть подобным следующей фигуре.
Эта фигура представляет фрагмент суммы этих трех синусоид. Вы теперь добавили каналы сигнала с тремя каналами вместе и отобразили результаты в окне рисунка.
Основанная на кадре обработка может значительно улучшать производительность вашей модели путем уменьшения количества времени, которое это берет симуляцию, чтобы запустить. Эта тема описывает, как создать двухканальный сигнал с демонстрационным периодом 1 секунды, периодом кадра 4 секунд и форматом кадра 4 выборок с помощью блока Signal From Workspace.
Создайте новую модель Simulink.
От библиотеки Sources перетащите блок Signal From Workspace в модель.
От библиотеки Simulink Sinks перетащите блок To Workspace в модель.
Соедините два блока.
Дважды кликните блок Signal From Workspace и установите параметры блоков можно следующим образом.
Signal = [1:10; 1 1 0 0 1 1 0 0 1 1]'
Sample time = 1
Samples per frame = 4
Form output after final data value by = Setting to zero
На основе этих параметров блок Signal From Workspace выводит двухканальный сигнал с демонстрационным периодом 1 секунды, периодом кадра 4 секунд и форматом кадра четырех выборок. После того, как блок выводит сигнал, все последующие выходные параметры имеют значение нуля. Два канала содержат следующие значения:
Канал 1: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 0...
Канал 2: 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0...
Сохраните эти параметры и закройте диалоговое окно путем нажатия на OK.
Из меню Display укажите на Signals & Ports и выберите Signal Dimensions.
Запустите модель.
Следующая фигура является графическим представлением поведения модели во время симуляции. Можно также открыть модель путем ввода ex_usingsfwblkfb
в командной строке MATLAB.
В командной строке MATLAB введите yout
.
Следующим является вывод, отображенный в командной строке MATLAB.
yout = 1 1 2 1 3 0 4 0 5 1 6 1 7 0 8 0 9 1 10 1 0 0 0 0
Обратите внимание на то, что нули были добавлены в конец каждого канала. Вы теперь успешно создали двухканальный сигнал и экспортировали его в рабочее пространство MATLAB.