正在加载图片...
第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 Han￾ning 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∙002652s‚FFT 三点变换算法大约为0∙002684s‚ 加海明窗的 FFT 算法大约0∙003334s‚加汉宁窗 FFT 算法大约0∙003336s.比较发现‚三点 FFT 算 法的谐波分析效果不仅可以跟加汉宁窗 FFT 算法相 似‚而且其运算效率比其他加窗体 FFT 算法更加高. 第10期 柯 勇等: 间谐波检测的 FFT 算法改进和 DSP 实现 ·1197·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有