信号与系统课设Word文档格式.docx
《信号与系统课设Word文档格式.docx》由会员分享,可在线阅读,更多相关《信号与系统课设Word文档格式.docx(7页珍藏版)》请在冰豆网上搜索。
学生姓名
学号
成绩
专业班级
电信
起止时间
2011年12月26日—12月30日
设计题目
用双线性变换法设计IIR数字滤波器
指
导
教
师
评
语
年月日
目录
一、设计目的……………………………………4
二、设计内容及要求……………………………4
三、设计原理……………………………………4
四、设计程序及结果……………………………6
五、回答思考题…………………………………10
六、心得体会……………………………………10
七、参考文献……………………………………11
用双线性变换法设计IIR数字滤波器
一、实验目的
1.熟悉IIR数字滤波器的原理与方法。
2.掌握数字滤波器的计算机仿真方法。
3.通过观察对实际心电图信号的滤波作用,获得数字滤波的感性知识。
二、设计内容及要求
1.用双线性变换法设计一个巴特沃斯低通IIR数字滤波器。
设计指标参数为:
在通带内频率低于0.2π时,最大衰减小于1dB;
在阻带内[O.3π,π]频率区间上最小衰减大于15dB。
2.以O.02π为采样间隔,打印出数字滤波器在频率区间[O,π/2]上的幅频响应特性曲线
。
3.用所设计的滤波器对实际心电图信号采样序列(在后面给出)进行仿真滤波处理,并分别打印出滤波前后的心电图信号波形图,观察总结滤波作用与效果。
三、设计原理
1、为了克服冲激响应不变法产生的频率混叠现象,这是从S平面到Z平面的标准变换z=esT的多值对应关系导致的,为了克服这一缺点,产生了双线性变换法。
双线性变换法的映射函数:
(1)把s=σ+jΩ带入上式得:
(2)整个左半平面映射成单位圆的内部,因此这是一个稳定的变换。
(3)虚轴以一一对应的方式映射成单位圆,因此在频域中不会出现混叠。
3、根据教材上例6.4.2,用双线性变换法设计数字滤波器系统函数H(z)。
其中已求出满足本实验要求的数字滤波器系统函数。
,
(1)
,
(2)
A=0.09036B1=1.2686,C1=-0.7051B2=1.0106,C2=-0.3583B3=0.9044,C3=-0.2155
由
(1)式和
(2)式可见,滤波器H(z)由三个二阶滤波器H1(z),H2(z)和H3(z)级联组成,如下图所示。
3、设计IIR数字滤波器的一般步骤:
(1)、把给出的数字滤波器的性能指标转换为模拟滤波器的性能指标
(2)、根据转换后的性能指标,通过巴特沃斯函数,来确定滤波器的最小阶数N和固有频率Wn(3)、由最小阶数N得到低通滤波器原型(4)、由固有频率Wn把模拟低通滤波器原型转换为低通滤波器(5)、运用双线性变换法把模拟滤波器转换成数字滤波器
四、设计程序及结果
1、巴特沃斯低通IIR数字滤波器
T=1;
Fs=1/T;
wpz=0.2;
wsz=0.3;
wp=2*Fs*tan(wpz*pi/2);
ws=2*Fs*tan(wsz*pi/2);
rp=1;
rs=15;
[N,wc]=buttord(wp,ws,rp,rs,'
s'
);
[B,A]=butter(N,wc,'
fk=0:
1/512:
1;
wk=2*pi*fk;
Hk=freqs(B,A,wk);
subplot(2,2,1);
plot(fk,20*log10(abs(Hk)));
gridon;
xlabel('
\omega/\pi'
ylabel('
幅度(dB)'
axis([0,1,-100,5]);
title('
(a)'
[N,wc]=buttord(wpz,wsz,rp,rs);
[Bz,Az]=butter(N,wc);
wk=0:
pi/512:
pi;
Hz=freqz(Bz,Az,wk);
subplot(2,2,4);
plot(wk/pi,20*log10(abs(Hz)));
(b)'
2.%x(n)的心电脉冲函数
x=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10,6,6,6,4,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0]
n=0:
55;
stem(n,x,'
.'
n'
x(n)'
x(n)的心电脉冲函数'
%通过滤波器H1(z)后的y1(n)函数
A=0.09036;
b1=[A,2*A,A];
a1=[1,-1.2686,0.7051];
h1=filter(b1,a1,x);
[H1,w]=freqz(b1,a1,100);
%通过滤波器H1(z),H2(Z)后的y2(n)函数
b2=[A,2*A,A];
a2=[1,-1.0106,0.3583];
h2=filter(b2,a2,h1);
[H2,w]=freqz(b2,a2,100);
%通过滤波器H1(z),H2(Z),H3(Z)后的y3(n)函数
b3=[A,2*A,A];
a3=[1,-0.9044,0.2155];
h3=filter(b3,a3,h2);
[H3,w]=freqz(b3,a3,100);
subplot(2,2,2);
stem(n,h3,'
y(n)'
通过滤波器H1(Z),H2(Z),H3(Z)后的y3(n)函数'
subplot(2,2,3);
H4=H1.*(H2);
H=H4.*(H3);
mag=abs(H);
db=20*log10((mag+eps)/max(mag));
plot(w/pi,db);
w/pi'
20log[Ha3(ejw)]'
通过滤波器H1(z)、H2(z)、H3(z)后的对数频率响应20log[Ha3(ejw)]函数'
grid;
五、思考题
用双线性变换法设计数字滤波器过程中,变换公式
中T的取值,对设计结果有无影响?
为什么?
答:
改变T值,会影响模拟滤波器的通带,因为T为抽样周期,Fs=1/t为抽样频率。
由Ω=2*Fs*tan(w/2)可得,抽样频率的改变,会影响模拟滤波器的通带、阻带截止频率,而不会影响数字滤波器的通带、阻带截止频率,对数字滤波器没有影响。
当T增大时,Fs减小,模拟滤波器的通带、阻带截止频率减小,即模拟滤波器的通带减小。
六、心得体会
通过这几天的课程设计,我获得了很多知识,是我了解并熟悉了MATLAB语言环境,知道了MATLAB语言中的常见函数和程序结果,收获良多。
第一次到机房,其实我对设计还没有什么概念。
到机房后,我先熟悉了一下设计要求,然后打开MATLAB,学会了MATLAB的使用方法。
然后在设计要求中选择了第五个。
然后我仔细看了课本上关于这个题目的章节,再在网上查了些资料。
但这些还不够,出了机房后,我又去了图书馆,找到相关书籍,又仔细的看了起来。
看了这么多的资料后,我对这个题目有了大概的想法,就根据找到的例题写出了程序。
然后放到MATLAB里运行,一开始运行不出来,我就根据上面提示的错误将错误改正。
在最后,终于运行了出来,我的心里非常激动。
这次课程设计,使我懂得了很多知识。
我学会了使用MATLAB软件的步骤,学会了编辑程序,对双线性法和巴特沃斯还有IIR滤波器都有了更深层次的理解。
这次设计,对我将来的学习和工作都将有很大的帮助。
七、参考文献
周辉、董正宏,《数字信号处理基础及MATLAB实现》,北京希望电子出版社,2006.2,P211~P215
陈怀琛、吴大正、高西全,《MATLAB及在电子信息课程中的应用》,电子工业出版社,2006.3,P225~P229