Отфильтруйте Кадры Шумного Синусоидального сигнала с помощью Генератора Испытательного стенда

Этот пример показывает, как использовать приложение Генератора Испытательного стенда Потоковой передачи, чтобы сгенерировать испытательные стенды алгоритма ЦОС. Алгоритм ЦОС, сгенерированный в этом примере, подобен алгоритму в Кадрах Фильтра Шумного Синусоидального сигнала в примере MATLAB. Тот пример фильтрует шумный синусоидальный сигнал с помощью КИХ lowpass фильтр и отображает спектр мощности с помощью спектра анализатор.

Потоковая передача приложения генератора испытательного стенда в качестве примера

Приложение Генератора Испытательного стенда Потоковой передачи помогает вам разработать и протестировать алгоритмы обработки сигналов потоковой передачи, позволяя вам быстро сгенерировать испытательные стенды. Чтобы запустить Генератор Испытательного стенда, введите testbenchGeneratorExampleApp в подсказке команды MATLAB. Команда запускает интерфейс, через который вы можете:

  1. Выберите набор источников и приемников.

  2. Введите имя функции своего пользовательского Пользовательского Алгоритма.

  3. Настройте свойства каждого из добавленных источников и приемников.

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

testbenchGeneratorExampleApp

Входные параметры - синусоиды и Белый шум

По умолчанию генератор испытательного стенда выбирает двухканальный источник синусоиды и белый Гауссов источник шума. Два канала источника синусоиды имеют частоты 1 кГц и 10 кГц. Частота дискретизации составляет 44,1 кГц. Белый Гауссов шумовой вход имеет среднее значение 0 и стандартное отклонение 0.1. Данные обрабатываются в кадрах 1 024 выборок. Чтобы добавить больше источников, используйте список под, Добавляет новый источник к вышеупомянутому списку входных параметров, чтобы выбрать один из поддерживаемых источников. Также можно добавить пользовательский источник Системного объекта путем выбора Custom System object из списка и нажатия на Add. Добавленный источник появляется в списке входных параметров.

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

Пользовательский алгоритм - фильтр Lowpass

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

edit hTestbenchLowpass

в подсказке команды MATLAB. hTestbenchLowpass признает, что два входных параметров, lowpass фильтрует сумму тех двух входных параметров и возвращает отфильтрованный сигнал. Это использует ограниченный equiripple КИХ-проект фильтра с частотой среза 5 кГц. Пульсации в полосе пропускания и полосе задерживания равны 0,05 и 0.001. Фильтрация выполняется с помощью dsp.FIRFilter, который оптимизирован для потоковой передачи.

Введите hTestbenchLowpass в текстовом поле User Algorithm, заменяющем dspStreamingPassthrough по умолчанию. Также можно поднять новый сеанс генератора испытательного стенда путем ввода testbenchGeneratorExampleApp('hTestbenchLowpass') в подсказке команды MATLAB.

Вывод

Спектр мощности вывода отображен на спектре анализатор в dBm. Можно добавить больше приемников, чтобы визуализировать или постобработать выходные параметры. Подобно входным параметрам можно использовать список под, Добавляет новый приемник к вышеупомянутому списку выходных параметров, чтобы добавить новый приемник и нажать Configure, чтобы изменить свойства выбранного приемника.

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

Сгенерируйте код и моделируйте

После того, как вы добавите и сконфигурируете источники и приемники и введете имя функции в текстовом поле User Algorithm, генератор испытательного стенда готов сгенерировать испытательный стенд код MATLAB. Чтобы сгенерировать код, нажмите на кнопку Generate MATLAB Code. Новый документ без названия открывается в редакторе MATLAB, содержащем сгенерированный код испытательного стенда.

Можно отредактировать сгенерированный код, чтобы настроить его прежде, чем выполнить его. Для примера по умолчанию сгенерированный код включен ниже. Выполняя этот код испытательного стенда, вы видите в спектре анализатор, что частоты выше 4 кГц в исходном сигнале ослабляются. Получившийся сигнал поддерживает пик на уровне 1 кГц, потому что падения на 1 кГц полосы пропускания lowpass фильтруют.

Потоковая передача скрипта испытательного стенда, Сгенерированного путем Потоковой передачи Генератора Испытательного стенда

% Initialization
numIterations = 10000;

% Construct sources (for all inputs)
src1 = dsp.SineWave('Frequency',[1000 10000], ...
    'SampleRate',44100, ...
    'SamplesPerFrame',1024);

% Construct sinks (for all outputs)
sink1 = dsp.SpectrumAnalyzer('SampleRate',44100, ...
    'PlotAsTwoSidedSpectrum',false, ...
    'ShowLegend',true);

% Stream processing loop
clear hTestbenchLowpass;
for i = 1:numIterations
    % Sources
    in1 = src1();
    in2 = 0.1*randn(1024,2);

    % User Algorithm
    out1 = hTestbenchLowpass(in1,in2);

    % Sinks
    sink1(out1);
end

% Clean up
release(src1);
release(sink1);

Больше индивидуальных настроек в генераторе испытательного стенда

Генератор испытательного стенда предлагает дополнительные индивидуальные настройки верхнего уровня, которые можно сконфигурировать использование диалогового окна Testbench Generator Settings. Чтобы открыть это диалоговое окно, выберите Settings> Testbench Generator Settings....

Можно также настроить некоторые параметры, используемые в алгоритме во время выполнения испытательного стенда. Чтобы использовать Параметр, Настраивающий пользовательский интерфейс, проверяйте Разрешать настраивающий флажок параметра в соответствии с Пользовательским Алгоритмом и нажмите, редактируют таблицу параметров, чтобы добавить детали ваших настраиваемых параметров, прежде чем вы сгенерируете код испытательного стенда. Кроме того, убедитесь, что ваш пользовательский алгоритм обрабатывает параметр, настраивающийся во время выполнения. См. код MATLAB для hTestbenchVariableBandwithFIR для примера того, как заставить ваш пользовательский алгоритм работать с настройкой параметра.

Для просмотра документации необходимо авторизоваться на сайте