Этот пример показывает, как использовать 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);