D0I:10.13374/1.issm100103.2008.10.020 第30卷第10期 北京科技大学学报 Vol.30 No.10 2008年10月 Journal of University of Science and Technology Beijing 0ct.2008 间谐波检测的FFT算法改进和DSP实现 柯 勇)陶以彬2)王世华3) 1)芜湖职业技术学院电气工程系,芜湖2410002)华南理工大学电力学院,广州510640 3)华南理工大学自动化学院,广州510640 摘要提出一种快速傅里叶变换(FFT)的改进算法,该算法利用FFT的衰减特性,只需要对F℉T算法做简单的变换,就可 以有效地消除频谱泄漏分量,实现非整数次谐波的精确检测,克服了传统FFT的缺陷·该算法与加窗体F℉T相比,具有相近 的特性,在算法构造方面又比加窗体F℉T算法更简单,因此该算法更加适合应用于存储资源有限的微处理器上·为证明该算 法应用于微处理器的方便性,设计了一套基于数字信号处理(DSP)的谐波检测装置,并对该算法进行了验证 关键词间谐波:信号检测:快速傅里叶变换(FFT);数字信号处理(DSP) 分类号TM712 Improvement of the FFT algorithm in inter-harmonic detection and realization by DSP KE Yong),TAO Yibin),WANG Shihua) 1)Electrical Engineering Department.Wuhu Profession and Technology College,Wuhu 241000.China 2)School of Power Electricity,South China University of Technology.Guangzhou 510640.China 3)School of Automation,South China University of Technology.Guangghou 510640.China ABSTRACT An improvement of the fast Fourier transform (FFT)algorithm was presented,which uses the fast attenuation charac- teristic of Fourier transform.This algorithm can effectively eliminate leakage component spectrum,realize non-rounded harmonic pre- cision testing and overcome the shortcomings of the traditional FFT.only by a simple transformation of FFT.Because this algorithm is more similar to but simpler than the form FFT in algorithm structure.it is more suitable for storage on microprocessors which are limited-resource.A harmonic detection device based on digital signal processing (DSP)was designed to prove that the algorithm is ap- plied to the convenience of microprocessors. KEY WORDS inter-harmonic:signal detection:fast Fourier transform (FFT):digital signal processing (DSP) 随着社会进步和技术发展,大量冲击性负载、电声和振动,引起电网波形畸变,从而降低负荷的功率 力整流、换流设备以及其他电力电子设备在各工业 因数,增加各种能量损耗,所以对间谐波的精确检 部门和电力系统中的广泛应用,给电网带来了日益 测,更有利于电网电能质量的治理]. 严重的谐波污染,极大地影响了电力系统的安全经 电力系统的谐波分析,通常都是通过快速傅里 济运行,通常情况下,谐波是指频率为工频整数倍 叶变换(fast Fourier transform,FFT)实现的.然而 的成分,但随着各种复杂精密、对电能质量敏感的 F℉T存在栅栏效应和泄漏现象,使算出的信号参数 用电设备的不断普及,分数次谐波(间谐波)也日益 即频率、幅值和相位不准,尤其是相位误差很大,无 成为工程及研究领域不断关注的对象,间谐波会引 法满足准确的谐波测量要求,为了提高F℉T算法 起电压闪变、电视机图像滚动以及无线电收音机或 的精度,Jain等提出了一种插值算法,对FFT的计 其他音频设备的噪声,也会使电动机产生很强的噪 算结果进行修正,可以有效地提高计算精度,在此 收稿日期:2008-03-21修回日期:2008-07-25 作者简介:柯勇(1957-),男,副教授,taoyibin1977@126.com
间谐波检测的 FFT 算法改进和 DSP 实现 柯 勇1) 陶以彬2) 王世华3) 1) 芜湖职业技术学院电气工程系芜湖241000 2) 华南理工大学电力学院广州510640 3) 华南理工大学自动化学院广州510640 摘 要 提出一种快速傅里叶变换(FFT)的改进算法该算法利用 FFT 的衰减特性只需要对 FFT 算法做简单的变换就可 以有效地消除频谱泄漏分量实现非整数次谐波的精确检测克服了传统 FFT 的缺陷.该算法与加窗体 FFT 相比具有相近 的特性在算法构造方面又比加窗体 FFT 算法更简单因此该算法更加适合应用于存储资源有限的微处理器上.为证明该算 法应用于微处理器的方便性设计了一套基于数字信号处理(DSP)的谐波检测装置并对该算法进行了验证. 关键词 间谐波;信号检测;快速傅里叶变换(FFT);数字信号处理(DSP) 分类号 T M712 Improvement of the FFT algorithm in inter-harmonic detection and realization by DSP KE Yong 1)T A O Y ibin 2)W A NG Shihua 3) 1) Electrical Engineering DepartmentWuhu Profession and Technology CollegeWuhu241000China 2) School of Power ElectricitySouth China University of TechnologyGuangzhou510640China 3) School of AutomationSouth China University of TechnologyGuangzhou510640China ABSTRACT An improvement of the fast Fourier transform (FFT) algorithm was presentedwhich uses the fast attenuation characteristic of Fourier transform.T his algorithm can effectively eliminate leakage component spectrumrealize non-rounded harmonic precision testing and overcome the shortcomings of the traditional FFTonly by a simple transformation of FFT.Because this algorithm is more similar to but simpler than the form FFT in algorithm structureit is more suitable for storage on microprocessors which are limited-resource.A harmonic detection device based on digital signal processing (DSP) was designed to prove that the algorithm is applied to the convenience of microprocessors. KEY WORDS inter-harmonic;signal detection;fast Fourier transform (FFT);digital signal processing (DSP) 收稿日期:2008-03-21 修回日期:2008-07-25 作者简介:柯 勇(1957—)男副教授taoyibin1977@126.com 随着社会进步和技术发展大量冲击性负载、电 力整流、换流设备以及其他电力电子设备在各工业 部门和电力系统中的广泛应用给电网带来了日益 严重的谐波污染极大地影响了电力系统的安全经 济运行.通常情况下谐波是指频率为工频整数倍 的成分.但随着各种复杂精密、对电能质量敏感的 用电设备的不断普及分数次谐波(间谐波)也日益 成为工程及研究领域不断关注的对象.间谐波会引 起电压闪变、电视机图像滚动以及无线电收音机或 其他音频设备的噪声也会使电动机产生很强的噪 声和振动引起电网波形畸变从而降低负荷的功率 因数增加各种能量损耗.所以对间谐波的精确检 测更有利于电网电能质量的治理[1—2]. 电力系统的谐波分析通常都是通过快速傅里 叶变换(fast Fourier transformFFT )实现的.然而 FFT 存在栅栏效应和泄漏现象使算出的信号参数 即频率、幅值和相位不准尤其是相位误差很大无 法满足准确的谐波测量要求.为了提高 FFT 算法 的精度Jain 等提出了一种插值算法对 FFT 的计 算结果进行修正可以有效地提高计算精度.在此 第30卷 第10期 2008年 10月 北 京 科 技 大 学 学 报 Journal of University of Science and Technology Beijing Vol.30No.10 Oct.2008 DOI:10.13374/j.issn1001-053x.2008.10.020
第10期 柯勇等:间谐波检测的FT算法改进和DSP实现 ,1195. 基础上,Grandk又利用汉宁(Hanning)窗减少泄漏, 对于带检测的信号,假设(t)为单一信号, 进一步提高了计算精度],利用加窗算法可以减少 (t)=Aue(+9 (3) 频谱泄漏误差,但是需要构造窗函数,使频谱分析变 式中,Ak为信号幅值,为信号角频率,9为信号 得复杂,不利于在数字信号处理(digital signal 初相角 processing,DSP)等芯片中的高效处理. 对于持续时间为T的信号,可以看成i(t)与 本文介绍了一种改进F℉T算法,该算法只需要 wr(t)的乘积: 对FFT算法做简单的变换,就可以有效地消除频谱 im(t)=i(t)wr(t) (4) 泄漏分量,实现非整数次谐波的精确检测,并对该算 根据傅里叶变换的乘积定理,i(t)的傅里叶 法与加窗体F℉T算法的仿真结果进行比较,计算出 其在DSP中的运行时间,结果表明该算法运行效率 变换为i(t)与wr(t)傅里叶变换的卷积: 高于加窗体FFT.由此设计一台基于DSP谐波检 iwm(ω)=wr(w-)òt(c)dt= 测装置,给出检测结果,对算法进行了验证, 2 in[9)T/2。)p (w-,)/2 (5) 1离散傅里叶变换的泄漏效应 由式(5)可知,iwm(ω)的构造完全与Wr(ω)的 傅里叶算法在时间上是连续的,从数字处理角 构造相同,能量不再集中,造成谐波分析中各次谐波 度,为能对它进行计算,需要将它离散化,在计算机 所泄漏的能量影响,从而造成误差, 和微处理芯片的谐波检测分析中,采样信号是离散 的,而采样信号总是有限长度的,所以在进行傅里叶 2改进的FT算法 运算的时候,处理的信号是截断的信号,这就造成了 式(5)中iwm为谐波信号的频谱分布,由于FFT 傅里叶变换的泄漏现象[ 算法是傅里变换在工程运用中实现的算法,利用 根据矩形窗的特性,对于一个矩形窗,可以表示 FFT算法,可以得到相对应的ω=2πn/T的离散频 如下: 谱(n=1,2,3,,N,N采样点数,T为采样时间) 1 0<t≤T wr(t)= (1) 此时式(5)可以用序列表示为: 0其他 i()=2TAsin((6) 式中,0r(t)为信号函数,t为时间,T为采样周期 n一k 矩形窗的傅里叶变换为: 假使某次间谐波为k=k,十r,1为整数,r为 Wr()=sin(wT/2)。jr2 小于1的小数,式(6)可以表达为: w/2 iwm(n)= 式中,Wr(w)为频率函数 若不计相位的变化,Wτ(ω)的频率特性如图1 2 TAn二)-π。[-)1(I) n-kir 所示.由图1可以看出Wr(ω)己不再是单一的谱 式(7)可以简化为: 线,而是分布在整个频率轴上,这就是说能量不再集 i()4--,-9 (8) 中,即产生了泄漏现象、 其中,t=n一k1一r, 20 G=-2 TAsin((πr)ew+9 (9) 0 由式(9)可以看出,非整数次谐波的频谱分布不 是集中在一条谱线上,而是在整个频域内分布,第 -10 n条谱线的幅值与n一k,一r成反比,n=k1或 20 n=k:十l对应的谱线的幅值最大,然后随着n一 -30 k1一r增加,相应的谱线的幅值按1/八n一k1一r|速 度衰减 0.4 0.6 0.8 归一化频率 为减小谐波的频谱泄漏分量,提高谐波检测精 度,就需要使频谱分布中谱线幅值的衰减速度尽量 图1矩形窗的频率特性 快],采用一个新的频谱分布序列, Fig.I Frequency characteristic of rectangle window
基础上Grandk 又利用汉宁(Hanning)窗减少泄漏 进一步提高了计算精度[3].利用加窗算法可以减少 频谱泄漏误差但是需要构造窗函数使频谱分析变 得复 杂不 利 于 在 数 字 信 号 处 理 (digital signal processingDSP)等芯片中的高效处理. 本文介绍了一种改进 FFT 算法该算法只需要 对 FFT 算法做简单的变换就可以有效地消除频谱 泄漏分量实现非整数次谐波的精确检测并对该算 法与加窗体 FFT 算法的仿真结果进行比较计算出 其在 DSP 中的运行时间结果表明该算法运行效率 高于加窗体 FFT.由此设计一台基于 DSP 谐波检 测装置给出检测结果对算法进行了验证. 1 离散傅里叶变换的泄漏效应 傅里叶算法在时间上是连续的从数字处理角 度为能对它进行计算需要将它离散化.在计算机 和微处理芯片的谐波检测分析中采样信号是离散 的而采样信号总是有限长度的所以在进行傅里叶 运算的时候处理的信号是截断的信号这就造成了 傅里叶变换的泄漏现象[4]. 根据矩形窗的特性对于一个矩形窗可以表示 如下: wT ( t)= 1 0<t≤ T 0 其他 (1) 式中wT ( t)为信号函数t 为时间T 为采样周期. 矩形窗的傅里叶变换为: WT (ω)= sin(ωT/2) ω/2 e —jωT/2 (2) 式中WT (ω)为频率函数. 若不计相位的变化WT (ω)的频率特性如图1 所示.由图1可以看出 WT (ω)已不再是单一的谱 线而是分布在整个频率轴上这就是说能量不再集 中即产生了泄漏现象. 图1 矩形窗的频率特性 Fig.1 Frequency characteristic of rectangle window 对于带检测的信号假设 i( t)为单一信号 ik( t)= Ake j(ωk t+φ) (3) 式中Ak 为信号幅值ωk 为信号角频率φ为信号 初相角. 对于持续时间为 T 的信号可以看成 i( t)与 wT ( t)的乘积: iw ( t)= i( t) wT ( t) (4) 根据傅里叶变换的乘积定理iw ( t)的傅里叶 变换为 i( t)与 wT ( t)傅里叶变换的卷积: iwm(ω)=∫wT (ω—τ)δωk(τ)dτ= 2πAke jφsin[(ω—ωk) T/2] (ω—ωk)/2 e —j(ω—ωk ) T/2 (5) 由式(5)可知iwm(ω)的构造完全与 WT (ω)的 构造相同能量不再集中造成谐波分析中各次谐波 所泄漏的能量影响从而造成误差. 2 改进的 FFT 算法 式(5)中 iwm为谐波信号的频谱分布由于 FFT 算法是傅里变换在工程运用中实现的算法利用 FFT 算法可以得到相对应的 ω=2πn/T 的离散频 谱( n=123…NN 采样点数T 为采样时间). 此时式(5)可以用序列表示为: iwm( n)=2TAke jφsin[π( n—k)] n—k e —j[π( n—k)] (6) 假使某次间谐波为 k= kl+ rkl 为整数r 为 小于1的小数式(6)可以表达为: iwm( n)= 2TAke jφsin[π( n—kl)—πr] n—kl— r e —j[π( n—k l )—πr] (7) 式(7)可以简化为: iwm( n)= G n—kl— r = G t (8) 其中t= n—kl— r G=—2TAksin(πr)e j(πr+φ) (9) 由式(9)可以看出非整数次谐波的频谱分布不 是集中在一条谱线上而是在整个频域内分布.第 n 条谱线的幅值与|n— kl— r|成反比n= kl 或 n=kl+1对应的谱线的幅值最大然后随着|n— kl— r|增加相应的谱线的幅值按1/|n—kl— r|速 度衰减. 为减小谐波的频谱泄漏分量提高谐波检测精 度就需要使频谱分布中谱线幅值的衰减速度尽量 快[5—9]采用一个新的频谱分布序列 第10期 柯 勇等: 间谐波检测的 FFT 算法改进和 DSP 实现 ·1195·
.1196 北京科技大学学报 第30卷 iei(n)=ien()-t[in(a-l)十ie(nt1] A= 2πi(k)r(1-r3) 2Tsin(rπ) (10) 9=phase(iol(k)一xr 由式(9)可以将式(10)改写成下式: (15) io(n)-(d产 G (11) 3FFT三点算法与加窗体FFT算法比较 对比iwl和iwm,有 本文在Matlab中对加窗体快速傅里叶算法与 li(n)io(), FFT的三点变换算法做仿真比较,给出含有10,49, |t2-1|1即t<-J2或<2 图6为FFT的三点变换算法得到的频谱图,将图6 由式(11)和(12)可知,频谱序列io1(n)的幅值 2500 以|1/t(t2-1)l的速度衰减,最靠近k,十r的三条 2000 谱线的幅值增加,而其他谱线的幅值降低,这样频 谱分布主要集中在离1十r较近的谱线上,而在其 他的谱线上幅值减小,从而就减少了频谱泄漏分量, 500 这种改进FFT算法命名为FFT的三点变换算法, 由式(8)和(11)可得FFT算法与FFT的三点变换 50 100150200250300350 频率/Hz 算法谱线幅值的对数衰减特性,如图2所示,三点变 换算法得到的频谱分布的衰减特性由原来的1/t变 图3FFT频谱特性图 成1/t(t2-1),衰减速度明显变快. Fig.3 Characteristic diagram of FFT spectrum 0 FFT算法 600 -10 三点算法 -20 3 00 100 0 20/T40/T60/T80/T.100/T 频差Hz 50100150200250300350 频率Hz 图2频谱分布的衰减特性 Fig.2 Attenuation characteristic of spectrum distribution 图4加汉宁窗FFT频谱特性图 Fig.4 Characteristic diagram of FFT spectrum based on Hanning 对于采样时间为T的任意一个频率为(k,十 window r)/t的非整数次谐波信号,利用三点法得到的频谱 分布中,对应n=1和n=k1十1的两条谱线的幅值 700 最大,利用这两条谱线的参数可以实现非整数次谐 波频率、幅值和相角的检测.设这两条谱线的幅值 之比为a,利用式(9)得到: iwm(k)_ () 100 G/(-)2-1)| 2-r G/(1-r)[1-r)2-1叮1+, (13) 50 100150200250300350 颗率Hz 2-a r-]-a (14) 图5加海明窗FFT频谱特性图 利用式(9)~(11)可以得到谐波的幅值Ak和 Fig.5 Characteristic diagram of FFT spectrum based on Hamming 相角P, window
iw1( n)= iwm( n)— 1 2 [ iwm( n—1)+ iwm( n+1)] (10) 由式(9)可以将式(10)改写成下式: iw1( n)= — G t( t 2—1) (11) 对比 iw1和 iwm有 |iw1( n)|>|iwm( n)| |t 2—1|<1即— 2<t< 2 |iw1( n)|<|iwm( n)| |t 2—1|>1即 t<— 2或 t< 2 (12) 由式(11)和(12)可知频谱序列 iw1( n)的幅值 以|1/t( t 2—1)|的速度衰减最靠近 kl+ r 的三条 谱线的幅值增加而其他谱线的幅值降低.这样频 谱分布主要集中在离 kl+ r 较近的谱线上而在其 他的谱线上幅值减小从而就减少了频谱泄漏分量. 这种改进 FFT 算法命名为 FFT 的三点变换算法 由式(8)和(11)可得 FFT 算法与 FFT 的三点变换 算法谱线幅值的对数衰减特性如图2所示三点变 换算法得到的频谱分布的衰减特性由原来的1/t 变 成1/t( t 2—1)衰减速度明显变快. 图2 频谱分布的衰减特性 Fig.2 Attenuation characteristic of spectrum distribution 对于采样时间为 T 的任意一个频率为( kl + r)/t 的非整数次谐波信号利用三点法得到的频谱 分布中对应 n=kl 和 n=kl+1的两条谱线的幅值 最大利用这两条谱线的参数可以实现非整数次谐 波频率、幅值和相角的检测.设这两条谱线的幅值 之比为 a利用式(9)得到: a= iwm( kl) iwm( kl+1) = G/(— r)( r 2—1) G/(1— r)[(1— r) 2—1] = 2— r 1+ r (13) r= 2— a 1+ a (14) 利用式(9)~(11)可以得到谐波的幅值 Ak 和 相角φ Ak= 2πG 2Tsin( rπ) = 2πiwl( kl) r(1— r 2) 2Tsin( rπ) φ=phase( iwl( kl))—πr (15) 3 FFT 三点算法与加窗体 FFT 算法比较 本文在 Matlab 中对加窗体快速傅里叶算法与 FFT 的三点变换算法做仿真比较给出含有1049 50300Hz 混合信号分别进行加汉明窗、海明窗快 速傅里叶变换得到各自频谱图如图3~图6所示 图6为 FFT 的三点变换算法得到的频谱图.将图6 图3 FFT 频谱特性图 Fig.3 Characteristic diagram of FFT spectrum 图4 加汉宁窗 FFT 频谱特性图 Fig.4 Characteristic diagram of FFT spectrum based on Hanning window 图5 加海明窗 FFT 频谱特性图 Fig.5 Characteristic diagram of FFT spectrum based on Hamming window ·1196· 北 京 科 技 大 学 学 报 第30卷
第10期 柯勇等:间谐波检测的FT算法改进和DSP实现 .1197 与图4、图5比较可以发现:FFT的三点变换算法与 用各种Q格式进行运算1),对于N点加窗体FT 加窗体FFT效果基本相同,主频更加集中,频率泄 算法,需要先将窗体函数进行Q格式变换,然后再 漏的范围更小,从而减少谐波的相互干扰,提高谐波 与输入信号相乘.以N点汉宁窗D()为例, 的检测精度;但随着主频附近的谱线幅值增加,造成 wg(n)表示Q格式变换后的汉宁窗,i(n)表示输入 谐波的分辨率有所降低 信号序列,(n)表示Q格式变换后的输入信号序 2500 列,于是可以得到iqwin(n): 2000 iwim(n)=ig(n)Xwq(n) (16) 1500 15 10 (a) 1000 500 o 安-5 50 100150200250300350 频率Hz -10 -15L 图6FFT的三点变换频谱特性图 0 500100015002000250030003500 频率Hz Fig.6 Characteristic diagram of three point transform spectrum based on FFT (b) 图7(a)、(b)分别为FFT三点算法与FFT加汉 宁窗各自功率谱,图8(a)、(b)分别为FFT三点算法 0 与F℉T加汉宁窗各自指数谱.由图7与图8可以知 .5 道,FFT三点算法频率分辨能力较加汉宁窗FFT算 -10 500100015002000250030003500 法稍弱,但是幅值精度较加窗体℉T算法高 频率Hz 10 (a) 图8FFT三点算法(a)与FFT加汉宁窗(b)对数谱 Fig.8 Logarithmic spectrum of three point FFT (a)and FFT with Hanning window (b) 因此,每次进行FFT运算就需要增加N次乘 法运算,而此时得到的iqwin(n)也有可能溢出,因此 500 100015002000250030003500 频率Hz 需要对iim(n)进行Q格式变换,就是向右移位,这 2.5 1(b) 时又增加了移位的运算时间,假使向右移动10位, 2.0 这样又增加了10N个移位运算,每次加窗体FFT 1.5 运算总的运算量大约增加N次乘法和10N次移 1.0 位 而使用三点变换算法只需要增加2N次加减运 500 算和N次移位,可以大大提高DSP的运行效率,节 100015002000250030003500 频率Hz 省资源,分别对加汉宁窗FFT和三点变换算法 FFT进行DSP实验,计算得到两种算法的运行时钟 图7FFT三点算法(a)与FFT加汉宁窗(b)功率谱 周期分别为402627和500426.如果DSP主频为 Fig.7 Power spectra of three point FFT (a)and FFT with Han- 150Mz,那么上面几种算法1024点的运行时间比 ning window (b) 较如图9所示,FFT算法在DSP中的运行时间大约 总之,FFT的三点变换算法不需要构造窗函 为0.002652s,FFT三点变换算法大约为0.002684s, 数,实现方便,频谱特性分析简单,精度高,比较适合 加海明窗的FFT算法大约0.003334s,加汉宁窗 应用于DSP中,在DSP芯片的应用过程中,以TI FFT算法大约0.003336s·比较发现,三点FFT算 公司的TMS320F2812为例,为了提高DSP的效率, 法的谐波分析效果不仅可以跟加汉宁窗F℉T算法相 就必须尽量减少浮点乘法和除法运算,因此需要使 似,而且其运算效率比其他加窗体FFT算法更加高
与图4、图5比较可以发现:FFT 的三点变换算法与 加窗体 FFT 效果基本相同主频更加集中频率泄 漏的范围更小从而减少谐波的相互干扰提高谐波 的检测精度;但随着主频附近的谱线幅值增加造成 谐波的分辨率有所降低. 图6 FFT 的三点变换频谱特性图 Fig.6 Characteristic diagram of three-point transform spectrum based on FFT 图7(a)、(b)分别为 FFT 三点算法与 FFT 加汉 宁窗各自功率谱图8(a)、(b)分别为FFT 三点算法 与FFT 加汉宁窗各自指数谱.由图7与图8可以知 道FFT 三点算法频率分辨能力较加汉宁窗 FFT 算 法稍弱但是幅值精度较加窗体 FFT 算法高. 图7 FFT 三点算法(a)与 FFT 加汉宁窗(b)功率谱 Fig.7 Power spectra of three-point FFT (a) and FFT with Hanning window (b) 总之FFT 的三点变换算法不需要构造窗函 数实现方便频谱特性分析简单精度高比较适合 应用于 DSP 中.在 DSP 芯片的应用过程中以 TI 公司的 T MS320F2812为例为了提高 DSP 的效率 就必须尽量减少浮点乘法和除法运算因此需要使 用各种 Q 格式进行运算[10].对于 N 点加窗体 FFT 算法需要先将窗体函数进行 Q 格式变换然后再 与输入信号相乘.以 N 点汉宁窗 w ( n) 为例 wq( n)表示 Q 格式变换后的汉宁窗i( n)表示输入 信号序列iq( n)表示 Q 格式变换后的输入信号序 列于是可以得到 iqwin( n): iqwin( n)= iq( n)× wq( n) (16) 图8 FFT 三点算法(a)与 FFT 加汉宁窗(b)对数谱 Fig.8 Logarithmic spectrum of three-point FFT (a) and FFT with Hanning window (b) 因此每次进行 FFT 运算就需要增加 N 次乘 法运算而此时得到的 iqwin( n)也有可能溢出因此 需要对 iqwin( n)进行 Q 格式变换就是向右移位这 时又增加了移位的运算时间.假使向右移动10位 这样又增加了10N 个移位运算每次加窗体 FFT 运算总的运算量大约增加 N 次乘法和10N 次移 位. 而使用三点变换算法只需要增加2N 次加减运 算和 N 次移位可以大大提高 DSP 的运行效率节 省资源.分别对加汉宁窗 FFT 和三点变换算法 FFT 进行 DSP 实验计算得到两种算法的运行时钟 周期分别为402627和500426.如果 DSP 主频为 150MHz那么上面几种算法1024点的运行时间比 较如图9所示FFT 算法在 DSP 中的运行时间大约 为0∙002652sFFT 三点变换算法大约为0∙002684s 加海明窗的 FFT 算法大约0∙003334s加汉宁窗 FFT 算法大约0∙003336s.比较发现三点 FFT 算 法的谐波分析效果不仅可以跟加汉宁窗 FFT 算法相 似而且其运算效率比其他加窗体 FFT 算法更加高. 第10期 柯 勇等: 间谐波检测的 FFT 算法改进和 DSP 实现 ·1197·
,1198 北京科技大学学报 第30卷 0.004r 验待测波形,如图10所示,输入电压为有效值 0.003 220V,初相角30°的基波,混合25V25,初相角 0.002 15°和50V27业,初相角0°间谐波.计算结果输出 0.001 数据由DSP寄存器得到并由Matlab生成波形图, FFT 三点FTT FFT海明窗FFT汉宁窗 图11为快速傅里叶算法在DSP中得到的计算结 果,图12为加汉宁和海明窗快速傅里叶算法在DSP 图9DSP中各种算法运行时间比较 中得到的计算结果,图13为快速傅里叶算法的三点 Fig.9 Comparison of various algorithms'running time in DSP 变换算法在DSP中得到的计算结果,各种算法的 相位比较如表1所示,三点F℉T算法计算谐波初相 4 实验结果及分析 位精度高于FFT算法,又略低于加窗体FFT算法, 本装置采用波形发生器产生各种间谐波作为实 △:5.32V -1.08V 300 △:14.6ms 200 c:-4005 2 100 300 400 08 0.09 0.102008-01-06 时间s 15:37:18 图10输入混有间谐波波形 Fig-10 Waveform mixing with inter harmonie in input 350m (a) (b) 10 300 86 250k 200 150 100 2 50 18202224262830323436 20 30 0 50 60 70 频案Hz 频率Hz 图11快速傅里叶计算结果.(a)FFT频谱图:(b)FFT柱状图 Fig.11 Computing results of FFT:(a)FFT spectrum chart:(b)FFT histogram 3.0 3.5m (a) 30叶 (b) 2.5 曾 1.0 1.0 0.5 0.5 01618202224262830323436 0 18202224262830323436 频率Hz 频率Hz 图12加窗体快速傅里叶计算结果.(a)加汉宁窗F℉T频谱图:(b)加海明窗FFT频谱图 Fig-12 Computing results of FFT added with window:(a)FFT spectrum chart based on Hanning window:(b)FFT spectrum chart based on Hamming window
图9 DSP 中各种算法运行时间比较 Fig.9 Comparison of various algorithms’running time in DSP 4 实验结果及分析 本装置采用波形发生器产生各种间谐波作为实 验待测波形如图 10 所示输入电压为有效值 220V初相角30°的基波混合25V 25Hz初相角 15°和50V 27Hz初相角0°间谐波.计算结果输出 数据由 DSP 寄存器得到并由 Matlab 生成波形图 图11为快速傅里叶算法在 DSP 中得到的计算结 果图12为加汉宁和海明窗快速傅里叶算法在 DSP 中得到的计算结果图13为快速傅里叶算法的三点 变换算法在 DSP 中得到的计算结果.各种算法的 相位比较如表1所示三点 FFT 算法计算谐波初相 位精度高于 FFT 算法又略低于加窗体 FFT 算法. 图10 输入混有间谐波波形 Fig.10 Waveform mixing with inter-harmonic in input 图11 快速傅里叶计算结果.(a) FFT 频谱图;(b) FFT 柱状图 Fig.11 Computing results of FFT:(a) FFT spectrum chart;(b) FFT histogram 图12 加窗体快速傅里叶计算结果.(a) 加汉宁窗 FFT 频谱图;(b) 加海明窗 FFT 频谱图 Fig.12 Computing results of FFT added with window:(a) FFT spectrum chart based on Hanning window;(b) FFT spectrum chart based on Hamming window ·1198· 北 京 科 技 大 学 学 报 第30卷
第10期 柯勇等:间谐波检测的FT算法改进和DSP实现 ,1199 12 350 10 300 8 250 200 6 150 4 50 18202224262830323436 30 40 60 频率Hz 频率Hz 图13FFT三点变换计算结果.(a)FFT三点变换频谱图:(b)FFT三点变换柱状图 Fig.13 Computing results of FFT three point transform:(a)three point transform spectrum chart based on FFT:(b)three point transform his- togram based on FFT 表1四种算法初相角比较 Table 1 Comparison of four algorithms in early phase 算法 颜率/z 初相角/() 颗率/k 初相角/(° 频率/出 初相角/(°) FFT 50 32.5778 25 16.3562 27 355.1154 三点FFT算法 50 30.5022 25 15.3532 27 0.1802 加汉宁窗FFT算法 50 30.1235 25 14.9986 27 0.1052 加海明窗FFT算法 50 30.2258 25 15.1548 27 0.1425 可见,FFT三点算法比FFT算法的频谱泄漏范 IEEE Trans Power Delivery.2001.16(2):160 围更小,精度更高,其效果相当于加汉宁窗F℉T算 [5]Andria G.Savino M.Windows and interpolation algorithms to 法,而应用起来更加高效,实验结果证明了FFT三 improve electrical measurement accuracy.IEEE Trans Instrum Mea,1999,38(4):856 点变换算法的正确性和有效性, [6]Zhang J Q.Li S.Han F Y,et al.High accuracy estimation of 5结论 power system frequency based on spectral leakage cancellation al- gorithm.Trans China Electrotech Soc,2005.20(12):30 提出了FFT的三点变换算法,通过仿真证明该 (张介秋,李爽,韩峰岩等.电力系统高精度频率估计的谱泄 算法的有效性,在此基础之上开发出一套基于DSP 漏对消算法.电工技术学报,2005,20(12):30) [7]Pang H.Li D X.Zu Y X.et al.An improved algorithm for har- 的间谐波检测装置,实验结果证明了F℉T的三点变 monic analysis of power system using FFT technique.Proc 换算法的有效性和优越性, CSEE,2003,23(6):50 通过比较,FFT的三点变换算法应用于DSP中 (庞浩,李东霞,姐云霄,等.应用F℉T进行电力系统谐波分析 效率比加窗体FFT算法更高,其精度优于FFT算 的改进算法.中国电机工程学报,2003,23(6):50) 法,因此该算法可以在间谐波检测领域进行推广, [8]Grandke TT.Interpolation algorithms for discrete Fourier trans- form of weighed signals.IEEE Trans Instrum Meas.1983.32 参考文献 (2):350 [9]Zhang B.Sun J.A power quality analysis method based on Mallat [1]Rifai M R.OrtmeyerT H.MeQuillan W J.Evaluation of current algorithm and fast Fourier transform.Power Syst Technol, interharmonics from AC drives.IEEE Trans Power Delivery, 2007,31(19):35 2000,15(3):1094 (张斌,孙静.基于Mallat算法和快速傅里叶变换的电能质量分 [2]Gunther E W.Interharmonics in power systems.IEEE Power 析方法,电网技术,2007,31(19):35) Eng Soe Summer Meet,2001,2(15):813 [10]Su K F.Lv Q.Geng Q F,et al.The Principle and Develop- [3]Grandke T T.Interpolation algorithms for discrete Fouirer trans- ment of TMS320F2812.Beijing:Electronics Industry Press. form of weighed signals.IEEE Trans Instrum Meas,1983.32 2005 (2):350 (苏奎峰,吕强,耿庆蜂,等.TMS320F2812原理与开发.北 [4]Zhang F S.Geng Z X.Yuan W.The algorithm of interpolating 京:电子工业出版社,2005) windowed FFT for harmonic analysis of electric power system
图13 FFT 三点变换计算结果.(a) FFT 三点变换频谱图;(b) FFT 三点变换柱状图 Fig.13 Computing results of FFT three-point transform:(a) three-point transform spectrum chart based on FFT;(b) three-point transform histogram based on FFT 表1 四种算法初相角比较 Table1 Comparison of four algorithms in early phase 算法 频率/Hz 初相角/(°) 频率/Hz 初相角/(°) 频率/Hz 初相角/(°) FFT 50 32∙5778 25 16∙3562 27 355∙1154 三点 FFT 算法 50 30∙5022 25 15∙3532 27 0∙1802 加汉宁窗 FFT 算法 50 30∙1235 25 14∙9986 27 0∙1052 加海明窗 FFT 算法 50 30∙2258 25 15∙1548 27 0∙1425 可见FFT 三点算法比 FFT 算法的频谱泄漏范 围更小精度更高其效果相当于加汉宁窗 FFT 算 法而应用起来更加高效.实验结果证明了 FFT 三 点变换算法的正确性和有效性. 5 结论 提出了 FFT 的三点变换算法通过仿真证明该 算法的有效性.在此基础之上开发出一套基于 DSP 的间谐波检测装置实验结果证明了 FFT 的三点变 换算法的有效性和优越性. 通过比较FFT 的三点变换算法应用于 DSP 中 效率比加窗体 FFT 算法更高其精度优于 FFT 算 法因此该算法可以在间谐波检测领域进行推广. 参 考 文 献 [1] Rifai M ROrtmeyer T HMcQuillan W J.Evaluation of current interharmonics from AC drives. IEEE T rans Power Delivery 200015(3):1094 [2] Gunther E W.Interharmonics in power systems.IEEE Power Eng Soc Summer Meet20012(15):813 [3] Grandke T T.Interpolation algorithms for discrete Fouirer transform of weighed signals.IEEE T rans Instrum Meas198332 (2):350 [4] Zhang F SGeng Z XYuan W.The algorithm of interpolating windowed FFT for harmonic analysis of electric power system. IEEE T rans Power Delivery200116(2):160 [5] Andria GSavino M.Windows and interpolation algorithms to improve electrical measurement accuracy.IEEE T rans Instrum Meas199938(4):856 [6] Zhang J QLi SHan F Yet al.High-accuracy estimation of power system frequency based on spectral leakage cancellation algorithm.T rans China Electrotech Soc200520(12):30 (张介秋李爽韩峰岩等.电力系统高精度频率估计的谱泄 漏对消算法.电工技术学报200520(12):30) [7] Pang HLi D XZu Y Xet al.An improved algorithm for harmonic analysis of power system using FFT technique. Proc CSEE200323(6):50 (庞浩李东霞姐云霄等.应用 FFT 进行电力系统谐波分析 的改进算法.中国电机工程学报200323(6):50) [8] Grandke T T.Interpolation algorithms for discrete Fourier transform of weighed signals.IEEE T rans Instrum Meas198332 (2):350 [9] Zhang BSun J.A power quality analysis method based on Mallat algorithm and fast Fourier transform. Power Syst Technol 200731(19):35 (张斌孙静.基于 Mallat 算法和快速傅里叶变换的电能质量分 析方法.电网技术200731(19):35) [10] Su K FLv QGeng Q Fet al.The Principle and Development of T MS320F2812.Beijing:Electronics Industry Press 2005 (苏奎峰吕强耿庆峰等.T MS320F2812原理与开发.北 京:电子工业出版社2005) 第10期 柯 勇等: 间谐波检测的 FFT 算法改进和 DSP 实现 ·1199·