Спектр Анализатор

Этот пример показывает, как использовать Simulink® Real-Time™ в качестве спектра в реальном времени анализатор. Пример использует модель xpcdspspectrum. Исследовать разработку и реализацию ключевого блока, 'Осциллограф Спектра', щелкают правой кнопкой блок и выбирают 'Mask>> Look Under Mask'.

Пример отображает Быстрое преобразование Фурье (FFT) входного сигнала с помощью буфера 512 выборок. Входной сигнал является суммой двух синусоид, один с амплитудой 0,6 и частотой 250 Гц, другим с амплитудой 0,25 и частотой 600 Гц. Получившийся спектр отображен в осциллографе типа 'Цель' на мониторе целевого компьютера.

Пример также показывает, как можно использовать язык MATLAB®, чтобы изменить амплитуду и частоту входных синусоид, в то время как приложение запускается.

Чтобы запустить пример, вы, должно быть, установили DSP System Toolbox™ на своем компьютере разработчика и запустили целевой компьютер с целевых включенных осциллографов.

Проверяйте связь между разработкой и целевыми компьютерами

Используйте 'slrtpingtarget', чтобы протестировать связь между разработкой и целевыми компьютерами.

if ~strcmp(slrtpingtarget, 'success')
  error(message('xPCTarget:examples:Connection'));
end

Открытый, сборка и модель загрузки к целевому компьютеру

Откройте модель xpcdspspectrum. При настройках опции Simulink Real-Time параметра конфигурации модели системный конечный файл был установлен в slrt.tlc. Следовательно, создавание модели создаст исполняемое изображение, xpcdspspectrum.mldatx, который может быть запущен на компьютере, загруженном с Ядром Simulink Real-Time.

open_system(fullfile(matlabroot,'toolbox','rtw','targets','xpc','xpcdemos','xpcdspspectrum'));

Создайте модель и загрузите изображение, xpcdspspectrum.mldatx, к целевому компьютеру.

  • Сконфигурируйте для немногословной сборки.

  • Сборка и приложение загрузки.

set_param('xpcdspspectrum','RTWVerbose','off');
rtwbuild('xpcdspspectrum');
### Starting Simulink Real-Time build procedure for model: xpcdspspectrum
### Generated code for 'xpcdspspectrum' is up to date because no structural, parameter or code replacement library changes were found.
### Successful completion of build procedure for model: xpcdspspectrum
Warning: Unable to configure logging for model 'xpcdspspectrum' because it is
already configured. 
### Created MLDATX ..\xpcdspspectrum.mldatx
### Looking for target: TargetPC1
### Download model onto target: TargetPC1

Запустите модель и отобразите данные о спектре на графике

Создайте переменную MATLAB®, tg, содержа целевой объект Simulink Real-Time. Этот объект позволяет вам связываться с и управлять целевым компьютером. После запуска модели спектр будет отображен на экране целевого компьютера.

  • Создайте объект Simulink Real-Time

  • Запустите образцовое выполнение

  • Ожидайте осциллографа, который будет обновлен

  • Получите график спектра

tg = slrt;
tg.start;
pause(1);
tg.viewTargetScreen;
tg.StopTime = 60;
disp('Note: Model will continue to run for 60 seconds. To stop execution, type tg.stop')
Note: Model will continue to run for 60 seconds. To stop execution, type tg.stop

Изменение характеристик сигнала

Можно изменить амплитуду и частоту генераторов синусоиды, в то время как приложение запускается. Для этого сначала вызовите getparamid с целевым объектом, именем блока и названием параметра, чтобы получить объект параметра. Затем вызовите setparam с целевым объектом, объектом параметра и новым значением.

s1amp = getparamid(tg, 'Sine 1', 'Amplitude');

setparam(tg, s1amp, 0.3);

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

s1fre = getparamid(tg, 'Sine 1', 'Frequency');

setparam(tg, s1fre, 300);

s2amp = getparamid(tg, 'Sine 2', 'Amplitude');

setparam(tg, s2amp, 0.55);

s2fre = getparamid(tg, 'Sine 2', 'Frequency');

setparam(tg, s2fre, 500);