升压变换器传递函数模型的估计
这个例子展示了如何从频率响应数据估计传递函数。您可以使用Sim万博1manbetxulink®Control Design™从Simulink模型和特遣部队
命令从测量数据中估计传递函数。要使用先前保存的频率响应数据运行该示例,请从传递函数的估计部分。
提高转换器
打开Simulin万博1manbetxk模型。
mdl =“iddemo_boost_converter”;open_system (mdl);
该模型是一个Boost Converter电路,通过可控的斩波或源电压的开关,将一个直流电压转换为另一个直流电压(通常是更高的电压)。在该模型中,由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 = frest。Sinestream (“频率”f“振幅”, 0.03);
用此正弦流信号模拟模型所需的模拟时间由getSimulationTime
命令,因为我们知道模型使用的模拟结束时间,我们可以得到一个想法,正弦流模拟将占用多长时间简单运行模型。
getSimulationTime / 0.02
Ans = 15.5933
我们使用已定义的输入和正弦流frestimate
计算频率响应上的离散点。
[sysData,simlog] = fresestimate (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)