Создайте сигналы для основанной на кадре обработки

В основанной на кадре обработке блоки обрабатывают данные один кадр за один раз. Каждый кадр данных содержит последовательные выборки от независимого канала. Каждый канал представлен столбцом входного сигнала. Например, с основанной на кадре точки зрения обработки, следующее 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. Обратите внимание на то, что блок, получающий этот сигнал, реализует основанную на выборке обработку или основанную на кадре обработку на сигнале на основе набора параметров в диалоговом окне блока.

Создайте сигналы Используя блок синусоиды

  1. Создайте новую модель Simulink®.

  2. От библиотеки Sources перетащите блок Sine Wave в модель.

  3. От библиотеки Matrix Operations перетащите блок Matrix Sum в модель.

  4. От библиотеки Simulink Sinks перетащите блок To Workspace в модель.

  5. Соедините блоки в порядке, в котором вы добавили их в свою модель.

  6. Дважды кликните блок 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 строки.

  7. Сохраните эти параметры и закройте диалоговое окно путем нажатия на OK.

    Вы теперь успешно создали сигнал с тремя каналами, с выборками 64 на каждый кадр, с помощью блока Sine Wave. Остальная часть этой процедуры описывает, как добавить эти три синусоиды вместе.

  8. Дважды кликните блок Matrix Sum. Установите параметр Sum over на Specified dimension и установите параметр Dimension на 2. Нажмите OK.

  9. Из меню Display укажите на Signals & Ports и выберите Signal Dimensions.

  10. Запустите модель.

    Ваша модель должна теперь выглядеть подобной следующей фигуре. Можно также открыть модель путем ввода ex_usingsinwaveblkfb в командной строке MATLAB®.

    Три сигнала суммированы детально блоком Matrix Sum. Затем они экспортируются в рабочее пространство MATLAB.

  11. В командной строке MATLAB введите plot(yout(1:100)).

    Ваш график должен выглядеть подобным следующей фигуре.

Эта фигура представляет фрагмент суммы этих трех синусоид. Вы теперь добавили каналы сигнала с тремя каналами вместе и отобразили результаты в окне рисунка.

Создайте сигналы Используя сигнал от блока рабочей области

Основанная на кадре обработка может значительно улучшать производительность вашей модели путем уменьшения количества времени, которое это берет симуляцию, чтобы запустить. Эта тема описывает, как создать двухканальный сигнал с демонстрационным периодом 1 секунды, периодом кадра 4 секунд и форматом кадра 4 выборок с помощью блока Signal From Workspace.

  1. Создайте новую модель Simulink.

  2. От библиотеки Sources перетащите блок Signal From Workspace в модель.

  3. От библиотеки Simulink Sinks перетащите блок To Workspace в модель.

  4. Соедините два блока.

  5. Дважды кликните блок 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...

  6. Сохраните эти параметры и закройте диалоговое окно путем нажатия на OK.

  7. Из меню Display укажите на Signals & Ports и выберите Signal Dimensions.

  8. Запустите модель.

    Следующая фигура является графическим представлением поведения модели во время симуляции. Можно также открыть модель путем ввода ex_usingsfwblkfb в командной строке MATLAB.

  9. В командной строке 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.

Похожие темы