升压变换器传递函数模型的估计
这个例子展示了如何从频率响应数据估计传递函数。您可以使用Sim万博1manbetxulink®Control Design™从Simulink模型中收集频率响应数据特遣部队
命令从测量数据估计传递函数。要使用先前保存的频率响应数据运行示例,请从估计传递函数部分。
提高转换器
打开Simulin万博1manbetxk模型。
mdl =“iddemo_boost_converter”;open_system (mdl);
该模型是一个升压转换器电路,通过控制源电压的斩波或开关,将直流电压转换为另一个直流电压(通常是更高的电压)。在该模型中,由PWM信号驱动的IGBT用于开关。
在这个例子中,我们感兴趣的是从PWM占空比设定点到负载电压Uout的传递函数。
收集频率响应数据
我们使用frestimate
命令用不同频率的正弦波扰动占空比设定点,并记录产生的负载电压。从这些我们发现系统如何修改注入正弦信号的幅度和相位,从而给出频率响应上的离散点。
使用frestimate
需要两个初步步骤
指定频率响应输入和输出点
定义在输入点注入的正弦信号
频率响应输入和输出点是使用linio
命令的输出和本例中的DutyCycle
而且电压测量
块。
Ios = [...(mdl linio (,' / DutyCycle '), 1“输入”);...(mdl linio (,“/ PS万博1manbetx-Simulink转换器”), 1“输出”));
我们使用弗列斯特。Sinestream
命令定义要在输入点注入的正弦信号。我们对频率范围200到20k rad/s感兴趣,并希望将占空比扰动0.03。
F = logspace(log10(200),log10(20000),10);In =最先。Sinestream (“频率”f“振幅”, 0.03);
用此正弦流信号模拟模型所需的仿真时间由函数确定getSimulationTime
命令,因为我们知道模型所使用的模拟结束时间,我们可以知道正弦流模拟只需运行模型就会占用多长时间。
getSimulationTime / 0.02
Ans = 15.5933
我们使用定义的输入和正弦流frestimate
计算频率响应上的离散点。
[sysData,simlog] = fretimate (mdl,ios,in);Bopt = bodeoptions;bopt。网格=“上”;bopt。PhaseMatching =“上”;波德图(sysData,“* r”bopt)
波德响应显示,该系统的增益为56db,一些小谐振约为2500 rad/s,高频滚转约为20 db/decade,与我们对该电路的预期相符。
的frest.simView
命令允许我们在一个图形界面中检查显示注入信号、测量输出和频率响应的动态过程。
frest.simView (simlog sysData);
图中显示了模型对注入正弦信号的响应以及模型响应的FFT。请注意,注入的正弦波导致信号具有主频和有限的谐波,表明线性模型和成功的频响数据采集。
估计传递函数
在前一步中,我们收集了频率响应数据。这些数据将系统描述为离散的频率点,现在我们为数据拟合一个传递函数。
我们使用Simulink Control Design生成频率响应数据,如果没有安装Simul万博1manbetxink Control Design,使用以下命令加载保存的频率响应数据
负载iddemo_boostconverter_data
通过对频响数据的检验,我们认为该系统可以用二阶系统来描述。
sysA = tfest(sysData,2) figure, bode(sysData, 2)的r *、sysA bopt)
sysA =从输入“DutyCycle”到输出“PS-Simulink Converte万博1manbetxr”:-4.456e06 s + 6.175e09 ----------------------- s^2 + 6995 s + 9.834e06连续时间识别传递函数。参数化:极点数:2零数:1自由系数数:4参数及其不确定度使用“tfdata”、“getpvec”、“getcov”。状态:在频响数据“sysData”上使用TFEST进行估计。拟合估计数据:98.04% FPE: 281.4, MSE: 120.6
在给定的频率范围内,估计的传递函数是准确的。
bdclose (mdl)