主要内容

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

这个例子展示了如何从频率响应数据估计传递函数。您可以使用Sim金宝appulink®Control Design™从Simulink模型中收集频率响应数据特遣部队命令从测量数据估计传递函数。要使用先前保存的频率响应数据运行示例,请从估计传递函数部分。

提高转换器

打开Simulin金宝appk模型。

mdl =“iddemo_boost_converter”;open_system (mdl);

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

在这个例子中,我们感兴趣的是从PWM占空比设定点到负载电压Uout的传递函数。

收集频率响应数据

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

使用frestimate需要两个初步步骤

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

  • 定义在输入点注入的正弦信号

频率响应输入和输出点是使用linio命令的输出和本例中的DutyCycle而且电压测量块。

Ios = [...(mdl linio (,' / DutyCycle '), 1“输入”);...(mdl linio (,“/ PS金宝app-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金宝appink Control Design,使用以下命令加载保存的频率响应数据

负载iddemo_boostconverter_data

通过对频响数据的检验,我们认为该系统可以用二阶系统来描述。

sysA = tfest(sysData,2) figure, bode(sysData, 2)的r *、sysA bopt)
sysA =从输入“DutyCycle”到输出“PS-Simulink Converte金宝appr”:-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)