基于DSP的切比雪夫I型FIR滤波器滤波
基于DSP 的切比雪夫I 型
FIR 滤波器滤波
学院: 专业: 姓名: 学号:
二零一四年三月八日
摘要:由于FIR 滤波器可以保证任意幅频特性,具有严格的线性相频特性,组
成的系统是稳定的,因此在通信、图像处理、模式识别等领域都有着广泛的应用,越来越受到人们的重视。本设计是采用切比雪夫法设计FIR 数字滤波器。具体是利用TMS320C5509来实现硬件的滤波功能。其中利用matlab 得到滤波器的系数,然后利用ccs 集成开发环境编程实现。
关键词:FIR 滤波器 切比雪夫 TMS320C5509 matlab ccs 滤波 一、 引言
数字滤波器有很多种,从实现的网络结构或者单位脉冲相应的长度分类,可以分为无限长单位脉冲响应滤波器和有限长单位脉冲响应滤波器。这次采用的切比雪夫数字滤波器就是有限单位脉冲数字滤波器的其中一种,
切比雪夫法是一种优化设计法,它克服了窗函数设计法和频率采样法的缺点,使最大误差(即波纹的峰值)最小化,并在整个逼近频段上均匀分布。用切比雪夫法设计的FIR 数字滤波器的幅频响应在通带和阻带都是等波纹的,而且可以分别控制通带和阻带波纹幅度
二、 切比雪夫数字滤波器设计原理
切比雪夫滤波器的幅频特性具有等波纹特性。它有两种形式振幅特性在通带内是等波纹的,在阻带内是单调递减的切比雪夫I 型滤波器,振幅特性在阻带内是等波纹的,在通带内是单调递减的切比雪夫II 型滤波器,如图所示分别画出了滤波器的幅频特性和衰减函数。
以切比雪夫I 型为例介绍其设计原理 幅度平方函数用H (j Ω) 表示
2
H (j Ω) =
2
11+ε2C N (
Ω) Ωp
(2-1)
式中,ε为小于1的正数,表示通带内幅度波动的程度,ε越大,波动幅度也越大。Ωp 称为通带截止频率。令λ=p
,称为对Ωp 的归一化频率。
定义允许的通带内最大衰减αp 用下式表示
m a Ha j (Ω)
Ω, ≤Ωp (2-2) αp =10l 2
m i Ha j (Ω)
2
式中
Ωj m a h a (
2
) = 1 (2-3)
Ωj ) = m i h a (
2
1
(2-4) 2
1+ε
因此
αp =10l g + (2-5) (1ε2 ) ε2=10
0. α1p
-1 (2-6)
这样,可以根据通带内最大衰减αp ,可求出参数ε。 阶数N 影响过渡带的宽度,同时也影响通带内波动的疏密,因为N
等于通带内的最大值和最小值的
总个数。设阻带的起点频率为Ωs ,则有
H (j Ωs ) =
2
1Ω
1+ε2C N 2(s )
Ωp
(2-7)
令λs =
Ωs
p
,由λs >1,有
C N (λs )=ch (Narch λs )
=可以解出
N =
(2-8)
s (2-9)
⎧⎫
⎪1⎪
Ωs =Ωp ch ⎨arch ⎬ (2-10) N ⎪⎪⎩⎭3dB 截止频率用Ωc 表示,
2
H a (j Ωc )= (2-11)
按照(2-3-1)式,有
1⎫⎛1
Ωc =Ωp ch arch ⎪ (2-12)
ε⎭⎝N
经过一系列推论得
G a (p )=
1
N i =1
归一化系统函数为
ε2N -1∏(p -p i )
(2-13)
去归一化的系统函数为
H α(s )=G a (p )
p =
s
Ωp
=
Ωp N
ε2N -1∏(p -p i Ωp )
i =1
N
(2-14)
三、 切比雪夫法FIR 数字滤波器的matlab 实现
用MATLAB 设计切比雪夫低通滤波器 (1)[z , p , G ]=cheb 1ap (N , R s )
该格式用于计算N 阶切比雪夫I 型归一化模拟低通滤波器系统的零极点和增益因子。返回长度为N 的列向量Z 和P ,分别给出N 个零点和极点的位置。Rs 是阻带最小衰减。
(2)[N , wso ]=cheb 1ord (wp , ws , Rp , As )
该格式用于计算切比雪夫I 型数字滤波器的阶数N 和阻带截止频率wso 。调用参数分别为数字滤波器的通带频率和阻带边界频率的归一化值。 (3) [N , wso ]=cheb 1ord (wp , ws , Rp , As ,' s ' )
该格式用于计算切比雪夫I 型模拟滤波器的阶数N 和阻带截止频率wso 。wp 和ws 是实际模拟角频率。 (4) [B , A ]=cheby (N , Rs , wso ,' ftype ')
该格式用于计算N 阶切比雪夫I 型数字滤波器系统函数的分子和分母多项式系数向量B 和A 。调用参数N 和wso 分别为切比雪夫I 型数字滤波器的阶数和阻带截止频率的归一化值。
(5) [B , A ]=cheby (N , Rp , wso ,' ftype ',' s ')
该格式用于计算N 阶切比雪夫I 型模拟滤波器系统函数的分子和分母多项式系数向量B 和A 。调用参数N 和wso 分别为切比雪夫I 型模拟滤波器的阶数和阻带截止频率的归一化值。
设计一个切比雪夫Ⅰ型低通数字滤波器。参数fp=100 Hz,Rp=0.5 dB,fs=150 Hz,Rs=10 dB。
fp=100; fs=150; Rp=0.5; Rs=10; Fs=1000; Wp=2*pi*fp; Ws=2*pi*fs;
[N,wc]=cheb1ord(Wp,Ws,Rp,Rs,'s'); [z,p,k]=cheb1ap(N,Rp); [Bap,Aap]=zp2tf(z,p,k); [b,a]=lp2lp(Bap,Aap,wc); [bz,az]=impinvar(b,a,Fs); figure(1)
[H,W]=freqz(bz,az,Fs); subplot(2,1,1)
plot(W/pi,20*log10(abs(H))) xlabel('幅频');ylabel('幅度/db'); grid on; subplot(2,1,2)
plot(W/pi,180/pi*unwrap(angle(H))) xlabel('相频/hz');ylabel('相位'); grid on; figure(2) f1=50; n=150; m=0:(n-1); t=m/Fs; subplot(2,3,1) x=sin(2*pi*f1*t); plot(t,x); title('f1信号'); f2=200; x=sin(2*pi*f2*t); subplot(2,3,2) plot(t,x); title('f2信号'); subplot(2,3,3)
x=sin(2*pi*f2*t)+sin(2*pi*f2*t); plot(t,x); title('叠加信号');
y=filtfilt(bz,az,x); subplot(2,3,4)
plot(t,y);title('滤波后信号'); subplot(2,3,5)
plot(t,sin(2*pi*f1*t));title('希望得到的信号'); 图形如下:
幅度/d b
叠加信号
幅频
滤波后信号
相位
希望得到的信号
相频/hz
图3.1 图3.2
Ccs 环境下FIR 滤波程序:
#include "math.h" #include "Dsplib.h"#define uint unsigned int #define PI 3.1415926 #define L 16 #define L2 L/2 #define Fs 8000 #define T 1/Fs #define f1 300 #define f2 1800 #define f3 3300
#define w1 (2*PI*f1*T) #define w2 (2*PI*f2*T) #define w3 (2*PI*f3*T) #define a1 0.33 #define a2 0.30 #define a3 0.30
DATA coeff[L2]={ 0,0,0,3,11,25,42,55,55,42,25,11,3,0,0,0 }; DATA in[L]; DATA out[L];
DATA index[L+2];
main()
{ uint i,n=0; float signal; for(i=0;i
结果图如下:
输入波形:
输出波形:
图3.2
四、 结论
根据图3.1,3.1我们可以得出以下结论:求得阶数N=3,通带边界频率wc=628.315,频率在0-100hz 完全通过,在100-150通过幅度递减,150hz 后被截止。
通过信号f1=50hz,f2=200hz,观察验证后的波形,可以看出f1通过,而f2
被截
止,数字低通滤波器的阻带截止频率为150hz ,所以设计的数字滤波器符合技术指标。
通过对图3.2的分析得到的结果是:根据输入输出的图形可以看出,输入信号是500Hz 、1800Hz ,3300Hz 三种频率信号的叠加,经过滤波处理后只有500Hz 的信号输出,说明滤波成功。输出波形有轻微的失真,可见滤波对原始信号会产生一定的损伤。
参考文献:
[1]赵洪亮.TMS320C55x DSP应用系统设计(第2版). 北京:北京航空航天大学出版社,2010.9
[2]丁玉美, 高西全. 数字信号处理. 西安:西安电子科技大学出版社,2008. [3]《MATLAB 及在电子信息课程中的应用》,陈怀堔,吴大正,高西全. 电子工业出版社,2006.
[4]《MATLAB 7.0从入门到精通》,求是科技. 人民邮电出版社,2006.