基于MATLAB的数字带通FIR滤波器设计
课 程 设 计
课程设计名称:数字信号处理课程设计
专 业 班 级 : 电信0604
学 生 姓 名 :
学 号 : 20064300419
指 导 教 师 :
课程设计时间: 2009年6月14日
数字信号处理 专业课程 数字信号处理 专业课程设计任务书
学生姓名专业班级电信0604学号20064300419题 目基于MATLAB的数字带通FIR滤波器设计课题性质其他课题来源自拟课题指导教师同组姓名主要内容根据已学的知识并结合MATLAB用hamming窗设计一个数字带通FIR滤波器,技术指标如下:
上通带截止频率:,下通带截止频率:
上阻带截止频率:,下阻带截止频率:,
通带最大衰减:,阻带最小衰减:
画出滤波器的幅频特性曲线。 任务要求
写出设计原理和设计思路,画出程序流程图
用MATLAB画出幅频特性图
用MATLAB画出零极点图
参考文献1.程佩青著,《数字信号处理教程》,清华大学出版社,2001
2.Sanjit K. Mitra著,孙洪,余翔宇译,《数字信号处理实验指导书(MATLAB版)》,电子工业出版社,2005年1月
3.郭仕剑等,《MATLAB 7.x数字信号处理》,人民邮电出版社,2006年
审查意见指导教师签字:
教研室主任签字: 年 月 日
设计内容及技术要求:
根据已学的知识并结合MATLAB用hamming窗设计一个数字带通FIR滤波器,技术指标如下:
上通带截止频率:,下通带截止频率:
上阻带截止频率:,下阻带截止频率:,
通带最大衰减:,阻带最小衰减:
画出滤波器的幅频特性曲线。
设计原理:
一共有两个过渡带,即。在窗口法设计中这两个过渡带宽必须是相同的;也就是说,在上不存在独立控制。因此,。对于这个设计既能用Kaiser窗,也可以用Hamming窗,现用Hamming窗。设计中还是需要理想带通滤波器的脉冲响应。
设计思路:
(1)确定理想滤波器的特性;
(2)由求出;
(3)选择适当的窗函数,并根据线性相位条件确定窗函数的长度N;在MATLAB中,可由w=boxcar(N)(矩形窗)、w=hanning(N)(汉宁窗)、w=hamming(N)(汉明窗)、w=Blackman(N)(布莱克曼窗)、w=Kaiser(N,beta)(凯塞窗)等函数来实现窗函数设计法中所需的窗函数。
(4)由h(n)=(n).w(n), 0≤n≤ N-1,得出单位脉冲响应h(n)
然而用Hamming和Blackman窗函数都能提供大于50的阻带衰减。现选用Hamming窗函数,它给出比较小的过渡带,因此有较低的阶。设计中还是需要理想带通滤波器的脉冲响应。
程序流程图:
带通滤波器技术指标
从两个理想低通滤波器获得一理想带通滤波器
脉冲响应可以由两个理想低通幅度响应得到,只要它们有相同的相位响应即可;这如图4.3所示。因此,为了确定一个理想带通滤波器的脉冲响应,MATLAB子程序就足够了。
程序源代码:
ws1 = 0.2*pi; wp1 = 0.35*pi;
wp2 = 0.65*pi; ws2 = 0.8*pi;
As = 60;
tr_width = min((wp1-ws1),(ws2-wp2))
M = ceil(11*pi/tr_width) + 1
n=[0:1:M-1];
wc1 = (ws1+wp1)/2; wc2 = (wp2+ws2)/2;
hd = ideal_lp(wc2,M) - ideal_lp(wc1,M);
w_bla = (blackman(M))';
h = hd .* w_bla;
[db,mag,pha,grd,w] = freqz_m(h,[1]);
delta_w = 2*pi/1000;
Rp = -min(db(wp1/delta_w+1:1:wp2/delta_w)) %通带纹波
As = -round(max(db(ws2/delta_w+1:1:501))) % 最小阻带衰减
subplot(2,2,1); stem(n,hd); title('理想脉冲响应')
axis([0 M-1 -0.4 0.5]); xlabel('n'); ylabel('hd(n)')
subplot(2,2,2); stem(n,w ham);title('Hamming 窗')
axis([0 M-1 0 1.1]); xlabel('n'); ylabel