信号分析与处理课程设计.docx
- 文档编号:4114271
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:18
- 大小:158.49KB
信号分析与处理课程设计.docx
《信号分析与处理课程设计.docx》由会员分享,可在线阅读,更多相关《信号分析与处理课程设计.docx(18页珍藏版)》请在冰豆网上搜索。
信号分析与处理课程设计
课程设计报告
(2012--2013年度第1学期)
名称:
信号分析与处理
题目:
FIR数字滤波器的设计
院系:
自动化系
班级:
测控1003
学号:
201002030309
学生姓名:
李志鑫
指导教师:
金秀章
设计周数:
1
成绩:
日期:
2013年1月16日
《信号分析与处理》课程设计
任务书
一、目的与要求
能够运用本课程中学到的知识,设计基于窗口函数法的FIR数字滤波器。
要求掌握数字信号处理的基本方法;FIR滤波器的设计步骤和方法;能够熟练采用C语言或MATLAB语言进行计算机辅助设计和仿真验证设计内容的合理性。
二、主要内容
9.请采用窗口函数法设计一个带阻FIR数字滤波器,要求设计的频率响应为
三、进度计划
序号
设计(实验)内容
完成时间
备注
1
领取设计任务查阅相关资料
1天
2
制定滤波器设计的方案
1天
3
编程实现,撰写报告
2天
4
答辩
四、设计(实验)成果要求
课程设计报告
五、考核方式
设计报告+答辩
学生姓名:
李志鑫
指导教师:
金秀章
2013年1月16日
二、设计正文
1.理想滤波器的设计
1.0常用窗函数介绍:
常用窗函数介绍:
1、矩形窗(Rectangularwindow)
这是一种最简单的窗函数,但从阻带衰减的角度来看,其性能最差。
它的定义为:
其频率响应为:
主瓣宽度为4
/N,第一副瓣比主瓣低13dB。
2、三角形窗(Triangularwindow)
其频率响应为:
其主瓣宽度为8
/N,第一副瓣比主瓣低26dB。
3、汉宁窗(Hanningwindow)
汉宁窗函数又称升余弦函数,其时域表达式为:
其频率响应为:
其主瓣宽度为8
/N,能量更集中在主瓣之中。
海明窗函数是一种改进的升余弦函数,其时域表达式为:
其幅度频率特性为:
其主瓣宽度为8
/N,能量更集中在主瓣之中,主瓣的能量约占99.96%,第一旁瓣的峰值比主瓣小40dB。
5、布拉克曼(Blackmanwindow)
布拉克曼的主瓣宽度是矩形窗主瓣宽度的三倍,为12
/N。
它的最大旁瓣比主瓣值低57dB。
1.1滤波器设计分析
本题目需要我们设计一个带阻的FIR数字滤波器,要求的波动范围为±0.02,由
选择汉宁窗(HanningWindow)。
查表可知汉宁窗最小阻带衰减为-44db,最接近我们所要求的。
该滤波器有两个过渡带宽
以过渡带宽窄的为主。
根据汉宁窗的过渡带宽
可以确定序列的长度为160,取161。
1.2构造理想的频率响应
1.3数字滤波器的单位采样响应
两个转折频率
计算出
1.4所选择的窗函数对单位采样响应进行加窗处理
汉宁窗函数:
n=0,1……N-1
1.5计算滤波器的频率特性,检验是否满足设计要求
2利用matlab仿真验证
实际脉冲响应h(n)
图1
窗函数
图2
实际单位脉冲幅频响应图像
图3
图4
最高点max=1.0062,最低点min=2.2651e-005;
验证了设计的滤波器的通、阻带频率,两个通带在阻带之间,阻带在
之间符合性能指标,满足设计要求。
验算设计的滤波器性能
分别在两个通带内与阻带内取值,然后分别验证
;
;
图5
图6
分析:
由图5,6所示,滤波后的信号y1与信号x1相同,无x2信号,信号y2与信号x3相同,无x2信号。
证明该滤波器性能良好,满足设计的要求。
使用其他窗函数后用matlab进行仿真情况如下:
a.加海明窗的实际单位幅频脉冲响应图像如图7所示:
图7
最高点max=1.0021,最低点min=3.9637e-004;
b加矩形窗的实际单位幅频脉冲响应图像如图8所示
图8
最高点max=1.0698,最低点min=0.0052
c加矩形窗的实际单位幅频脉冲响应图像如图9所示
图9
最高点max=1.0642,最低点min=0.0170
d加布莱克曼窗的实际单位幅频脉冲响应图像如图10所示
图10
最高点max=1.0000,最低点min=7.7753e-006
方针分析:
通过加入不同的的窗函数可以发现,布莱克曼窗(如图10)所求出来的频率特性最好,最符合设计要求,误差也是最小的,但是同样的过渡带宽布莱克曼窗所要的序列长度最多,这无疑会增加计算量,会使实际工程的计算量变得复杂,不易实现。
矩形窗(如图9)和三角窗(如图8)都离我们要求的差的远,误差很大。
海明窗(如图7)和汉宁窗总体差不多,海明窗在最高点要比汉宁窗小,但是汉宁窗在最低点要比海明窗小,汉宁窗的最小阻带衰减更接近题目所要求的精度。
所以综上所述,我们选择了汉宁窗。
2利用AltiumDesinger实现FIR数字滤波器硬件电路
采用TMS320C54X芯片作为DSP的处理芯片,从而来实现FIR系统的数字滤波器。
用DSP进行信号处理的流程如下:
先进行信号的数字化,一般的信号都是模拟信号,但是DSP只接收数字化的信息,故要先进行这一步操作将模拟信号经过A/D转化成数字信号,然后根据实际的应该过程,进行相对应的卷积、FTT变化等处理,接着将这些处理后的数字信号用D/A进行转化,形成模拟的采样值,最后将得到的不平滑的滤波通过滤波器等设备进行处理,从而得到最终的模拟连续的信号。
三课程设计总结或结论
通过本次带阻FIR数字滤波器的课程设计,加深了对数字滤波器理论知识的理解,学会了数字域向模拟域的转换,同时对利用窗函数设计滤波器的设计方法、步骤及各种数字滤波器性能指标都有了一定的了解;由阻带最小衰减确窗函数的类型,由过渡带宽确定窗函数的点数N。
通过此次课程设计学习了matlab的部分操作以及编程过程,学会了matlab的使用方法另外本次课程设计学会了我们课本上所没有涉及到的很多知识,让人受益匪浅。
四、参考文献
[1]崔翔主编《信号分析与处理》.中国电力出版社,第二版.2011年
[2]王世一主编.《数字信号处理》.北京理工大学出版社.第二版.2008年
[3]张德丰.MATLAB数字图像处理.机械工业出版社.2009年
附录(设计流程图、程序、表格、数据等)
Matlab程序:
clear;%清空变量
wc1=0.25*pi;
wc2=0.525*pi;%两个转折频率
N=161;%序列长度
%计算单位采样响应
forn=1:
N
ifn==(N+1)/2
h1(n)=wc1/pi;
h2(n)=(pi-wc2)/pi;
else
h1(n)=sin(wc1*(n-(N+1)/2))/(pi*(n-(N+1)/2));
h2(n)=(sin(pi*(n-(N+1)/2))-sin(wc2*(n-(N+1)/2)))/(pi*(n-(N+1)/2));
end
end
aaa=h1+h2;
plot(aaa)
title('单位采样响应')
pause
%加窗处理
forn=1:
N
win(n)=0.5-0.5*cos(2*(n-1)/N*pi);
%win(n)=0.54-0.46*cos(2*(n-1)/N*pi);
%win(n)=1;
%win(n)=2*(n-1)/N
%win(n)=0.42-0.5*cos(2*(n-1)/N*pi)+0.08*cos(4*(n-1)/N*pi)
stem(win);title('汉宁窗')
h(n)=(h1(n)+h2(n))*win(n)
end
pause
%计算滤波器的频率特性
w=0:
0.01*pi:
pi;
L1=length(w);
forn=1:
L1
H(n)=0;
end
forn=1:
L1
form=1:
N
H(n)=H(n)+h(m)*exp(-i*w(n)*(m-1));
end
end
re=abs(H);
plot(re);
grid
xlabel('i/X0.01π');ylabel('H(e^j^w)');
pause
max1=max(re)
min1=min(re)
i=0:
1:
160;
L2=length(i);
subplot(4,1,1);
x1=sin(0.12*pi*i);xlabel('i/X0.12π');ylabel('x1');
plot(x1,'r')
title('曲线x1=sin(0.12πi)')
subplot(4,1,2);
x2=sin(0.37*pi*i);
plot(x2,'y');xlabel('i/X0.37π');ylabel('x2')
title('曲线x2=sin(0.37πi)')
subplot(4,1,3)
x=x1+x2;
plot(x);xlabel('i');ylabel('x')
title('曲线x=x1+x2')
subplot(4,1,4);
%y1=conv(h,x);
forn1=1:
L2
y1(n1)=0;
end
forn1=1:
L2
form=1:
n1
y1(n1)=y1(n1)+x(m)*h(n1-m+1);
end
end
plot(y1)
xlabel('i');ylabel('y1')
title('滤波之后的曲线')
axis([80,260,-1,1])
pause
subplot(3,1,1);
x3=sin(0.66*pi*i);
plot(x3);xlabel('i/X0.66π');ylabel('x3')
title('曲线x3=sin(0.66πi)')
subplot(3,1,2)
xo=x2+x3
plot(xo);xlabel('i');ylabel('xo')
title('曲线xo')
subplot(3,1,3);
%y2=conv(h,xo);
forn1=1:
L2
y2(n1)=0;
end
forn1=1:
L2
form=1:
n1
y2(n1)=y2(n1)+xo(m)*h(n1-m+1);
end
end
plot(y2)
xlabel('i');ylabel('y2')
title('滤波之后的曲线')
axis([80,260,-1,1])
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信号 分析 处理 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)