用巴特莱特窗函数法设计数字FIR低通滤波器.doc
- 文档编号:384432
- 上传时间:2022-10-09
- 格式:DOC
- 页数:13
- 大小:274KB
用巴特莱特窗函数法设计数字FIR低通滤波器.doc
《用巴特莱特窗函数法设计数字FIR低通滤波器.doc》由会员分享,可在线阅读,更多相关《用巴特莱特窗函数法设计数字FIR低通滤波器.doc(13页珍藏版)》请在冰豆网上搜索。
课程设计
课程设计名称:
数字信号处理课程设计
专业班级:
电信1108
学生姓名:
梁帅磊
学号:
201116910811
指导教师:
乔丽红
课程设计时间:
2014-6-16——2014-6-2
电子信息工程专业课程设计任务书
学生姓名
梁帅磊
专业班级
电信1108
学号
201116910811
题目
用巴特莱特窗函数法设计数字FIR低通滤波器
课题性质
其他
课题来源
自拟
指导教师
乔丽红
同组姓名
XXX
主要内容
用巴特莱特窗函数法设计一个数字FIR低通滤波器,要求通带边界频率为400Hz,阻带边界频率为500Hz,通带最大衰减1dB,阻带最小衰减40dB,抽样频率为2000Hz,用MATLAB画出幅频特性,画出并分析滤波器传输函数的零极点;
信号经过该滤波器,其中300Hz,600Hz,滤波器的输出是什么?
用Matlab验证你的结论并给出的图形。
任务要求
1.掌握用巴特莱特窗函数法设计数字FIR低通滤波器的原理和设计方法。
2.掌握用Kaiser方程估计FIR数字滤波器长度的方法。
3.求出所设计滤波器的Z变换。
4.用MATLAB画出幅频特性图并验证所设计的滤波器。
参考文献
1、程佩青著,《数字信号处理教程》,清华大学出版社,2001
2、SanjitK.Mitra著,孙洪,余翔宇译,《数字信号处理实验指导书(MATLAB版)》,电子工业出版社,2005年1月
3、郭仕剑等,《MATLAB7.x数字信号处理》,人民邮电出版社,2006年
4、胡广书,《数字信号处理理论算法与实现》,清华大学出版社,2003年
审查意见
指导教师签字:
乔丽红
教研室主任签字:
2014年6月12日
说明:
本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页
一 需求分析和设计内容
数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。
现如今随着电子设备工作频率范围的不断扩大,电磁干扰也越来越严重,接收机接收到的信号也越来越复杂。
为了得到所需要频率的信号,就需要对接收到的信号进行过滤,从而得到所需频率段的信号,这就是滤波器的工作原理。
对于传统的滤波器而言,如果滤波器的输入,输出都是离散时间信号,则该滤波器的冲激响应也必然是离散的,这样的滤波器定义为数字滤波器。
它通过对采样数据信号进行数学运算来达到频域滤波的目的.
滤波器在功能上可分为四类,即低通(LP)、高通(HP)、带通(BP)、带阻(BS)滤波器等,每种又有模拟滤波器(AF)和数字滤波器(DF)两种形式。
对数字滤波器,从实现方法上,具有有限长冲激响应的数字滤波器被称为FIR滤波器,具有无限长冲激响应的数字滤波器被称为IIR滤波器。
FIR数字滤波器的主要优点有:
一、具有严格的线性相位特性;二、不存在稳定性问题;三、可利用DFT来实现。
这些优点使FIR数字滤波器得到了广泛应用。
窗函数法是一种设计FIR数字滤波器的基本方法,但它不是最佳设计方法,在满足同样设计指标的情况下,用这种方法设计出的滤波器的阶数通常偏大。
在窗函数法的基础上,以所定义的逼近误差最小为准则来进行优化设计的算法,由于其中的逼近误差可根据不同的设计要求进行定义,故此算法适应性强,它既可用于设计选频型滤波器,又适用于非选频型滤波器的设计。
常用的窗函数有矩形窗函数、巴特莱特窗函数、三角窗函数、汉宁(Hann)窗函数、海明(Hamming)窗函数、布莱克曼(Blackman)窗函数、凯塞(Kaiser)窗函数等。
本设计通过MATLAB软件对FIR型滤波器进行理论上的实现,利用巴特莱特窗函数设计数字FIR低通滤波器。
FIR系统不像IIR系统那样易取得较好的通带和阻带衰减特性,要取得较好的衰减特性,一般要求H(z)阶次要高,也即M要大。
FIR系统有自己突出的优点:
系统总是稳定的;易实现线性相位;允许设计多通带(或多阻带)滤波器,后两项都是IIR系统不易实现的。
FIR数字滤波器的设计方法有多种,如窗函数设计法、频率采样法和Chebyshev逼近法等。
随着Matlab软件尤其是Matlab的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化。
本实验的数字滤波器的MATLAB实现是指调用MATLAB信号处理工具箱函数filter对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n)。
二 设计原理及设计思路
1.设计FIR数字滤波器的基本方法:
FIR数字滤波器的系统函数无分母,为,系统频率响应可写成:
,令=,H(w)为幅度函数,称为相位函数。
这与模和辐角的表示方法不同,H(w)为可为正可为负的实数,这是为了表达上的方便。
如某系统频率响应=sin4w,如果采用模和幅角的表示方法,sin4w的变号相当于在相位上加上(因-1=),从而造成相位曲线的不连贯和表达不方便,用则连贯而方便。
窗函数法又称傅里叶级数法,其设计是在时域进行的。
函数一般是无限长且非因果的,设计时需用一个合适的窗函数把它截成有限长的因果序列,使对应的频率响应(的傅里叶变换)尽可能好地逼近理想频率响应。
窗函数法的主要缺点是:
一、不容易设计预先给定截止频率的滤波器;二、满足同样设计指标的情况下所设计出的滤波器的阶数通常偏大。
一些固定窗函数的特性表
名称
主瓣宽度
过度带宽
最小阻带衰减
矩形
4/(2M+1)
0.92/M
20.9dB
巴特莱特
4/(2M+1)
2.1/M
25dB
汉宁
8/(2M+1)
3.11/M
43.9dB
海明
8/(2M+1)
3.32/M
54.5dB
布莱克曼
12/(2M+1)
5.56/M
75.3dB
2.FIR数字滤波器设计的基本步骤如下:
(1)确定技术指标
在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。
在很多实际应用中,数字滤波器常被用来实现选频操作。
因此,指标的形式一般在频域中给出幅度和相位响应。
幅度指标主要以2种方式给出。
第一种是绝对指标。
他提供对幅度响应函数的要求,一般应用于FIR滤波器的设计。
第二种指标是相对指标。
他以分贝值的形式给出要求。
本文中滤波器的设计就以线性相位FIR滤波器的设计为例。
(2)逼近
确定了技术指标后,就可以建立一个目标的数字滤波器模型(通常采用理想的数字滤波器模型)。
之后,利用数字滤波器的设计方法(窗函数法、频率采样法等),设计出一个实际滤波器模型来逼近给定的目标。
(3)性能分析和计算机仿真
上两步的结果是得到以差分或系统函数或冲激响应描述的滤波器。
根据这个描述就可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断。
三 程序流程图
开始
↓
读入窗口长度
↓
计算hd(n)(
↓
调用窗函数子程序找w(n)
↓
计算h(n)=hd(n)w(n)
↓
调用子程序计算H(k)=DFT[h(n)]
↓
调用绘图子程序绘制H(k)幅度相位曲线
↓
结束
四 程序源代码
%实验设计程序如下:
clc;
fp=500;fs=400;Fs=2000;
Rp=1;
Rs=40;
wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;
i=1-10^(-Rp/20);
j=10^(-Rs/20);
%N=kaiord(0.1087,0.0100,500,400,2000)
n=-20*log(sqrt(i*j))-13;
N=n/14.6/(wp-ws)*2*pi
floor(N);
N=76;
wn=(wp+ws)/2/pi;
b=fir1(N,wn,bartlett(N+1));
figure
(1)
[h,w]=freqz(b,1,512,2000);
g=20*log10(abs(h));
plot(w,g);gridon;
axis([01000-503]);
xlabel('频率,Hz');ylabel('增益,dB')
title('巴特莱特LPF');
figure
(2)
zplane(b,1);
xlabel('b');ylabel('a');
title('传输零极点');
f1=300;f2=600;
n=0:
600;
t=n/10000;
x1=sin(2*pi*f1*t);
x2=sin(2*pi*f2*t);
x=x1+x2;
figure(3)
subplot(2,1,1);
plot(x1);gridon;
axis([0,50*pi,-3,3]);
xlabel('t');ylabel('x1');
title('x1的波形');
subplot(2,1,2);
plot(x2);gridon;
axis([0,50*pi,-3,3]);
xlabel('t');ylabel('x2');
title('x2的波形');
figure(4)
subplot(2,1,1);
plot(x);gridon;
axis([0,50*pi,-3,3]);
xlabel('t');ylabel('x');
title('输入x的波形');
y=filter(b,1,x);
subplot(2,1,2)
plot(y);gridon;
axis([0,50*pi,-5,5]);
xlabel('t');ylabel('y');
title('滤波器输出y的波形');
%频谱图
fs=2000;N=1024;
n=0:
N-1;t=n/fs;
Y1=fft(x,N);
Y2=fft(y,N);
mag1=abs(Y1);mag2=abs(Y2);
f=n*fs/N;
figure(5)
subplot(2,1,1);
plot(f(1:
N/2),mag1(1:
N/2));
title('输入信号的频谱图');
xlabel('频率/HZ');ylabel('振幅');
gridon;
subplot(2,1,2);
plot(f(1:
N/2),mag2(1:
N/2));
title('输出信号的频谱图');
xlabel('频率/HZ');ylabel('振幅');
gridon;
functionN=kaiord(Fp,Fs,Rp,Rs,FT)
%Computationofthelengthofalinear-phase
%FIRmulti-bandfilterusingKaiser'sformula
%
%Rpisthepassbandripple
%Rsisthestopbandripple
%FpisthepassbandedgeinHz
%FsisthestopbandedgeinHz
%FTis
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 用巴特莱特窗 函数 设计 数字 FIR 滤波器
![提示](https://static.bdocx.com/images/bang_tan.gif)