技术文章和通讯

估计电力电子模型的频率响应:正弦流与伪随机二进制序列(PRBS)

Antonino Riccobono和Arkadiy Turevskiy, MathWorks


本文是由两部分组成的系列文章的第二部分。第1部分,电力电子模型的频率响应估计,介绍了一种用于估计开环升压变换器频率响应的六步工作流程。

电力电子工程师可以使用Simulink控制设计中可用的频率响应估计(FRE)工具™ 将开关模式电力电子转换器线性化,例如,使用Simscape Electrical建模™ 组件。使用金宝appFRE,选择转换器模型的相关部分,并在稳态下向系统注入振幅和频率可控的扰动信号。然后可以计算频率响应或表示工作点附近系统动力学的传递函数。

在Simulink控制设计中,窄带和宽带信号都可用(图1)。sinstream是一种窄带扰动信号,因为它的频金宝app率内容被限制在几个频率点上。随机、啁啾和伪随机二进制序列(PRBS)是宽带扰动信号,因为它们的频率内容分布在一定的频谱上。

图1所示。在Simulink控制设计中,模型线性化器的估计选项卡中有摄动信号。金宝app

本文比较了带正弦流和带PRBS的开环降压变换器的FRE,重点讨论了估计时间、估计频率点的数目和估计精度。

巴克转换器的例子

降压变换器是一种电力电子拓扑结构,它可以提供直流电压低于直流电源电压的负载。它广泛应用于不同功率等级的许多应用,包括消费电子产品、电动汽车、更电动的船舶和飞机、可再生能源和LED驱动器。下载188bet金宝搏

图2显示了用Simscape Electrical™组件建模的开关模式降压转换器。它以连续导通模式(CCM)工作,即电感电流在稳定状态下永不归零。该变换器在开环运行,由一个恒定占空比的PWM发生器块驱动。为了模拟一个真实的嵌入式控制器,模型中包含了采样。设置线性化输入和输出分析点来识别控制-输出传递函数。

图2。Buck转换器模型显示采样时间(绿色和红色),以及用于频率响应估计的输入和输出分析点(蓝色矩形内)。

Sinestream或伪随机位序列?建立比较分析

正弦流由一系列频率递增的正弦波组成。为了覆盖所需的频率范围,需要以可控的频率增量扫描正弦波输入。每个频率都会在一定的周期内激励系统。如果需要许多频点,或者如果需要在低频下估计频率响应,则估计时间可能很长。

伪随机二进制序列(PRBS)减少了估计时间。PRBS是一种确定性信号,在两个值之间进行转换,并具有类似白噪声的特性。PRBS信号固有周期性,最大周期长度为2n-1,在哪里n是PRBS订单。

图3显示了在降压变换器的占空比模块的输出处注入的正弦流信号。它已经用模型线性化应用程序设置了15个对数间隔频率,从100赫兹到20 kHz,每个峰值振幅0.02(2%占空比)。每个频率由四个周期表示。

图3。sinestream波形。

图4显示了在模型线性化器中设置的单周期PRBS信号,阶数为11,(峰-峰)幅值为0.04。sinstream和PRBS的采样时间均设置为10µs,必须与对照采样时间一致。

图4左:PRBS信号。右:放大视图。

要生成图3和图4所示的图形,在Model Linearizer应用程序中创建扰动对象,移动对象in_sine1in_prbs1MATLAB的®工作区(图5),然后使用以下命令:

>>在\u sine1.plot中>>在\u prbs1.plot中

图5。将sinestream和PRBS对象(蓝色)和frd对象(红色)移动到MATLAB工作区。

估计时间

估计时间是经过的壁时钟时间(使用注入的正弦流或PRBS信号运行模拟所需的时间)加上频率响应计算时间(计算输入上输出的快速傅里叶变换[FFT]的时间)的总和。由于计算时间通常明显短于挂钟时间,因此我们的buck转换器示例将重点介绍后者。运行的挂钟时间取决于模拟时间。

在我们的示例中,正弦流信号的模拟时间由15个周期中的每个周期的4倍给出,每个周期对应于所选对数间隔频率中的一个。您可以按如下方式计算:

>>in_sine1.getSimulationTime ans=0.1265

PRBS的仿真时间由最大周期长度2给出n-1乘以采样时间。用于PRBS信号in_prbs1如图4所示,n = 11,采样时间为10µs。你可以这样计算:

> > in_prbs1。getSimulationTime ans = 0.0205

请注意,您需要移动对象in_sine1in_prbs1到MATLAB工作空间(图5)以执行上述命令。

估计频率点的数目

估计的频率点的数目联邦德国对象依赖于用于估计的输入信号。

如果使用正弦流信号,则估计的联邦德国对象是该信号中指定的频率。在启动以下命令后,您可以使用MATLAB变量编辑器(图6)验证哪些频率是存在的:

>> f_SineStream = estsys_SineStream.Frequency;

图6。f_SineStream的15个频率在变量编辑器中以rad/s为单位。

如果使用PRB,频率点由FFT计算确定。如变量编辑器所示(图7),启动以下命令后,将计算1024个频率点:

>> f_PRBS = estsys_PRBS.Frequency;

图7。在变量编辑器中f_PRBS的1024个频率,单位是rad/s。

注意向量f_PRBS包含1023个正频率以及频率点“0”。在FFT计算过程中,负频率被丢弃。

估计的准确性

与对象estsys_SineStreamestsys_PRBS移动到MATLAB工作空间,可以得到带有sinstream和PRBS的非参数估计结果的Bode图(图8)。结果是一致的,尽管在高频使用PRBS的估计似乎是粗糙的。

图8。非参数估计结果的Bode图与正弦流(红星)和PRBS(蓝点)。

注意,当您直接控制最小和最大可识别频率与正弦流,这种控制是间接与PRBS。实际上,最小可识别频率由模拟时间的倒数(1/0.0205 = 48.7805 Hz)给出,最大可识别频率由开关频率(100e3/2 = 50 kHz)的一半Nyquist频率给出,如图8中的垂直线所示。

我们现在可以计算和比较参数估计。如中所述本系列的第1部分,则可使用特遣部队从系统识别工具箱™。

对于sinestream的参数估计,你只需执行以下命令来估计一个具有2个极点和没有零的传递函数:

paramsys_SineStream = tfeest (estsys_SineStream, 2, 0, iodelay);

的变量iodelay考虑计算、PWM和采样引入的延迟。图9显示了正弦流参数和非参数估计的Bode图。

图9。正弦流参数和非参数估计的Bode图。

对于带PRBS的参数估计,最好细化数据点,以确保要处理的频率点数量可控,权重相等特遣部队. 下面的代码创建一个联邦德国对象包含100个对数间隔的频率,频率在100 Hz和20 kHz之间。这个函数插值函数在系统标识工具箱中提供。

%非参数估计fmin=100;%赫兹fmax = 20 e3;%赫兹Nfreq = 100;f = logspace (log10 (fmin) log10 (fmax) Nfreq);%在新频率网格上插值FRD数据estsys_-PRBS_-thinked=interp(estsys_-PRBS,2*pi*f);

然后,可以用以下方法计算参数模型:

paramsys_PRBS=tfest(减薄后的estsys_PRBS,2,0,碘量);

图10为采用PRBS的参数化和非参数化稀疏估计的Bode图。

图10。带PRBS的参数和非参数稀疏估计的Bode图。

最后,如果您使用sinestream和PRB绘制参数估计,并将其与等效的分析控制输出传递函数(图11)进行比较,您可能会注意到以下几点:

  • 共振频率附近的参数估计与正弦流的误差是由于初始频率数选择不当造成的。
  • 采用PRBS的参数估计与解析传递函数非常接近。

图11。与解析传递函数相比,正弦流和PRBS参数估计的Bode图。

结论和建议

基于PRBS的FRE是一种快速计算Simscape电气元件模型的开关式电力电子变换器传递函数的方法。然而,由于该方法估计了大量的频率点,在细化它们时需要特别小心,以最大限度地提高估计精度。

FRE和sinestream通常会产生准确的结果。然而,为了准确估计尖锐的共振特性,您可能需要增加频率的数量,从而增加估计时间。

此外,由于注入时间短,带PRBS的自由辐射具有很大的在线估计潜力。事实上,电力电子系统随时间而变化,通常需要在短时间内完成估计,以便专用控制系统能够实时监测估计的关键传递函数,并在需要时采取纠正措施。显然,带有sinstream的FRE不支持这个用例。金宝app

2020年出版的