《FIR数字滤波器的设计.doc》由会员分享,可在线阅读,更多相关《FIR数字滤波器的设计.doc(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流FIR数字滤波器的设计.精品文档.第九章 FIR数字滤波器的设计有限长单位脉冲响应滤波器的特点:线性相位滤波.1. 线性相位FIR数字滤波器、 特点1. 线性相位FIRDF含义设滤波器的脉冲响应为, 长为N. 则,再表成其中(可正负,)称为幅度特性函数, 称为相位特性函数.注: 不是 如的它的为, 为.若,是与采样点数N有关的常数,则称滤波器是线性相位的.系统的群时延定义为:.对线性相位滤波器, 群时延是常数.2. 线性相位的条件(1) 的特点 设滤波器是线性相位的, 则应有即从而有上面二式相除且整理为移项化简为求得一种情形:当关于奇对称时,
2、上式为零.是偶对称的. 即满足.此时.在偶对称的条件下, 再分 和 (2) 的特点数学推导见参考文献1, 下面只给出结论.当是奇数时,当是偶数时, 所以在偶对称的条件下, 滤波器有两种形式(对,是低通滤波器, 可转换成高通,带通,带阻滤波器)(对也是低通滤波器,但不可转换成高通,带阻滤波器).(3) 零点分布特点 (偶对称) 由此可得, 对, 若, 则.由是实数列, 得是实系数的, 所以, 有三种情形的零点. 例如hn=1 3 5 3 1; zplane(hn,1);(4) 极点均在, 且为阶的, 系统必稳定.因为 .(5)网络结构特点由对的对称性, 推得当为偶数时,当为奇数时,例如当时, .
3、可有如下网络结构. 直接型省了2个乘法器当时, 情形类似, 见书P185.2 用窗函数设计FIR数字滤波器线性相位的FIR时域要求是对称性.本节讨论如何在幅频特性上逼近期望滤波器.以低通为例. 设, 则一般为片断函数, 故无限长,需处理.1. 基本方法(1) 提出希望频率响应函数线性相位, 具有片断特点, 即(2) 算出 (无限长)(3) 加窗,长, 得 (*)要线性相位, 就要关于偶对称,而关于偶对称, 故要求所以要求关于偶对称.再回过来检验是否满足精度要求.若基本满足, 则依截取的, 制硬件, 编软件.2. 窗函数法的性能分析由(*)式知, 取点一样时, 逼近性质与窗形(值)有关. 下面分
4、析当时的频率性质.由, 得 .其中,. 代入卷积 ,故,.相位是线性的. 实际幅度=希望幅度*窗函数幅度.卷积=对每个, 求一积分, 其值记为.故有如下图形演示.右图为当时,的幅频图.阻带最小衰减21dB, 一般不满足实际工程需要. 过渡带宽(归一化),这可以通过增加N来减小. 这是窗函数设计的一个指标.3.典型窗函数下面给出各种窗函数的表达式、时域波形、幅度特性,以及理想滤波器加窗后的波形和幅度特性.以下均设低通滤器的.(1) 矩形窗, 已求得,矩形波形 矩形波形的幅频特性%矩形窗时域波形N=31; w=rectwin(N);n=0:30;subplot(1,2,1);stem(n,w);a
5、xis(0 33 0 1.3);grid on;%矩形窗频域特性hw,w=freqz(w,1);subplot(1,2,2);plot(w/pi,20*log10(abs(hw)/abs(hw(1);axis(0 1 -60 0);grid on;pause;%理想滤波器加窗后采样序列wc=pi/2;N=31;n=0:30;t=(N-1)/2;hdn=sin(wc*(n-t)./(pi*(n-t);hdn(16)=0.5;%补点;subplot(1,2,1); stem(n,hdn);axis(0 33 -0.2 0.8);grid on;%滤波器加窗后的频域特性hw,w=freqz(hdn,
6、1);subplot(1,2,2);plot(w/pi,20*log10(abs(hw)/abs(hw(1);axis(0 1 -60 8);grid on;理想滤波器时域采样 加窗后滤波器的频率特性过渡带宽度最小衰减.当时矩形窗的幅频特为与N成反比, 要改,需另选.(2) 三角窗(Bartlett Window)各指标为:.(3) 升余弦窗(汉宁窗, hanning window),各指标为:(4) 改进升余弦窗(海明窗, hanning window),(5) 布莱克曼窗(blackman window),各指标为: .为便于选择使用, 将5种窗函数基本参数列于下表.类型窗函数的旁瓣峰值过
7、渡带宽度加窗后滤波器的阻带最小衰减rectwin-134p/N-21bartlet三角-258p/N-25hanning-318p/N-44hamming-418p/N-53blackman-5712p/N-74如阻带最小衰减,过渡带宽度.则选布莱克曼窗, 且由, 得.事实上, 还有很多窗形可供选择. 见P193.4.设计步骤(1) 由阻带指标选窗型w, 由过渡带宽度选点数N,(2) 构造要逼近的, 构造(对低通)应使(3) 计算(4) 加窗.例1 用窗函数法设计线性相位高通FIRDF, 指标为通带截止频率:; 通带最大衰减:.阻带截止频率:;阻带最小衰减:解(1)根据阻带指标, 可选汉宁和海
8、明窗, 我们选海明窗, 由, 对高通滤波器, 必须取奇数.故有 .(2) , 则要逼近(全通-低通)(3) 求表示全通滤波器 低通滤波器(4) 加窗 (见书, 略)上述过程可用Matlab中的命令fir1来实现.格式1: hn=fir1(N,wc,ftype,window(N+1);ftype可选high, stop; window 窗名, 默认hamming.格式2: hn=fir1(N,wc); 阶数为N, 6dB截止频率wc (01)的低通滤波器.(注h(n)的长度为N+1)当wc=wc1,wc2时, 为带通滤波器.例如上例的命令为(注设计时,对p作归一化)wc=29/66; N=32;
9、%N=h(n)的长度-1hn=fir1(N,wc, high); subplot(1,2,1);n=0:32; stem(n,hn);axis(0 32 -0.4 0.6);grid on;hw,w=freqz(hn,1); subplot(1,2,2);plot(w/pi,20*log10(abs(hw);axis(0 1 -80 5);grid on;注对高通,带阻,阶数必须为偶数.例2 用窗函数法设计一个FIR带通滤波器, 指标为阻带下截止频率:;阻带最小衰减通带下截止频率:;通带最大衰减通带上截止频率:;阻带上截止频率:; 解 由阻带衰减指标, 选blackman窗, 由过度带宽,得,
10、 通带区间约定用表示, 计算如下程序命令为wls=0.2*pi;wlp=0.35*pi;wup=0.65*pi;B=wlp-wls; N=ceil(12*pi/B);wp=wlp/pi-6/N,wup/pi+6/N;hn=fir1(N-1,wp,blackman(N);subplot(1,2,1);n=0:79; stem(n,hn); axis(0 80 -0.4 0.4);grid on;hw,w=freqz(hn,1);subplot(1,2,2); plot(w/pi,20*log10(abs(hw);axis(0 1 -100 5);grid on;例3 用窗函数法设计FIR低通滤波
11、器, 实现对模拟信号采样后进行数字低通滤波, 对模拟信号的指标通带截止频率:; 阻带截止频率:;阻带最小衰减:;采样频率:.选合适窗函数, 求出,并画出幅频衰减曲线和相频特性曲线.解 (1) 转换成数字频率为通带数字截止频率:;阻带数字截止频率: ;阻带最小衰减:40dB;过渡带宽度:.(2) 由衰减:40dB, 选hamming窗, 由,得.(3) 确定,命令如下:fp=2000;fs=3000;Fs=10000;wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;B=ws-wp;N=ceil(8*pi/B);wc=(wp+B/2)/pi;hn=fir1(N-1,wc);n=0:N-1;
12、subplot(1,2,1);stem(n,hn,.); grid on;hw,w=freqz(hn,1);subplot(1,2,2);plot(w/pi,20*log10(abs(hw);grid on; axis(0 1 -100 4);w=-2.2:0.01:2.2;wg=sin(31*w/2)./sin(w/2);wg(221)=31;plot(w,wg);axis(-2.5 2.2 -10 32);%理想滤波器的频域特性.ezplot(int(sin(w-x)*16)/sin(w-x)/2)/6.28,-pi/4,pi/4),-1.7 1.7);加窗后的幅度函数的频域特性.附录1对
13、称性数据P183n13=0:1:12;%P183h13=-0.05 -0.03 0 0.08 0.16 0.25 0.28 0.25 0.16 0.08 0 -0.03 -0.05;subplot(1,2,1);stem(n13,h13);axis(0 13 -0.1 0.3)n12=0:1:11;h12=-0.05 -0.03 0 0.08 0.16 0.25 0.25 0.16 0.08 0 -0.03 -0.05;subplot(1,2,2);stem(n12,h12);axis(0 13 -0.1 0.3)2对称性数据P186N=31;n=0:30;hd=sin(0.25*pi*(n-15)./(pi*(n-15);hd(16)=0.25;subplot(1,2,1);stem(n,ones(1,N);axis(0 31 0 1.3);subplot(1,2,2);stem(n,hd);axis(0 31 -0.1 0.3);plot(n,hd); axis(0 30 -0.1 0.27); %wc=0.25pi加图 hk=fft(hd,128); k=0:63; plot(k/64*pi,abs(hk(1,1:64);axis(0 pi 0 1.1)