1、本科毕业设计(20届)用粒子群优化SPWM波及其谐波分析所在学院专业班级电气工程及其自动化学生姓名学号指导教师职称完成日期年月2【摘要】所谓SPWM波形就是与正弦波形等效的一系列等幅不等宽的矩形脉冲波,等效原则是每一区间的面积相等。SPWM控制技术又分很多种,并且还在不断发展中,在逆变器中被广泛地应用。对SPWM波的基波和各次谐波信号振幅、相位的估计在电力系统中具有重大的意义。本篇论文中,在进行对SPWM波谐波分析并建立模型的基础上,我们用粒子群优化算法对SPWM波的振幅和相位特性做了研究,最后,用MATLAB对估计进行仿真测试,通过与实际模型的比较,分析该算法对谐波分析的可行性。并得出,该算
2、法具有容易实现,精度高,收敛快等优点。【关键词】SPWM;粒子群算法;傅立叶变换;MATLAB;谐波分析3【ABSTRACT】SOCALLEDSPWMWAVEISASERIESOFAMPLITUDEANDWIDERANGINGFROMTHERECTANGULARPULSEWAVE,EQUIVALENTPRINCIPLEISTHEAREAOFEACHINTERVALISEQUALSPWMCONTROLTECHNOLOGYHASALOTOFKINDS,ANDALSOINTHECONTINUOUSDEVELOPMENTANDAWIDELYUSEDININVERTERTHEBASEWAVEOFSPWM
3、WAVE,EVERYHARMONICSIGNALAMPLITUDEANDPHASEESTIMATEINTHEPOWERSYSTEMHASIMPORTANTSIGNIFICANCEINTHISPAPER,ONTHEBASEOFTHEHARMONICANALYSISOFSPWMWAVEANDSETAMODEL,WEUSEPARTICLESWARMOPTIMIZATIONTORESEARCHALLTHESEFEATURESFINALLY,WEUSEMATLABTOTEST,THROUGHCOMPARINGWITHTHEACTUALMODEL,WEANALYSISTHEFEASIBILITYOFTHE
4、ALGORITHMTOTHEHARMONICANALYSISANDWECONCLUDETHATTHEALGORITHMISEASYTOBEACHIEVE,HIGHPRECISIONANDCONVERGENCEFAST【KEYWORDS】SPWMPSOFOURIERTRANSFORMMATLABHARMONICESTIMATION4目录1前言错误未定义书签。11选题的背景及意义错误未定义书签。12课题的基本内容及大概思路错误未定义书签。2算法介绍321一般优化算法3211遗传算法8212蚁群算法4213禁忌搜索算法422粒子群优化算法4221PSO算法的背景5222PSO算法的基本原理5223P
5、SO参数的设置623PSO优化算法与其他算法的比较73SPWM波形分析及代价函数模型的建立831等面积形成SPWM波的方法832离散傅里叶变换(DFT)933SPWM波的谐波分析1034代价函数模型114基于MATLAB的PSO算法对模型进行辨识1141MATLAB概况1142基于MATLAB的PSO程序设计1143基于MATLAB的仿真1444辨别模型的确定1445PSO程序的框架1546程序流程图175MATLAB仿真及结果分析2151仿真测试215511迭代次数的影响21512基波频率的影响26513载波比的影响3252产生误差分析386本文结束语38参考文献39致谢40附录4161前言
6、11选题的背景在实际生活和科学研究,往往碰到同一个问题有很多个不同的解决办法,如何从中寻求最优的办法并且利用有限的资源,即使分配方案满足各方面的基本要求,又能获得良好的预期结果;在现实生活中,诸如此类的事情,不胜枚举。其实这些问题通过一定的转换,建立数学模型后,最终转化为在一些约束条件下,寻求一组参数值或函数,使系统中某些性能达到最大或最小,这就是所谓的优化。在电力系统中,减少低次谐波的分量,使其尽量的达到理想模型在保证电力安全和质量上,有重大的意义。优化问题问世以来,被广泛的重视,其算法也不断的发展,优化问题最初的求解算法有配方法,数形结合法,不等式法和导数法,但这些方法只能解决很少数的优化
7、问题和求解一些相对简单的满足一定条件的优化问题,对复杂的优化问题还是不能很好的解决。正是这样的条件下,数值算法应用而生。随着科技和社会的发展,在这些数值算法中出现了模拟生物群体行为特性来设计的优化算法,这些算法的特点是基本迭代式简单,迭代次数比较多。但随着计算机的出现,使这类算法迅速的发展,目前主要有人工神经网络法(一定程度上模拟人脑的组织结构)、遗传算法、蚁群算法和粒子群算法。由于人工神经网络法、遗传算法、蚁群算法编程实现比较复杂,参数的选择影响最终的解,而目前这些参数的选择大部分是依靠经验值,所以急需一种更好的算法。1995年EBERHART博士和KENNEDY博士提出了一种新的算法粒子群
8、优化PARTICALSWARMOPTIMIZATIONPSO算法。这种算法以其实现容易、精度高、收敛快等优点引起了学术界的重视,并且在解决实际问题中展示了其优越性。现代工业控制领域的控制理论发展迅猛,PWM控制技术的发展也经历了一个不断创新和不断完善的过程。PWM控制是通用变频器的控制核心技术。PWM的控制方式可以完成任何控制算法。目前在通用变频器中多采用SPWM正弦波脉冲宽度调制控制方式。SPWM在交流传动系统中得到广泛的应用,成为电气控制领域研究的热点课题。因此,提出一种得到理想的SPWM波的方法显得很重要了。正弦波脉宽调制(SINUSOIDALPULSEWIDTHMODULATION)波
9、是基于各脉冲等幅不等宽的技术发展起来的一种PWM波,它遵循面积相等的原则(每一个矩形波的面积与相应位置的正弦波面积相等),因而这个序列的矩形波与期望的正弦波等效1。虽然SPWM波有良好的工业应用价值,但是对其各次谐波振幅、相位的估计,在评价其7在电力系统中的工作质量方面来说仍是一项富于挑战性的任务。近些年兴起的新的优化算法,粒子群优化(PARTICLESWARMOPTIMIZATION,PSO)算法,属于一种群体智能算法。群体智能算法的研究开始于20世纪90年代,其基本思想就是模拟自然界中的群体来创建响应的优化模型,在自然界中,单个物体并不能展现出智能,但是当有很多个相同的个体,它们往往能够解
10、决很复杂的问题。PSO算法就是一类基于群体智能的随机优化技术。基于PSO算法容易实现、精度高、收敛快等优点,利用其对SPWM波进行谐波的分析和估计,具有一定的意义。12课题的基本内容及大概思路本课题研究的基本内容是利用等面积法,对数字信号处理器(DSP)等芯片的PWM引脚输出生成的SPWM波形,对这个SPWM进行采样,并用离散的傅里叶级数(DFS)对其进行谐波分析,建立相应的信号模型,再利用PSO算法来估计各次谐波的振幅和相位,在通过改变迭代次数、频率和载波比来观察各次谐波的振幅和相位的变化。从而得出SPWM的品质受到那些因素的影响。课题的简单流程图如图产生测试的SPWM波8图11简单流程图2
11、算法介绍21优化算法优化算法是以数学为基础,来用于求解不同工程问题优化的应用技术,是人们在工程技术,科学研究等众多领域经常遇到的问题。20世纪50年代中期,人类创立了仿生学,从生物进化的机理受到重要的启发,提出了许多用来解决复杂问题的新方法,如遗传算法,蚁群算法,禁忌所搜算法和粒子群算法。211遗传算法遗传算法是源于自然界的生物进化过程,通过自然选择和有性繁殖两个基本过程不断进化的,通过自然淘汰、变异、遗传来实现自身的不断进化,从而适应不同的环境。如果用各个点来近似的代表自然界中的生物体,并且将生物体的进化看成是寻找最优解的过程,用适应度来表示物体的适应能力,并将迭代过程看成是优胜劣汰,那么这
12、就是一个简单的遗传算法的模型。一般遗传算法由4个部分组成编码机制、控制参数、适应度函数、遗传算子。主要步骤如下(1)控制参数设置迭代次数T以及初始化群体P(0);对群体中各个个体进行适应度计算;进行谐波分析建立数学模型应用MATLAB编程实现PSO算法估计SPWM波的振幅和相位改变可能影响振幅和相位的参数,观察振幅和相位结果分析,得出结论9(2)实现运算在遗传算法中具体的运算有选择运算、交叉运算、变异运算;并在这一阶段将选择算子、交叉算子、交叉算子作用于群体,这样群体经过选择、交叉、变异运算之后就得到下一代群体;(3)终止条件判断若迭代次数最大迭代次数,则迭代次数加一,转到第(2)步,若迭代次
13、数最大迭代次数,则以进化中得到的最大适应度的个体作为最优解输出,停止计算。2212蚁群算法蚁群算法同样是受到对真实的蚁群行为的研究的启发而提出来的,蚁群算法是基于一种正反馈现象某一条路径上走过的蚂蚁越多,则后来的蚂蚁就有更大的概率也选择这条路径。蚁群算法在寻求最优解时有两个基本阶段适应阶段和协同工作阶段。在适应阶段,根据积累的信息不断调整自身结构;在协同工作阶段,通过信息交流,以产生性能更好的解,过程如下(1)状态转移规则;(2)下一点的选择;(3)局部更新;(4)全局更新;(5)所有端点都走过或无更短的路径,算法结束。3213禁忌所搜算法禁忌搜索算法是一种“局部搜索”的修正方法。一开始先设了
14、初始解,在以后的的迭代中不断地更新以得到更好的解,直到找到不再改善的解为止。禁忌搜索算法有两个概念“移动”和“邻域”;移动是指从一个解1X到另一个解2X,当12FXFX1时,级数项TNSINBTNCOSANN称为N次谐波,其角频率N是基波角频率的N倍。N次谐波N1统称高次谐波。从物理概念上讲,傅立叶级数是将一个周期性非正弦波形分解成一系列不同频率、不同幅值的正弦波的分量,或者说这一系列不同频率、不同幅值的正弦波叠加成一个周期性非正弦波形ZT13。34代价函数模型如果不考虑直流分量,SPWM波就相当于可以看成是由不同频率和相位组成的正弦信号,所以我们得出用于辨识的模型可表示为01SIN2NNNN
15、ZTANFT(37)(37)式即可表示为含有N次谐波的SPWM波形,其中NA是各次谐波的振幅,N是各次谐波的相位。16代价函数有样本数量(NSC)计算出来,其离散形式如下2211NSCNSCKKJEKZKZK38式中ZK就是第K个样本的实际信号,ZK则是第K个样本的估计值。4基于MATLAB的PSO算法对模型进行辨识41MATLAB概况MATLAB是矩阵实验室(MATRIXLABORATORY)之意。除了具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等很多功能。矩阵是MATLAB的基本数据单位,它的指令表达式与数学、工程中常用的形式十分相似,故用MA
16、TLAB来解算问题时要比用C,FORTRAN等语言来处理相同的事情简捷得多当前流行的MATLAB53/SIMULINK30包括数百个内部函数的主包和三十几种工具包工具包又可以分为功能性工具包和学科工具包两种功能工具包用来扩充MATLAB中的符号计算,被用来视化建模仿真,文字处理及实时控制等功能学科工具包是具有很强专业性的工具包,控制工具包、信号处理工具包、通信工具包等都属于此包。开放性也是MATLAB被广大用户欢迎的原因除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序来构造新的专用工具包42基于MATLAB的PSO程序设计本课题中
17、运用MATLAB软件来编写PSO算法程序,并用其对结果进行仿真观察。这其中运用到很多MATLAB自带的函数,下面对部分函数做简要说明。(1)程序中对粒子位置的初始化N40种群规模P20粒子维数XRANDP,N粒子位置这里用到了MATLAB软件提供的RAND函数,它用于产生01间均匀分布的随机矩阵,所以上述程序即为初始化40个粒子的位置为01之间的一个值。(2)程序中对惯性权重的定义ITER_MAX200WLINSPACE09,04,ITER_MAX17在MATLAB中,LINSPACE函数用于产生行向量,其调用格式为LINSPACE(A,B,N)其中A和B是生成向量的第一个和最后一个元素,N是
18、元素总数,即分成N1等分,步长应当是AB/N1。(3)INFONES1,N初始化个体最佳适应度值(4)XI,代表第I行的所有元素,X,I代表的是第I列的所有元素XIK,则代表X的I到K行的所有元素如果只想单独要第I行和第J行的元素,XI,J,就行了。(5)0SIN2NNFT用于产生频率为0F,相位为N的正弦波。(6)PLOT用于绘制直角坐标系下的二维曲线,其调用格式为PLOT(X,Y),其中X和Y为长度相同的向量,分别用于存储X坐标和Y坐标数据。当然在编写PSO程序是要特别注意M文件函数的编写。一个函数M文件是一个以M扩展名的文本文件。一个函数的M文件的第一行把M文件定义为一个函数,并指定它的
19、名字。它与文件名相同,但没有M扩展名,它也定义了它的输入和输出变量。M文件函数之间可以相互调用。此外,在程序的编写中,还用到了MATLAB软件提供的3种程序控制语句顺序结构,选择结构和循环结构。(1)顺序结构指按照程序中语句的排列顺序依次执行,直到程序的最后一个语句。本程序中对数据的输出,曲线的描绘皆用了此结构。(2)选择结构根据给定的条件成立或不成立,分别执行不同的语句。MATLAB用于实现选择结构的语句有IF语句、SWITCH语句和TRY语句。本课题应用了这其中的IF语句。A)单分支IF语句IF条件语句组END当条件成立时,则执行语句组,执行完之后继续执行IF语句的后继语句,若条件不成立,
20、则直接执行IF语句的后继语句。例如,当X是整数矩阵时,输出X的值,语句如下IFFIX(X)XDISP(X);END18B双分支IF语句IF条件语句组1ELSE语句组2END当条件成立时,执行语句组1,否则执行语句组2,语句组1和语句组2执行完后,再执行IF语句的后继语句。(3)循环结构指按照给定的条件,重复执行指定的语句。MATLAB提供了两种实现循环结构的语句FOR语句和WHILE语句。本课题中应用了FOR语句来实现循环。FOR语句的格式为FOR循环变量表达式1表达式2表达式3循环体语句END其中表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环变量的终值。在MATLAB程
21、序中,为了增强程序的可读性,需要使用注释,注释语句用开头,对本行后面字符起,注释语句不参与运算,起说明作用,一个好的M文件开头应有一段注释,说明功能和使用方法。43基于MATLAB的仿真MATLAB是最基本的绘图命令,可以对一组X坐标及相应的Y坐标进行描点绘图。在本课题中,既要描绘出估计模型跟随实际模型的情况,又要观察不同时刻两模型间的误差大小,则要求在一个窗口中产生两个图形,我们需要将SUBPOLT2,1,P命令加于PLOT命令前,即将窗口划分为21个区域,下一个PLOT命令则为绘制图形于第P个区域。若要区分各个图形,则可加上TITLE命令设置图形标题、XLABEL命令设置X轴说明、YLAB
22、EL命令设置Y轴说明以及LEGEND命令设置多条曲线说明,以增进整体图形的可读性。44辨别模型的确定我们先选取一个振幅为1,相位为0,频率为50HZ的正弦波模型,通过等面积法计算出其对应双极性SPWM波的各个载波周期的占空比(首先我们将此正弦波分为20等分,每份对19应SPWM的10个载波周期)。假设一个载波周期中幅值大于0的宽度是X1,幅值小于0的宽度是X2,且对应的这等份的正弦波的起始点是M,终止点是N。我们先分析前1/4个正弦周期12SIN10NSMXDXXXU(41)式中SU(SU15V)表示SPWM波的幅值;在式(41)中始终是(NM)10;正弦波周期2T;载波周期ZT200T这样就
23、可以得到占空比1/ZXT得到前5等份SPWM波的占空比为05519,06507,07437,07958,08279。由正弦波的轴对称性,我们可以得到第二个1/4周期的各等份SPWM波的占空比为08279,07958,07437,06507,05519。由于正弦波的正负对称性,得出后半个周期各等份SPWM波的占空比05519,06507,07437,07958,08279,08279,07958,07437,06507,05519。我们选取20个点对每个载波周期进行描述,以第一个载波周期为例200551911038,取整为11(此处对最终辨识结果的准确性有影响),则可以描述为以下20个点1515
24、151515151515151515151515151515151515后面的199个载波周期的描述依此类推,于是我们得到202004000个点。为了方便计算,我们将其描述为一个1行4000列的矩阵Z01,L,L4000。由式ZT01SIN2NNNNANFT可知,模型要确立的参数有3个0,NFT。N谐波次数,本文所选用的最大谐波次数为10次。0F基波频率,本文对不同的频率进行分析(30HZ,50HZ,80HZ,100HZ)。T根据采样点的数量对周期进行等分,当然采用点越多就越能反映整个波形的情况。本文中选取4000个采样点进行分析,TT/40001/40000F0000005S。综上所述,并通
25、过离散化分析,当频率为50HZ时,我们用来辨识的模型最终可以表示为20L14000Z1L1001SIN2NNNANFTL(51)1ASIN2PI500000005L12ASIN2PI2500000005L23ASIN2PI3500000005L34ASIN2PI4500000005L45ASIN2PI5500000005L56ASIN2PI6500000005L67ASIN2PI7500000005L78ASIN2PI8500000005L89ASIN2PI9500000005L910ASIN2PI10500000005L10。45PSO程序的框架第1步初始化1定义粒子的数量(N),即粒子群的
26、规模。2设定粒子维数(P),即需要估计的参数个数。3随机产生粒子群的位置和速度,确定最大速度MAXV和位置最大值MAXX。4随机产生粒子群个体的最好值和全局最好值。5定义产生个体和种群的最佳适应度值。6定义加速度常数的值,经过前人的研究测试,通常取2最合适。7设定迭代次数,迭代次数在调试程序时可因结果而改动。8设定惯性权重。初始化程序代码如下N40粒子群规模P20粒子维数XMAX180位置最大值VMAX100最大速度XXMAXRANDP,N粒子位置VVMAXRANDP,N粒子速度XPBESTRANDP,N个体最佳位置XGBESTRANDP,1种群最佳位置FPBESTINFONES1,N个体最佳
27、适应度值21FGBESTINF种群最佳适应度值C12加速度常数C22ITER_MAX250迭代次数WLINSPACE09,04,ITER_MAX惯性权重第2步迭代算法优化迭代循环在此循环中,粒子通过代价函数,即(38)式来评价误差,再通过算法来不断更新自己的速度和位置,理论上此循环越多,辨识结果就会越精确,但同时辨识时间也会相应加长。粒子更新循环程序通过此循环来更新粒子用于辨识,每个粒子都相当于一个解,所以初始化时设定的粒子越多,离真值越近的解也就越多,就越容易找到最优解,但同样会增加辨识的时间。模型采样循环由于所辨识模型的特殊性,代价函数要通过循环叠加建立。本文中我们选取4000个采样点,所
28、有样本代价函数的叠加值即为我们最终所优化的代价函数值。基波的频率为50HZ,周期即为002S,如要在这个周期上采样4000点,则模型中T取000005S。其模型采样循环代码如下所示J0S4000FORL1SZ1101SIN250NNNANPITLJJZ01,LZ12代价函数的叠加,其中Z0为前面所提具体数值矩阵,它的规模为14000。END这段代码执行完毕后的代价函数J就是叠加了所有采样点的一个整体的代价函数,我们便可以用它来进行下一步的程序算法优化设计。第3步输出辨识结果经过前面两部分程序的执行,PSO算法得出种群位置的最佳值,也即我们需要辨识的结22果。也可以画出它们的运动曲线,观察它们在
29、不同迭代次数下的走势,也可以改变频率以及载波比,观察对波形的影响。46程序流程图M函数的流程图图461M函数的流程图主程序的流程图定义M函数F1局部代价函数J0定义实际SPWM波采样点的值Z0构造预测模型Z1叠加局部代价函数J采样完毕否赋值F1J是ES23开始初始化粒子数N和采样点数S随机产生粒子的位置XI和速度VD局部最优值PBEST和全局最优值BESTG赋初值W和1C、2C初始化给定迭代次数循环计算总体代价函数FITNESSJ否FITNESSPBEST是PBESTFITNESS;更新粒子XI这次迭代是否有全局最优更新粒子的位置XI和全局最优解是否24图462主程序的流程图5MATLAB仿真
30、及结果分析51仿真测试在MATLAB中,相位不能直接放进模型中使用,需要把度数化为弧度的形式。通过用PSO程序对所建谐波模型的估计,我们得到以下几组数据,我们便可以与其所对应的实际模型进行比较,以验证用PSO进行谐波分析的可行性。在本篇论文中我们考虑了迭代次数、基波频率以及载波比对基波和各次谐波的幅值和相位的影响。511迭代次数的影响在50HZ频率下,正弦波分成20等份,每等份的载波数为10,迭代次数为300次时否是输出辨识结果结束更新每个粒子的位置XI和速度V是否满迭代次数25表51数据1(迭代次数300)执行时间TIME1180780S谐波次数振幅(PU)相位DEGREE基波(50HZ)0
31、85373501002次(100HZ)000024925263次(150HZ)001626906984次(200HZ)000052062985次(250HZ)002477240026次(300HZ)000301930097次(350HZ)002712072268次(400HZ)001492026039次(450HZ)000302931510次(500HZ)0013290504526图51由数据1构建的谐波模型与实际模型的比较在50HZ频率下,正弦波分成20等份,每等份的载波数为10,迭代次数为500次时表52数据2(迭代次数500)执行时间TIME1949060S谐波次数振幅(PU)相位DEG
32、REE基波(50HZ)10053047272次(100HZ)006794478403次(150HZ)004421574224次(200HZ)000231756315次(250HZ)00349229776次(300HZ)008851400597次(350HZ)016969637318次(400HZ)000441190159次(450HZ)0005719195110次(500HZ)0077387519427图52由数据2构建的谐波模型与实际模型的比较在50HZ频率下,正弦波分成20等份,每等份的载波数为10,迭代次数为800次时表53数据3(迭代次数800)谐波次数振幅(PU)相位DEGREE基波
33、(50HZ)10326056202次(100HZ)000067205183次(150HZ)000283012314次(200HZ)00011146055次(250HZ)000291216426次(300HZ)000116165837次(350HZ)000284150158次(400HZ)000161761449次(450HZ)000708034010次(500HZ)0000597919928执行时间TIME3139220S图53由数据3构建的谐波模型与实际模型的比较在50HZ频率下,正弦波分成20等份,每等份的载波数为10,迭代次数为1000次时表54数据4(迭代次数1000)29执行时间TI
34、ME4207340S谐波次数振幅(PU)相位DEGREE基波(50HZ)10333047442次(100HZ)00009245013次(150HZ)002043077494次(200HZ)00000028085次(250HZ)000571199236次(300HZ)000013807997次(350HZ)000433676708次(400HZ)000252886659次(450HZ)0017153583310次(500HZ)0001389672830图54由数据4构建的谐波模型与实际模型的比较通过对以上4组图形的比较,我们发现随着迭代次数的增加,估计得到的谐波模型与实际模型更相近,跟随性更好,
35、当迭代次数为1000时,输出误差最小,性能最好。同时可以看出,输出的误差受到基波和各次谐波的幅值和相位的影响。例如在迭代300次时,尽管谐波的幅值很下,但是由于基波的幅值太小,各次谐波的相位不合适,使得输出的误差还是很大的。最后可以从运行的时间得出,随着迭代次数的增加,运行时间也增加。512基波频率的影响在30HZ频率下,正弦波分成20等份,每等份的载波数为10,迭代次数为1000次时表55数据5(频率30HZ)执行时间TIME3970630S谐波次数振幅(PU)相位DEGREE基波(30HZ)054515529372次(60HZ)001903955953次(90HZ)00656938994次
36、(120HZ)00466503145次(150HZ)005026463516次(180HZ)008351150857次(210HZ)001883695568次(240HZ)001221469779次(270HZ)0022275816510次(300HZ)0055042411931图55由数据5构建的谐波模型与实际模型的比较在50HZ频率下,正弦波分成20等份,每等份的载波数为10,迭代次数为1000次时表56数据6(频率50HZ)谐波次数振幅(PU)相位DEGREE基波(50HZ)10333047442次(100HZ)00009245013次(150HZ)002043077494次(200HZ
37、)00000028085次(250HZ)000571199236次(300HZ)000013807997次(350HZ)000433676708次(400HZ)000252886659次(450HZ)0017153583310次(500HZ)0001389672832执行时间TIME4207340S图56由数据6构建的谐波模型与实际模型的比较在80HZ频率下,正弦波分成20等份,每等份的载波数为10,迭代次数为1000次时33表57数据7(频率80HZ)执行时间TIME4103910S谐波次数振幅(PU)相位DEGREE基波(80HZ)10326026892次(160HZ)0000938991
38、83次(240HZ)00161531134次(320HZ)000178711365次(400HZ)001335969826次(480HZ)000173939697次(560HZ)001491079158次(640HZ)000223712959次(720HZ)0018768501910次(800HZ)0001250000434图57由数据7构建的谐波模型与实际模型的比较在100HZ频率下,正弦波分成20等份,每等份的载波数为10,迭代次数为1000次时表58数据8(频率100HZ)谐波次数振幅(PU)相位DEGREE基波(100HZ)10344054602次(200HZ)000028389833
39、次(300HZ)000203014024次(400HZ)0000414352365次(500HZ)000401808356次(600HZ)000055146087次(700HZ)000263849558次(800HZ)000075486249次(900HZ)0017454828110次(1000HZ)0000574247935执行时间TIME3860940S图58由数据8构建的谐波模型与实际模型的比较通过对以上4组的数据和图形的比较,我们发现在载波比和迭代次数都不变的情况下,我们改变基波的频率,我们得到随着频率的增加会减少低次谐波的分量,同样在跟随效果上有所增强,误差有所减小。513载波比的影
40、响在50HZ频率下,正弦波分成20等份,每等份的载波数为6,迭代次数为1000次时36表59数据9(载波比6)执行时间TIME2960160S谐波次数振幅(PU)相位DEGREE基波(100HZ)10300948052次(200HZ)000166397493次(300HZ)002396540304次(400HZ)000276870935次(500HZ)002137085356次(600HZ)00052544267次(700HZ)003232780128次(800HZ)000664036119次(900HZ)0029470515310次(1000HZ)0009743239437图59由数据9构建
41、的谐波模型与实际模型的比较在50HZ频率下,正弦波分成20等份,每等份的载波数为10,迭代次数为1000次时表510数据10(载波比10)谐波次数振幅(PU)相位DEGREE基波(50HZ)10333047442次(100HZ)00009245013次(150HZ)002043077494次(200HZ)00000028085次(250HZ)000571199236次(300HZ)000013807997次(350HZ)000433676708次(400HZ)000252886659次(450HZ)0017153583310次(500HZ)0001389672838执行时间TIME420734
42、0S图510由数据10构建的谐波模型与实际模型的比较在50HZ频率下,正弦波分成20等份,每等份的载波数为12,迭代次数为1000次时39表511数据11(载波比12)执行时间TIME5794690S谐波次数振幅(PU)相位DEGREE基波(50HZ)10272050162次(100HZ)00069539673次(150HZ)001955177794次(200HZ)000514965405次(250HZ)000522188276次(300HZ)000779028897次(350HZ)001765108828次(400HZ)000433653579次(450HZ)0009681429010次(5
43、00HZ)0006037501340图511由数据11构建的谐波模型与实际模型的比较在50HZ频率下,正弦波分成20等份,每等份的载波数为14,迭代次数为1000次时表512数据12(载波比14)执行时间TIME6212340S谐波次数振幅(PU)相位DEGREE基波(50HZ)10346019212次(100HZ)000027448383次(150HZ)000226546394次(200HZ)000255005585次(250HZ)00000588406次(300HZ)00029327057次(350HZ)000928634708次(400HZ)000278702049次(450HZ)000
44、2417050110次(500HZ)0001985806141图512由数据12构建的谐波模型与实际模型的比较通过对以上4组的数据和图形的比较,我们发现在频率和迭代次数都不变的情况下,我们改变载波比,我们得到随着载波比的增加会减少低次谐波的分量,同样在跟随效果上有所增强,与真实模型的误差也更小。52产生误差分析可以看出当估计模型大致与实际模型相似时,高次谐波的幅值很小,所以各次谐波叠加所得模型应与基波模型相近,即基波模型与实际模型相近。但是始终没有达到完全一致的地步。就算是在外部因素(频率、载波比、迭代次数)都一样的情况下,输出的估计值与误差也是不一定是相同的。一方面,从算法分析,产生该误差的
45、原因是粒子未能在设定的最大迭代次数以内搜寻到最优解,也即粒子没能在这个时间段内到达最接近食物的区域,增加迭代次数,以及对粒子飞行速度作合理的选取,可以提高相位的精确度。另一方面,在SPWM模型构建的过程中,由于占空比的选取存在误差,也是产生误差的一个原因。增加采样点数量以及获取更加精确的SPWM波的占空比可以降低此种误差。6本文结束语PSO算法作为新兴群体智能算法,由于其概念简单,实现方便,需要调节的参数少,迅速得到了国际演化计算研究领域的认可。且由于在解决复杂的组合优化类问题方面所具有的42优越性能,已广泛应用于工程设计与优化、电力系统、机器人控制等领域16。本文将PSO方法用于SPWM波的
46、谐波分析,对估计模型与实际模型做了走势的大体的比较,从运行的结果可以得出PSO算法进行SPWM波谐波分析是可行的。以后我们可以用之前提到过的遗传算法、蚁群算法以及禁忌搜索算法莱对SPWM波的谐波进行分析,得出PSO的算法的优势所在。参考文献1冯晓丽,李雪基于DSP的三相SPWM波的研究J山西电子技术,2008,02PP44462赵舒展遗传算法研究与应用D浙江工业大学,20023胡小兵蚁群优化原理、理论及其应用研究D重庆大学,20044方永慧,刘光远,贺一,邱玉辉一种基于插入法的禁忌搜索算法J西南师范大学学报自然科学版,2003,06PP67715YENANYIN,WEIXINGLIN,WEIL
47、EILIESTIMATIONAMPLITUDEANDPHASEOFHARMONICBASEDONIMPROVEDPSOA20108THIEEEINTERNATIONALCONFERENCEONCONTROLANDAUTOMATIONXIAMEN,CHINA,2010PP8268316REBERHARTANDSHIYUBUI,PARAMETERSELECTIONINPARTICLESWARMOPTIMIZATIONAPROCOFTHE7THANNUALCONFONEVOLUTIONARYPROGRAMMINGCWASHINGTONDC,1998,PP5916007李娜粒子群算法及应用研究J农业网
48、络信息2010,07PP1461488TMS320LF/LC240XADSPCONTROLLERSREFERENCEGUIDESYSTEMANDPERIPHERALS,TEXASINSTRUMENTS,20019MS320C2XX/24XCODECOMPOSERUSERSGUIDE,TEXASINSTRUMENTS,200010李宏,焦振宏,周继华,李治典SPWM波形等面积动态递推算法J西北工业大学学报,2000,(02)PP26426711刘风钧编著正弦波逆变器J科学出版社,2002,(02)PP11012112刘晓阳离散傅里叶变换的公式分析与求解J济南教育学院学报2004,06PP3435
49、13曹立威,吴胜华,张承胜等SPWM谐波分析的一般方法J电力电子技术,2002,PP626514董君MATLAB语言的特点与应用J吉林省经济管理干部学院报2009,10PP61634315JKENNEDYANDREBERHART,PARTICLESWARMOPTIMIZATIONAPROCIEEEINTCONFONNCURALNETWORKSCPERTH,1995,PP1942194816REBERHARTANDSHIYUBUI,PARAMETERSELECTIONINPARTICLESWARMOPTIMIZATIONAPROCOFTHE7THANNUALCONFONEVOLUTIONARYPROGRAMMINGCWASHINGTONDC,1998,PP59160017ICTRELEA,THEPARTICLESWARMOPTIMIZATIORALGORITHMCONVERGNCEANALYSISANDPARAMETERSELECTIONAINFORMATIONPROCESSINGLETTERSC2003,PP31732544附录主程序CLEARALLCLOSEALLCLCTICITER_MAX500迭代次数XMAX180位置最大值VMAX10