资源描述
※※※※※※※※※
※※
※※
※※
※※※※※※※※※
2009级数字信号处理
课程设计
数字信号处理课程设计报告书
课题名称
平滑滤波器的设计和分析
姓 名
学 号
院、系、部
电气工程系
专 业
电子信息工程
指导教师
2012年 6 月20日
平滑滤波器的设计和分析
一、设计目的
1.学会MATLAB的使用,掌握MATLAB的程序设计方法;
2.掌握FIR滤波器设计的基本概念、基本理论和基本方法;
3. 在MATLAB环境下编程产生各信号并生成各信号的波形;
4.掌握MATLAB设计FIR数字滤波器的方法。
二、设计要求
1、 求输出y(n),并画出S1,S2,X,Y的波形图。并试分析平滑滤波器的特性;
2、 改变M值,分析M的大小对滤波器的影响;
3、 借助help命令,全面理解filter(B,A,X)的功能与用法。
三、系统原理
1,三点平滑滤波器(FIR)的表达式:
,
令:
其中:是低频正弦信号,是高频正弦信号。
,经Z变换后得到系统函数,其网络结构图如图1所示:
2,运用函数计算输入信号x的滤波输出,其中B,A分别表示为滤波器传递函数的分子和分母系数向量(按降幂排列)。
四、程序设计
n=0:100;
s1=cos(2*pi*0.05*n);
s2=cos(2*pi*0.47*n);
x=s1+s2;
M=input('请输入滤波器的长度=');
num=ones(1,M);
y=filter(num,1,x)/M;
figure(1);
subplot(2,2,1);
plot(n,s1);
xlabel('n');ylabel('s1');
axis([0,100,-2,2]);
title('s1信号的波形');
subplot(2,2,2);
plot(n,s2);
xlabel('n');ylabel('s2');
axis([0,100,-2,2]);
title('s2信号的波形');
subplot(2,2,3);plot(n,x);
xlabel('n');ylabel('x');
axis([0,100,-2,2]);
title('x信号的波形');
figure(2);
subplot(2,1,1);plot(n,y);
axis([0,100,-2,2]);
xlabel('n');ylabel('y');
title('y信号的波形');
subplot(2,1,2);
plot(abs(fft(y)));%产生输出信号的频谱
axis([0,100,0,60]);
title('y信号频谱');xlabel('f');
五、仿真结果及分析
信号s1,s2,x不受M值的影响,它们的仿真结果如下:
当M=3时,输出信号y的波形和频谱仿真图:
当M=20时,输出信号y的波形和频谱仿真图:
平滑滤波器(FIR)容许低于截止频率的信号通过, 但高于截止频率的信号被数字滤波器滤除,具有低通特性。s1、s2、x信号与M值无关、这三信号不受M值的影响。观察输出信号的波形和频谱仿真图, y信号的幅值随M值的增大而减少,同时噪声也随M值的增大而减少,这是因为M值的增大使低通滤波器的长度增长了,降低了滤波器的截止频率从而使滤波器的滤波效果更为明显。
六、设计总结
本次课程设计运用MATLAB编程生成信号s1、s2、x、y并产生各个信号的波形和输出信号的频谱证明平滑滤波器(FIR)是低通滤波器,有容许低于截止频率的信号通过,滤除高于截止频率的低通功能。其中主要运用函数filter(B,A,X)生成数字低通滤波器,有限长平滑低通滤波器的截止频率随滤波器长度增长而降低,滤除噪声效果更为明显、输出信号更纯真。
在设计过程中碰到了很多的问题,通过这些问题,使自己分析问题,解决问题的能力得到了较大的提高。感谢老师,通过您的指导我学到了很多知识。老师,您辛苦了!
七、参考文献
[1] 高西全,丁玉美.数字信号处理.3版.西安电子科技大学出版社,2008
[2] 梅志红,杨万铨.MATLAB程序设计基础及应用.清华大学出版社,2005
[3] 楼顺天,李博菡.基于MATLAB的系统分析与设计——信号处理.西安电子科技大学出版社,1998
6
展开阅读全文