В этом примере показано, как оценить передаточную функцию из данных о частотной характеристике. Вы используете Simulink® Control Design™, чтобы собрать данные о частотной характеристике из модели Simulink и tfest
команда, чтобы оценить передаточную функцию от результатов измерений. Чтобы запустить пример с ранее сохраненными данными о частотной характеристике начинают с раздела Estimating a Transfer Function.
Откройте модель Simulink.
mdl = 'iddemo_boost_converter';
open_system(mdl);
Модель имеет схему Конвертера Повышения, которая преобразует напряжение постоянного тока в другое напряжение постоянного тока (обычно более высокое напряжение) управляемым прерыванием или переключением исходного напряжения. В этой модели IGBT, управляемый сигналом PWM, используется для переключения.
Для этого примера мы интересуемся передаточной функцией от заданного значения рабочего цикла PWM до напряжения загрузки, Uout.
Мы используем frestimate
команда, чтобы встревожить заданное значение рабочего цикла с синусоидами различных частот и регистрировать получившееся напряжение загрузки. От них мы находим, как система изменяет величину и фазу введенных синусоид, дающих нам дискретные точки на частотной характеристике.
Используя frestimate
требует двух предварительных шагов
Определение точек ввода и вывода частотной характеристики
Определение синусоид, чтобы ввести в точке ввода
Точки ввода и вывода частотной характеристики создаются с помощью linio
командой и для этого примера являются выходные параметры DutyCycle
и Voltage Measurement
блоки.
ios = [... linio([mdl,'/DutyCycle'],1,'input'); ... linio([mdl,'/PS-Simulink Converter'],1,'output')];
Мы используем frest.Sinestream
команда, чтобы задать синусоиды, чтобы ввести в точке ввода. Мы интересуемся частотным диапазоном 200 к 20k rad/s и хотим встревожить рабочий цикл 0,03.
f = logspace(log10(200),log10(20000),10); in = frest.Sinestream('Frequency',f,'Amplitude',0.03);
Время симуляции, требуемое симулировать модель с этим сигналом потока синуса, определяется с помощью getSimulationTime
команда и когда мы знаем время окончания симуляции, используемое моделью, мы можем понять то, насколько дольше симуляция потока синуса примет простое выполнение модели.
getSimulationTime(in)/0.02
ans = 15.5933
Мы используем заданные входные параметры и поток синуса с frestimate
вычислить дискретные точки на частотной характеристике.
[sysData,simlog] = frestimate(mdl,ios,in); bopt = bodeoptions; bopt.Grid = 'on'; bopt.PhaseMatching = 'on'; figure, bode(sysData,'*r',bopt)
Предвещать ответ показывает систему с усилением на 56 дБ, некоторый незначительный резонанс приблизительно 2 500 рад/с и высокочастотный крен прочь приблизительно 20 дБ/десятилетие, соответствующих, что мы ожидали бы для этой схемы.
frest.simView
команда позволяет нам смотреть frestimate процесс, показывающий введенный сигнал, измеренный выход и частотную характеристику в одном графическом интерфейсе.
frest.simView(simlog,in,sysData);
Рисунок показывает ответ модели на введенные синусоиды и БПФ ответа модели. Заметьте, что введенные синусоиды приводят к сигналам с доминирующей частотой и ограниченными гармониками, указывающими на линейный и успешный сбор данных частотной характеристики модели.
На предыдущем шаге мы собрали данные о частотной характеристике. Эти данные описывают систему как дискретные точки частоты, и мы теперь соответствуем передаточной функции к данным.
Мы сгенерировали данные о частотной характеристике с помощью Simulink Control Design, если Simulink Control Design не установлен, используют следующую команду, чтобы загрузить сохраненные данные о частотной характеристике
load iddemo_boostconverter_data
Осмотр данных о частотной характеристике, мы ожидаем, что система может быть описана системой второго порядка.
sysA = tfest(sysData,2)
figure, bode(sysData,'r*',sysA,bopt)
sysA = From input "DutyCycle" to output "PS-Simulink Converter": -4.456e06 s + 6.175e09 ----------------------- s^2 + 6995 s + 9.834e06 Continuous-time identified transfer function. Parameterization: Number of poles: 2 Number of zeros: 1 Number of free coefficients: 4 Use "tfdata", "getpvec", "getcov" for parameters and their uncertainties. Status: Estimated using TFEST on frequency response data "sysData". Fit to estimation data: 98.04% FPE: 281.4, MSE: 120.6
Предполагаемая передаточная функция точна по обеспеченному частотному диапазону.
bdclose(mdl)