估计传递函数模型的升压转换器

此示例示出了如何从频率响应数据估算的传递函数。您使用的Simu万博1manbetxlink控制设计™收集频率响应数据从Simulink模型和tfest命令从所测量的数据估算的传递函数。运行该示例与先前保存的频率响应数据从一开始估计传递函数部分。

升压转换器

打开Simulin万博1manbetxk模型。

MDL ='iddemo_boost_converter';open_system(MDL);

该模型是升压转换器电路,其由直流电压变换为另一直流电压(通常更​​高的电压)来控制斩波或源极电压的开关的。在这个模型中由PWM信号驱动的IGBT被用于切换。

对于这个例子,我们从PWM占空比设定点的负载电压,U输出感兴趣的传递函数。

收集频率响应数据

我们使用frestimate命令扰动占空比设定点具有不同频率的正弦曲线,并记录得到的负载电压。从这些我们发现系统如何修改注入的正弦曲线给我们上的频率响应离散点的幅度和相位。

运用frestimate需要两个预备步骤

  • 指定的频率响应输入和输出点

  • 定义血窦在输入点注入

使用创建的频率响应输入和输出点的LiNiO命令和对于这个例子是的输出占空比电压测量块。

IOS = [...的LiNiO([MDL,'/占空比'],1,“输入”);...的LiNiO([MDL,'/ PS万博1manbetx-Simulink的转换器'],1,“输出”)];

我们使用frest.Sinestream命令在输入点定义正弦注入。我们感兴趣的频率范围200〜20K弧度/秒,并且希望通过0.03扰动占空比。

F = LOGSPACE(日志10(200),日志10(20000),10);在= frest.Sinestream('频率',F,'振幅',0.03);

以模拟与此正弦流信号模型所需的仿真时间使用所确定的getSimulationTime指挥,因为我们知道在模型中使用的模拟结束时间,我们可以得到的正弦流模拟将多少时间接管只需运行模型的想法。

getSimulationTime(在)/0.02
ANS = 15.5933

我们使用已定义的输入和正弦流与frestimate来计算的频率响应的离散点。

[SYSDATA,simlog] = frestimate(MDL,IOS,IN);BOPT = bodeoptions;bopt.Grid ='上';bopt.PhaseMatching ='上';图中,博德(SYSDATA,'* R',BOPT)

伯德回应显示了一个56分贝增益,围绕2500拉德一些轻微的共振/ S和高频滚降的20 dB /十倍频匹配我们期望这个电路的系统。

frest.simView命令允许我们检查示出所注入的信号,测得的输出,并且在一个图形界面的频率响应frestimate过程。

frest.simView(simlog,在,SYSDATA);

该图示出了与注入血窦和模型响应的FFT模型响应。注意,注入正弦波导致具有主频率指示的线性模型和成功的频率响应数据采集信号和限制的谐波。

估计传递函数

在前面的步骤中,我们收集的频率响应数据。这个数据描述了系统的离散频率点,我们现在适应的传递函数的数据。

我们产生利用Simulink控制设计的频率响应数据,如果未安装的Simulink控制设计使用下万博1manbetx面的命令来加载保存的频率响应数据

加载iddemo_boostconverter_data

检查我们预计,该系统可以通过一个二阶系统来描述的频率响应数据。

sysA中= tfest(SYSDATA,2)图中,波特(SYSDATA,'R *',sysA中,BOPT)
sysA中=从输入 “占空比” 输出 “PS-Simulink的转换器”:-4.456e万博1manbetx06 S + 6.175e09 -----------------------秒2 +6995个S + 9.834e06连续时间识别的传递函数。参数:极数:2数量的零:1免费的系数数目:4使用“tfdata”,“getpvec”,“getcov”为参数及其不确定性。状态:使用TFEST频率响应数据“SYSDATA”估算。适合估计数据:98.04%FPE:281.4,MSE:120.6

估计的传递函数是准确的在提供的频率范围。

bdclose(MDL)

附加信息

有关使用系统辨识工具箱动态系统的识别更多信息,请访问系统辨识工具箱产品信息页面。