1、低通滤波器的选择
滤波器有模拟滤波器和数字滤波器两种。这里选用数字滤波器,因为它相对于模拟滤波器更容易进行滤波代数运算,而且它不会像模拟滤波器那样随时间、温度、电压漂移,还有就是它能实现近似理想的响应和线性相位,所以能更好地达到谐波检测的实时性和准确性的要求。
数字滤波器有无限冲激响应(IIR)系统和有限冲激响应(FIR)系统两种。虽然FIR滤波器相对于IIR滤波器可以得到严格的线性相位,但在相同技术指标下,IIR滤波器由于存在输出对输入的反馈,因而可用大约1/10~1/5FIR滤波器的阶数来满足指标的要求,从而使得所用空间少,运算次数少,实时性强。由于谐波检测环节对相位要求不高,而对计算速度要求极高,因此选择IIR滤波器作为研究的对象。
2、利用MATLAB设计IIR滤波器
目前数字滤波器的设计有许多现成的高级语言设计程序,但他们都存在设计效率较低,不具有可视图形,不便于修改参数等缺点,而Matlab为数字滤波的研究和应用提供了一个直观、高效、便捷的工具。它以矩阵运算为基础,把计算、可视化、程序设计融合到了一个交互式的工作环境中。尤其是Matlab工具箱使各个领域的研究人员可以直观而方便地进行科学研究与工程应用。其中的信号处理工具箱、图像处理工具箱、小波工具箱等更是为数字滤波研究的蓬勃发展提供了可能。
2.1、在Matlab中进行仿真设计
许多文献中在利用Matlab设计IIR数字滤波器时,采用先设计一个模拟滤波器,然后利用脉冲响应不变法或者双线性变换法,将模拟滤波器的传输函数转换成数字滤波器的系统函数,设计过程比较复杂,编写的程序比较长,没有很专业的知识是设计不出来的。而本文利用FDAFool工具可以非常方便地设计出数字滤波器。
FDATool(FilterDesign&AnalysisTool)是Matlab中的一种图形用户工具,为滤波器的设计提供了一个综合、简便的图形用户界面。本文要设计一个谐波检测电路中的低通滤波器,对于三相电路而言,其交流侧主要是5次和7次谐波,因此本文设计的低通滤波器的指标为:模拟信号采样频率Fs=2000Hz,通带截止频率Fpass=100Hz,阻带截止频率Fstop=200Hz,通带波动不大于0.1dB,阻带衰减不小于32dB。在图1界面中设置好参数,并且选择IIR中的EllipTIc滤波器,然后点击DesignFilter,即可得到所设计滤波器的模型:Order(阶)=4,SecTIons(节)=2,并可观察其幅度响应、相位响应,还可以观察脉冲响应、阶跃响应、滤波器的零极点绘制图以及系统函数的各个系数等指标。
2.2、利用Simulink检验滤波效果
打开Simulink新建一个文件unTItLEDl如图2,在FDATool界面中点击RealizeModel,将设计好的滤波器模型导入Simulink中,然后添加三个频率分别为50Hz、250Hz、350Hz的正弦波,利用Scope见察通过数字低通滤波器Filter的滤波效果。
本文导航
第 1 页:数字低通滤波器的设计
第 2 页:数字低通滤波器FPGA实现