APP下载

基于TMS320F28335的FIR-IFFT数字滤波方法

2016-06-13牮,李彧,刘振,李

电子科技 2016年5期
关键词:频域谐波滤波器

刘 牮,李 彧,刘 振,李 静

(上海理工大学 光电信息与计算机工程学院,上海 200093)



基于TMS320F28335的FIR-IFFT数字滤波方法

刘牮,李彧,刘振,李静

(上海理工大学 光电信息与计算机工程学院,上海200093)

摘要针对现有数字滤波方法存在大量傅里叶变换以及卷积运算,在工业控制领域处理50 Hz信号时,易造成处理器消耗大量运算时间,导致在低端处理器上无法实现常规数字滤波算法的问题,介绍了一种修改后的数字滤波算法,综合短时采样序列与最优窗函数在TMS320F28335上可快速实现该算法。经过窗函数截取后的信号进行FFT分析,去除谐波频率后IFFT还原波形,与通用的IIR或FIR滤波器相比,大幅缩短了程序运行时间,同时减少通用滤波器的大量卷积运算,提高程序执行效率。

关键词FIR窗函数;FFT参数;TMS320F28335处理器;采样精度

随着现代工业控制中检测设备的精密度逐渐提高,而外部输入信号被各种高频信号叠加然后形成畸变的正弦波形,实际工业测量仪器中经常需要测量电网的实时交流电压,根据检测值驱动保护设备断开负载,由于实际电网中存在高次谐波,需要滤去高次谐波后再做计算,这样就需要检测到真实的交流电压值,由于工频电压为50 Hz,本文提出一种滤去50 Hz以上杂波频率的数字方法,滤波效果趋于理想滤波器,并能确保精度。

1最优窗函数选择

FIR滤波器具有严格的相位线性特性,FIR的系统函数为

(1)

其差分方程为

(2)

由差分方程可看出,这是一个离散系统下的线性卷积过程,且该系统函数指出极点存在于z域单位圆内,是一个永恒稳定系统。时域卷积等同于频域相乘,这样可通过将单位冲击响应与输入序列转换为频域的乘法运算,可调用FFT算法快速求出输出序列,完成滤波。从FIR的系统函数中可看出,单位冲击响应是一个有限长度的离散序列信号,如何选取该离散序列需要按照特定的准则,推导过程如下:理想滤波器与实际的均方误差为e2,要求将e2取最小值,得出最优化的窗函数。实际滤波器频率响应为h(ejΩ),理想滤波器频率响应为hD(ejΩ),则误差e(ejΩ)表示为

e(ejΩ)=hD(ejΩ)-h(ejΩ)

(3)

均方误差

(4)

将式(1)的hD(ejΩ)和h(ejΩ)分别用离散傅里叶变换表示得

(5)

(6)

将上述两式带入式(1)中得

(7)

由帕赛瓦公式得

(8)

2FFT变换频谱分析

当一个模拟信号经过抽样后用于处理器计算时,抽样个数与频率分析精度有直接关系,提高分析精度要求必须增大抽样点数。如果简单将采样序列补零,不能增加频率分析精度,只能将频响曲线连续化。增加采样点数意味着占用更多的存储空间。如果不增加采样点数只能通过降低采样频率来扩大分辨率,但随着采样频率的降低,周期信号在频域将发生频谱混叠现象。根据采样定理对采样频率做出了强制要求,工程中通常采用过采样来还原实际波形。在采样频率较高的情况下,保证频率分辨率需要更多的存储空间来存放采样数据,通常造成设计成本以及运算量的增加,应根据实际情况确定具体FFT点数,推导过程如下[1]:

若模拟信号的采样频率为Ωs=2π/t,t为采样周期,Ω为离散信号的模拟角频率,并对Ω离散化为Ω=kΩ0=k2πf0,则离散傅里叶变换为

(9)

时域连续信号经过离散化后频域会以采样周期进行延拓。式(9)中的kΩ0t为折算到频域的数字频率,并将数字频率离散化后的结果,其中Ωs/Ω0=t0/t=n,表示经过离散后的频域点数n,表示离散了的n点频域周期t(采样周期)。频域的离散化表示着时域的周期延拓,时域的离散信号将以t0为周期延拓。从该表达式中可看出,t0越大,t越小,n点越大,Ω0在此表示频率分辨率,在采样频率fs不变的情况下,增大n会缩小Ω0即加大频率分辨率,反之如果n不变,缩小fs的情况下,Ω0也会缩小,同样可提高频率分辨率,但fs的缩小会导致频谱混叠。

3交流信号采样频率对精度的估计

由于是工频50 Hz的采样,滤波器设计的目的是要滤除高次谐波,假设经过滤波器后为正弦信号,表达式设为u(t)=uMsinωt。采集交流信号用于计算有效值时,一般采用真有效值计算公式,该计算方法与真实有效值存在误差[2]

(10)

所以,在周期内采样电压的有效值的绝对误差为

(11)

4基于TMS320F28335的设计过程

TMS320f28335是一款TI公司生产的高精度32位浮点DSP处理器,具有高速DSP运算能力以及片上12位a/D接口,多用于工业控制领域。由于本文所提到的滤波器算法运算数据量大,且多为乘加和累积运算,需要使用专用的DSP处理器,而浮点运算能在精度上满足设计要求,故选用该款处理器。

设计数字滤波器时,矩形窗截取采样序列时存在频谱泄露的现象。若采用较短的矩形窗函数会导致滤波器的幅频响应出现两种偏差。第一种是通带频率与截止频率之间频响曲线下降时存在较大的波动;另一种是通带内出现较明显的震荡。两种偏差均会影响滤波器效果,为避免该现象应选取窗宽较宽的矩形序列。实际加窗宽度为1 024点时可保证序列FFT频谱分析精度,保证滤波效果。

4.1采样频率的设置

根据上述介绍,工频环境下对现场电压检测并驱动保护装置时,并不需要精确的电压计算,通常会根据标准来制定相关的容许误差电压。例如电网中过欠电压均是以一定的百分比例来衡量,采样点数的大小决定了检测电压的准确性,由上述讨论中确定当采样点N>256点时,精度优于0.01%,但过采样导致系统多余开销,尤其在采集多路信号时显得冗余。根据保护类产品对外部采样精度要求没有测量型仪器精度高来讲,采样点数下降为每周期128点时仍能保证0.04%的精度,足够用于工业现场的电压监控。

根据TMS320f2835内定时器与晶振的关系,设置晶振频率为150 MHz,采用定时器0作为a/D采样周期,在每个定时器定时结束时完成一次采样。由上述讨论确定对周期50 Hz频率正弦波信号采样时,信号的周期为20 ms,采样128个点,正负半波各64点采样在20 ms内完成,则采样周期为156 μs,可采集高次谐波,完全满足我国电网的实际电压情况,对应的采样频率为6 400 Hz,在150 MHz最高晶振频率下,定时器需填入对应的初值(需根据定时器初始化程序确定初值,确保定时156 μs后进入中断处理程序)。嵌入式系统中对中断的要求是快速响应,处理程序简单便捷,该处设计为一次性采集够FFT所需的点数,采集完毕后再进行运算以确保实时响应速度,实际操作流程如图1所示。

图1 A/D采样流程图

4.2FFT点数选取方法

由于通过矩形窗截取采样序列,可直接通过限制采样点数来一次性截取完毕,相当于对无限长序列进行y(n)=x(n)×h(n)操作,然后通过离散傅里叶变换在频域分析截取的信号,对截止频率以上的信号直接滤除,再将频域信号还原回时域完成滤波,采用此方法可完成滤波功能的同时还可对信号进行谐波分析。

采样频率与频谱分辨率的关系为:当采样频率为6 400 Hz,n=1 024时,Ω0=fs/n=6 000/1 024=6.25,该式说明在频域中代表每个频域抽样点的频率差为6.25 Hz,若在采样频率确定的情况下缩小频谱分辨率,唯一的做法是增大n值,若Ω0缩小至1 Hz时,所需的n值为6 400点,若缩小至0.5 Hz,值为12 800点。针对TMS320F28335芯片,若选取12 800点时所需的存储空间为12 800×16 bit约13 kB,而芯片本身只包含34 kB的SRAM,该选法直接导致资源严重浪费。因为当Ω0=6.25时,50 Hz对应的频谱图为第8个点,FFT后将第9个点至第1 015个点对应的幅度置零即可完成截止频率以外的频率分量的滤除,而只占用约1 kB存储空间,节约资源的同时满足了设计要求。定时器控制A/D采集完毕1 024点数据后执行算法程序,滤波后可直接计算真有效值,算法流程如图2所示[3-4]。

图2 滤波算法流程图

执行完一次算法后会得出当前采样无干扰时50 Hz交流信号的有效值,这种计算方式可分析出周期序列的真实频谱,实现高精度滤波与有效值计算。

5结果验证以及精度分析

图3为CCS3.3编译环境下测试外部输入的叠加了谐波的正弦信号以及滤波后再做IFFT还原出的真实信号[5-7],外部真实信号由两台信号发生器叠加输出,输入信号为信号发生器RIGOL DG1022与AFG3051的输出信号叠加而成,一台输出基波50 Hz、峰-峰值1 V、直流偏置0.5 V信号,另一台输出350 Hz(工频7次谐波)、峰-峰值1 V、直流偏置0.5 V信号,叠加后输入TMS320F28335的A/D端口。输入前对叠加波形进行测量检验是否符合芯片A/D口承受电压上限,实测信号发生器叠加后输出波形如图3所示。

图3 叠加信号模拟基波与谐波波形

经过A/D采样1 024点进行频谱分析并滤去谐波频率,如图4和图5所示。

图4 叠加谐波后的频谱分析

图5 滤去谐波频率

经过IFFT运算将基波信号还原,如图6所示[6-8]。

图6 IFFT后的基波信号

根据TMS320F2835的A/D计算公式和图可知,还原后的数字量峰值为1 381,则此时输入最大模拟量为1.01,与信号发生器输出电压相同,由于采用内部12位精度的A/D以及增加采样点数,将误差控制在较高范围,并能证明此方法可行,表1为TMS32028335上执行该算法与常规FIR算法的时间对比与精度指标。

表1 TMS320F28335执行算法时间与精度指标

6结束语

经过IFFT还原后的信号可真实反映基波的幅度[9],计算真有效值时需要对单个周期进行取值,由于1 024点采样,每周期信号采样128点,整个采样序列中包含8个周期的正弦信号,需要对单个周期进行过零点检测,当检测出连续 3个零点时认为1个周波结束,将第1个和第3个零点之间的采样信号取出做均方根值计算即可计算出实际的有效值。本文中提到的滤波方法适用于个别周期的频谱分析,实现方法简便快捷,较传统的数字滤波器更易于实现。

参考文献

[1]程佩青.数字信号处理教程[M].北京:清华大学出版社,2007.

[2]李沂乘.采样计算方法测量交流电压有效值误差分析[J].电子测量与仪器学报,2008(S2):62-65.

[3]徐垦.交流信号真有效值数字测量方法[J].华中科技大学学报:自然科学版,2006,34(2):51-54.

[4]徐垦.新型的真有效值数字测量表[J].电测与仪表,2005,42(6):10-12.

[5]李全利,刘长亮.CCS上FFT运算的实现[J].自动化技术与应用,2009,28(2):59-62.

[6]周燕,崔琪琳,田杜养.基于傅里叶变换的数字滤波器的设计[J].计量与测试技术,2009,36(3):20-22.

[7]叶亚东,蔺智挺,范玉红.基于FPGA的FIR数字滤波器设计与仿真[J].电子科技,2014,27(7):67-70.

[8]周云波,刘小群.基于Matlab的FIR数字滤波器的优化设计[J].电子科技,2010,23(10):28-29.

[9]王秀芳,路敬祎,李宏,等.改进FFT滤波的频域分析算法[J].大庆石油学院学报,2004,28(5):55-57.

FIR-IFFT Digital Filtering Method Based on TMS32028335

LIU Jian,LI Yu,LIU Zhen,LI Jing

(School of Optical-Electrical and Computer Engineering,University of Shanghai for Science and Technology,Shanghai 200093,China)

AbstractThere are a lot of Fourier transform and convolution operation in common digital filter,which are so time-consuming for the processor to compute in the field of industrial control,and thus not applicable for low-end MCU’s to calculate 50 Hz signals.This paper introduces a new digital algorithm.After the FFT analysis of the signal in the window function,the IFFT waveform of the harmonic frequency is removed.Compared with the common IIR or FIR filter,the operation time of the program is shortened greatly,and a large number of convolution operations are also reduced.

KeywordsFIR;FFT parameter;TMS320F28335;AD accuracy

doi:10.16180/j.cnki.issn1007-7820.2016.05.027

收稿日期:2015-10-12

作者简介:刘牮(1961—),男,硕士,副教授。研究方向:电子技术及嵌入式技术应用。李彧(1987—),男,硕士研究生。研究方向:智能控制与检测。

中图分类号TN911.72;TP311.1

文献标识码A

文章编号1007-7820(2016)05-101-04

猜你喜欢

频域谐波滤波器
大型起重船在规则波中的频域响应分析
从滤波器理解卷积
SFC谐波滤波器的设计及应用
电力系统谐波检测研究现状及发展趋势
开关电源EMI滤波器的应用方法探讨
自适应的谐波检测算法在PQFS特定次谐波治理中的应用
电力系统谐波状态估计研究综述
频域稀疏毫米波人体安检成像处理和快速成像稀疏阵列设计
网络控制系统有限频域故障检测和容错控制
基于Canny振荡抑制准则的改进匹配滤波器