主要内容

伪随机二元序列在模型线性器中的频响估计

本例展示了如何使用Simscape™Electrical™组件在Simulink®中建模的电力电子系统,使用伪随机二进制序列(PRBS)识别频域模型。本示例解决了使用伪随机二进制序列作为输入信号的控制器设计工作流中的频率响应估计过程。

通常,电力电子系统不能线性化,因为它们使用高频开关元件,如脉宽调制(PWM)发生器。然而,大多数Simulink Control Design™PID整定工具基于线性化的工厂模型设计PID增益。为了获得一个不能线性化的电力电子模型的这样一个模型,你可以在一个频率范围内估计电厂的频率响应,如本例所示。

要收集频率响应数据,你可以:

  • 估计在命令行上的设备频率响应。

  • 估计植物频率响应使用模型线性化电路应用程序。

这个例子展示了如何估计植物的频率响应模型线性化电路。要了解如何在命令行使用PRBS输入信号估计电力电子系统的工厂频率响应,请参见基于伪随机二元信号的电力电子模型频响估计

提高转炉模型

本例使用升压转换器模型作为电力电子系统。升压变换器电路通过控制源电压的斩波或开关,将一个直流电压转换为另一个,通常是更高的直流电压。

mdl =“scdboostconverter”;open_system (mdl)

该模型使用由PWM信号驱动的MOSFET进行切换。输出电压 V o u t 是规范到参考值的吗 V r e f 。数字PID控制器调节PWM占空比, D u t y ,根据电压误差信号。对于这个例子,你估计了从PWM占空比到负载电压的频率响应 V o u t

Simscape电气软件包含许多电力电子系统的预定义块。该模型包含一个具有两个版本的升压转换器模型的变体子系统:

  • 用电力元件构造的升压变换器电路。所述电路元件的参数是基于[1]

  • 升压转换器块配置为具有与升压转换器电路相同的参数。有关此块的更多信息,请参见提高转换器(Simscape电气)

要使用Boost Converter块版本的子系统,在模型中,单击提高转炉块或使用以下命令。

set_param ([bdroot/提高转换器的),“OverrideUsingVariant”,“block_boost_converter”);

打开模型线性化器,查找模型操作点

打开模型线性化电路,在Simulink模型窗口中,在应用程序画廊,点击模型线性化电路

要估计升压变换器的频率响应,必须首先确定你希望变换器工作的稳态工作点。有关寻找工作点的更多信息,请参见寻找Simscape模型的稳态操作点。对于本例,使用从0.045秒的模拟快照中估计的工作点。

要指定模拟快照时间,在模型线性化电路,在线性分析选项卡,操作点列表中,选择采取模拟快照

在输入快照时间来线性化对话框中,在模拟快照时间字段中,输入0.045

点击采取快照寻找模型的工作点。一个操作点,op_snapshot1,出现在数据浏览器,在线性分析工作区部分。

要用计算的操作点初始化模型,双击op_snapshot1,然后在编辑对话框中单击初始化模型

op_snap.png

init_dialog.png

在“初始化模型”对话框中指定a变量名用于操作点对象。或者,你也可以使用默认的变量名。

要将操作点导出到MATLAB®工作区,并将模型初始条件设置为该操作点,请单击好吧

指定要估计的模型的部分

默认情况下,模型线性化电路使用模型中定义的线性化分析点模式I / o),以确定在哪里注入测试信号和在哪里测量频率响应。该模型scdboostconverter包含预定义的线性分析点:PID控制器输出的输入点和负反馈和块之前的开环输出。

如果你想获得模型的不同部分的频率响应,在估计选项卡的模型线性化电路,可以使用分析I / o下拉列表。用于估计的分析点与用于线性化的分析点的工作方式相同。有关线性分析点的更多信息,请参见指定部分模型要线性化

创建伪随机二进制序列输入信号

PRBS是一个周期性的确定性信号,具有类似白噪声的属性,在两个值之间移动。一个PRBS是一个固有的周期信号,其最大周期长度为 2 n - 1 ,在那里 n 是PRBS命令。

创建一个PRBS输入信号,在模型线性化电路,在估计选项卡,在输入信号中,选择PRBS伪随机二元序列

prbs_sel.png

在“创建PRBS输入”对话框中,首先设置样品时间5 e-6来匹配模型中输入信号注入点的采样时间。接下来,指定频率范围为300 rad/s到30000 rad/s使用最小值马克斯参数,然后点击计算参数。软件计算信号参数。数量的时间信号顺序基于指定的频率范围。自动参数确定有助于创建一个输入信号,导致在指定的频率范围内的精确频率响应。

prbs_in1.png

若要使用非周期性的PRBS,请设置数量的时间参数1

为确保系统被适当激发,将摄动振幅设置为0.05使用振幅参数。如果输入幅值太大,boost转换器工作在间断电流模式。如果输入幅值过小,则PRBS与电力电子电路中的波纹难以区分。

prbs_in2.png

点击好吧。该软件将PRBS信号添加到线性分析工作区

收集频率响应数据

估计选项卡上,选择op_snapshot1作为估计作业点。

estimationtab.png

在产生时变信号的线性化输出的信号路径中找到所有的源块。这样的时变信号会干扰线性化输出点处的信号,产生不准确的估计结果。若要禁用时变源块,请单击更多的选择。在“频率响应估计选项”对话框中,在随时间变化的来源选项卡上,单击自动查找和添加时变源块

timvar_dialog.png

块路径出现后关闭对话框。

要估计和绘制频率响应,在估计选项卡上,单击波德。估计系统,estsys1,出现在线性分析工作区和被添加到波德图1

prbs_boostestsys1.png

频率响应估计结果细化

PRBS输入信号的频率响应估计产生大量频率点的结果。您可以使用结果变薄功能从估计的频率响应模型中跨指定的频率范围和频率点的数量提取插值结果。

要在300 rad/s到30000 rad/s的所需频率范围内提取结果,请选择estsys1线性分析工作区,以及关于情节和结果选项卡单击结果变薄。在“指定频率”对话框中,输入频率范围为300 rad/s ~ 30000 rad/s。另外,指定30个对数间隔的频率点。

prbs_resthin.png

点击好吧。估计系统,estsys1_thinned,出现在线性分析工作区。要绘制稀释后的结果,请选择estsys1_thinned并点击波德。

prbs_boostestsys1_thinned.png

比较频率响应数据与Sinestream FRE结果

模型线性化电路,您还可以将频率响应数据与使用正弦流信号获得的结果进行比较。使用以下命令加载所提供的频响估计结果。

负载frdSinestream

结果estsysSinestream是一个具有15个对数间隔频率的模型,使用从50赫兹到5千赫的正弦流估计。

来比较sinstream的结果和模型线性化电路中,选择estsysSinestreamMATLAB的工作区面板的数据浏览器并点击波德图2

sine_thinprbs_compare.png

中选择输入信号,求出一个输入信号进行频响估计所花费的最终仿真时间线性分析工作区,查看仿真时间变量预览面板的模型线性化电路。或者,您也可以将输入信号导出到MATLAB工作区,并使用getSimulationTime函数。为本例加载先前保存的会话。

负载boostconv_frdPRBS.mattfinal_sinestream = in_sine1.getSimulationTime
tfinal_sinestream = 0.2833
tfinal_prbs = in_prbs1.getSimulationTime
tfinal_prbs = 0.0819

的模拟时间in_prbs1大约30%的时间被占用了吗in_sine1来估计模型的频率响应。这表明,使用PRBS输入信号的频响估计要比使用正弦流输入信号快得多。

估计的频率响应结果estsys1_thinned匹配estsysSinestream。由于PRBS输入信号估计了大量频率点的频率响应,估计结果提供了更多关于系统谐振特性的信息。为了使用正弦流输入信号得到类似的结果,可能需要增加频率点的数量,这将导致估计时间的增加。与使用正弦流信号进行估计相比,您可以使用这种方法在更短的模拟时间内获得准确的频率响应估计结果。

关闭模式。

close_system (mdl, 0)

参考文献

[1] Lee, S. W.电压型升压变换器的实用反馈回路分析。申请报告SLVA633。德州仪器公司,2014年版。https://www.ti.com/lit/an/slva633/slva633.pdf。

另请参阅

相关的话题

Baidu
map