Matlab仿真中变步长数据的FFT频谱分析

2014-04-26 08:36王铁军陶兴华姜小弋
电气电子教学学报 2014年2期
关键词:样条插值步长

方 芳,王铁军,陶兴华,姜小弋

(海军工程大学电气工程学院,湖北武汉 430033)

在电机及其控制系统的相关课程的教学和科研实践中,大量应用Matlab进行仿真实验[1]。很多情况下,我们需要对仿真结果中的电压、电流和转速等信号进行FFT频谱分析。这些信号常常是通过求解微分方程得到的,而求解微分方程的过程中时间步长需要不断地调整,因此输出的仿真结果大多是变步长的时域信号,这时如果直接调用FFT函数对信号进行频谱分析,结果往往是不准确的,需要进行必要的修正。

SCAD患者抗血小板治疗方案基于其是否血运重建策略而定。而非血运重建即优化药物治疗,为SCAD患者首选治疗方案,抗血小板治疗为优化药物治疗的基石,需强调的是这种首选的优化治疗方案针对无左主干或前降支近段病变的SCAD患者[2]。血运重建包括经皮冠状动脉支架植入术(percutaneous coronary stent implantation,PCI)、冠状动脉旁路移植术(coronary artery bypass grafting,CABG)和杂交策略。

本文针对这一情况,提出一种简单实用的方法,对变步长数据进行插值重构,使之变为等步长数据后,再进行FFT分析。仿真结果表明了这一方法的准确性。

1 FFT频谱分析

在Matlab软件中进行频谱分析可以直接调用FFT函数,若已知数据(data,t),就可以用相关语句编程完成FFT频谱分析。

在这段语料中,从宾利先生对本内特太太提议的回答可以看出,宾利先生的话语中存在着明显的语用模糊现象。宾利先生想要达西先生和伊丽莎白两个人单独出门。但是他询问的却是伊丽莎白的妹妹 (Kitty)是否觉得路程太远了。这种语用模糊的现象,通常使得话语的言外之意的不确定性带有一定的动机。一方面为达西先生和伊丽莎白的独处创造了条件,另一方面又从礼貌原则出发保存了伊丽莎白妹妹在对话中的面子。

一般说来,只要数据长度合适,采样频率合理,就可以得到比较满意的频谱分析结果。但是FFT函数只能用于分析采样频率恒定的等步长数据。如果数据是变步长的,结果往往不准确。我们可以举例说明,假设

为了提高分段线性插值方法在基点处的光滑性和插值的精度,可以采用分段三次Hermit插值或三次样条插值。分段线性插值是在给定了插值基点上的函数值以后,构造一个整体连续的函数,而分段三次Hermit插值是在给定了插值基点上的函数值和微商值以后构造一个整体上具有一阶连续微商的插值函数,因此它是光滑的插值。如果要进一步提高整体光滑度,可以采用三次样条插值。三次样条插值在只给出基点数据的情况下,构造一个整体上具有二阶连续微商的插值函数,因此整体光滑度大大提高[4]。

图1 等步长采样的数据及其频谱

图2 变步长采样的数据及其频谱

2 数据插值重构

我们在Matlab中搭建一个简单的仿真实例:一个三相方波逆变器给三相鼠笼式异步电机供电的系统,其电路原理图如图5所示。图6是电机从起动到稳定运行过程的定子电流波形。

在Matlab中对数据的插值重构可以直接调用插值函数interp1来实现,需要重构数据的采样频率,计算采样时间间隔,重构的时间点序列。插值重构完成后,再对新的数据进行FFT频谱分析,从这个简单例子来看,采用三种插值方法后的FFT频谱分析结果基本是相同的,如图4所示,频谱分析结果与原始数据相符。在工程实践中,如果实时性要求高,这时应当选择算法简单,易于实现,收敛有保障的分段线性插值法。而在实时性要求不高而精度要求较高时,可以选择精度和光滑性较好的三次Hermit插值或三次样条插值法。

所谓分段线性插值,就是利用每两个相邻插值基点作线性计算得到,如图3所示。从几何上看,分段线性插值就是把插值基点用折线连接起来逼近原曲线,因此它的缺点也是显而易见的,其插值结果在基点处不光滑,插值精度较低。

图3 分段线性插值

数据data(t)中除了基波外,还存在5次和7次谐波。取采样频率为2000Hz,得到的时间序列数据如图1(a)所示。应用上文所述的程序进行频谱分析,结果如图1(b)所示,与表达式完全吻合。如果data(t)是一组变步长数据,如图2(a)所示,则应用同样的频谱分析程序,得到的结果如图2(b)所示,与data(t)的实际频谱相去甚远。

通过对以上译者性别身份的产生与概念的阐述,本文将结合《名利场》这篇小说的两个不同性别译者的译本对比,来分析与探讨译者性别身份的主体性对译文的影响。

在系统仿真过程中,时间步长是变化的,因此在频谱分析前需要对定子电流进行插值重构。图7(a)是仿真输出的原始定子电流(变步长数据);图7(b)是采用分段线性插值进行数据重构后的定子电流;图7(c)是采用三次Hermit插值进行数据重构后的定子电流;图7(d)是采用三次样条插值进行数据重构后的定子电流。

图4 数据插值重构后的FFT频谱分析

3 仿真实例

为了得到正确的频谱分析的结果,必须对数据data(t)进行插值,把它变为均匀步长的数据,才能通过FFT分析得到正确的频谱。由数值分析方法可知,常用的插值方法有拉格朗日插值、分段线性插值以及三次样条插值等[2,3]。由于拉格朗日插值可能会发生Runge现象,即插值结果可能不收敛的问题。为了保证全局收敛性,常用的插值方法有:分段线性插值、分段三次Hermit插值或三次样条插值。

图5 方波逆变器供电的异步电动机电路图

图6 异步电动机的定子电流波形

然而那天的秦川,选择了驴子般的艾莉。女人刚刚步出厨房,秦川便走进来,粗野地掀开艾莉的短裙。艾莉说,我还没有洗澡。话未说完,她便感受到一种排山倒海的撕裂与冲撞。砂锅在燃气灶上“突突”地冒着蒸气,肉汤浓郁,艾莉与淡蓝色的火焰一起燃烧。女人走进来,又离开。女佣走进来,又离开。厨子走进来,又离开。窗外飘起雨,粉红色的芙蓉花飘落一地。艾莉哭着对秦川说,明天早晨,我必须离开。

图7 定子电流的原始仿真数据及插值后数据

从上图可见,分段线性插值和分段三次Hermit插值都较好地对数据进行了重构,而三次样条插值的数据重构结果中有一些时间点的数据是发散的。此时进行插值重构的采样频率都是10000Hz,且研究发现,如果降低采样频率到1000Hz,则三种插值方法都不出现数据发散的情况。

由于本文第1节提及的简单仿真算例并未出现因为增大采样频率导致数据发散的现象,因此数据发散的原因应当是由于电机定子电流信号中高次谐波非常丰富,使得三次样条插值在求二阶微商的过程中出现了偏差。

我们对数据进行FFT频谱分析后,可以得到以下结果。如果对原始仿真数据进行直接FFT分析可见,图8所示的频谱图中各种谐波杂乱无章,与实际情况完全不符。如果采用分段线性插值和三次Hermit插值重构后的数据进行FFT频谱分析可见,图9 所示的主要谐波成分是基波、5、7、11、13、17 和19次谐波等,这与理论上方波供电异步电机的谐波情况相吻合。

图8 定子电流原始数据的FFT频谱

图9 插值重构后定子电流的FFT频谱

4 结语

本文针对Matlab仿真实验中输出的变步长数据进行FFT分析时结果不准确的问题,指出对原数据进行等步长的插值重构后再应用FFT分析可以得到较满意的结果。文中介绍了三种插值方法。其中,分段线性插值法算法简单易行,实时性好,收敛有保证,但精度和光滑性较差;三次样条插值法在提升精度和光滑性上最好,但从本文的仿真实例可见其收敛性不能很好地保证;三次Hermit插值方法较为折衷,其光滑性介于两者之间,收敛性能好于三次样条插值。实际中可根据情况和要求灵活选用。

[1]李维波.Matlab在电气工程中的应用[M].北京:中国电力出版社,2007.

[2]张丽娟.三种插值方法的应用与比较[J].赤峰,赤峰学院学报(自然科学版),2010,26(3),1-3.

[3]王能超.数值分析简明教程[M].北京:高等教育出版社,2001.

[4]朱立勋,魏萍.三次样条插值的收敛性[J].长春,长春理工大学学报,2006,29(4):131-133.

猜你喜欢
样条插值步长
一元五次B样条拟插值研究
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
基于随机森林回归的智能手机用步长估计模型
基于Sinc插值与相关谱的纵横波速度比扫描方法
三次参数样条在机床高速高精加工中的应用
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
基于样条函数的高精度电子秤设计
一种改进FFT多谱线插值谐波分析方法
基于四项最低旁瓣Nuttall窗的插值FFT谐波分析
基于动态步长的无人机三维实时航迹规划