Этот пример показывает, как оценить передаточную функцию от данных о частотной характеристике. Вы используете Simulink® Control Design™, чтобы собрать данные о частотной характеристике из модели Simulink и команды tfest, чтобы оценить передаточную функцию от результатов измерений. Чтобы запустить пример с ранее сохраненными данными о частотной характеристике начинают с раздела Estimating a Transfer Function.
Пример требует Simulink Control Design™ и Степени Simscape Systems™.
Откройте модель Simulink.
mdl = 'iddemo_boost_converter';
open_system(mdl);

Модель имеет схему Конвертера Повышения, которая преобразовывает напряжение постоянного тока в другое напряжение постоянного тока (обычно более высокое напряжение) управляемым прерыванием или переключением исходного напряжения. В этой модели IGBT, управляемый сигналом PWM, используется для переключения.
Для этого примера мы интересуемся передаточной функцией от заданного значения рабочего цикла PWM до напряжения загрузки, Uout.
Мы используем команду frestimate, чтобы встревожить заданное значение рабочего цикла с синусоидами различных частот и регистрировать получившееся напряжение загрузки. От них мы находим, как система изменяет значение и фазу введенных синусоид, дающих нам дискретные точки на частотной характеристике.
Используя frestimate требует двух предварительных шагов
Определение точек ввода и вывода частотной характеристики
Определение синусоид, чтобы ввести в точке ввода
Точки ввода и вывода частотной характеристики создаются с помощью команды linio, и для этого примера выходные параметры блоков Voltage Measurement и DutyCycle.
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)
Для получения дополнительной информации об идентификации динамических систем с System Identification Toolbox посещают страницу информации о продукте System Identification Toolbox.