课程设计
课程设计名称:数字信号处理课程设计
专业班级:电信1203
学生姓名:刘海峰
学号: 201216020307
指导教师:乔丽红
课程设计时间:2015/07/01-2015/07/06
电子信息工程专业课程设计任务书
说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页
一. 技术要求
?双线性变换法设计切比雪夫II型数字IIR低通滤波器,
?要求通带边界频率为400Hz,
?阻带边界频率分别为500Hz,
?通带最大衰减1dB,
?阻带最小衰减40dB,
?抽样频率为2000Hz,
二. 设计原理
IIR滤波器的设计包括三个步骤:①给出所需要的滤波器的技术指标;
②设计一个H(z)使其逼近所需要的技术指标:③实现所设计的H(z),IIR数字滤波器设计的最通用的方法是借助于模拟滤波器的设计方法。所以IIR数字低通滤波器的设计步骤是:①按一定规则将给出的数字滤波器的技术指标转换为模拟低通滤波器的技术指标;②根据转换后的技术指标设计模拟低通滤波器G(s):③再按一定规则将G(s)转换成H(z)。
在此过程中,我们用到了很多MATLAB中的函数,如设计切比雪夫低通滤波器的函数afd_chebl、由直接型转换为级联型的函数dir2cas、双线性变换的函数bilinear等。其中afd _chebl用于实现用模拟指标设计一个低通模拟滤波器,bilinear用于利用双线性变换法将模拟低通滤波器转换为数字低通滤波器。
三.程序流程图
四:源代码(完美版)
%归一化低通滤波器技术指标
clc;
clear all;
Ap=1; %最大通带衰减
As=40; %最小阻带衰减
W=2000; %抽样周期
Wp=400; %通带边界频率
Ws=500; %阻带边界频率
wp=2*pi*Wp/W; %归一化通带边界频率
ws=2*pi*Ws/W; %归一化阻带边界频率
Wp1=tan(wp/2); %模拟低通滤波器通带边界频率
Ws1=tan(ws/2); %模拟低通滤波器阻带边界频率
%归一化切比雪夫II型低通模拟滤波器
[N,Wn]=cheb2ord(Wp1,Ws1,Ap,As,'s'); %确定滤波器阶数和频率尺度缩放因子
[BT,AT]=cheby2(N,As,Wn,'s');%传输函数的系数
[Z,P,K]=cheb2ap(N,As);%最小阻带衰减为As(DB)的N阶归一化模拟切比雪夫2型低通滤波器的零点、极点和增益因子
[H,W]=zp2tf(Z,P,K);%传输函数有理化形式
figure;
[P,Q]=freqs(H,W);
freqs(H,W);%模拟滤波器的H(jw)的复频域响应.拉普拉斯格式.(自动挑选200个频率点来计算频率响应)
figure;
subplot(1,1,1);
fk=0:12000/512:12000;
wk=2*pi*fk;
Hk=freqs(BT,AT,wk);%挑选wk个频率点来计算频率响应plot(fk/1000,20*log10(abs(Hk)));grid on;
xlabel('频率')
ylabel('增益衰减')
%用双线性变换法将H(s)转换成数字滤波器H(z) [num,den]=bilinear(BT,AT,0.5);%复变量映射
[z,p,k]=tf2zp(num,den);
%显示传输函数
disp('分子系数:');disp(num);
disp('分母系数:');disp(den);
%计算增益响应
w=0:pi/255:pi;
h=freqz(num,den,w);
g=20*log10(abs(h)); %计算增益衰减
figure;
plot(w/pi,g);grid on; %绘制切比雪夫低通滤波器幅频特性
axis([0 1 -100 1]);
xlabel('\omega/\pi');
ylabel('增益/dB');
title('切比雪夫2型低通滤波器幅频响应曲线'); figure;
zplane(BT,AT); %绘制极零图
axis([-2 2 -2 2]);
title('零极点图');
figure;
subplot(1,1,1),
plot (w/pi, angle(h)/pi);grid on;
xlabel('归一化角频率');
ylabel('相位响应'); %绘制切比雪夫低通滤波器相频特性
axis([0 1 -1 1]);
%输入信号技术指标
f1=300;f2=600;
n=0:600;
t=n/2000;
x1=sin(2*pi*f1*t); %X1信号
x2=sin(2*pi*f2*t); %X2信号
x=x1+x2; %X信号
figure;
subplot(2,1,1);
plot(x1);grid on; %绘制X1波形图
axis([0,50*pi,-3,3]);
xlabel('t');ylabel('x1');
title('x1的波形');
subplot(2,1,2);
plot(x2);grid on; %绘制X2波形图
axis([0,50*pi,-3,3]);
xlabel('t');ylabel('x2');
title('x2的波形');
figure;
subplot(2,1,1);
plot(x);grid on; %绘制X波形图
axis([0,50*pi,-3,3]);
xlabel('t');ylabel('x');
title('输入x的波形');
y=filter(num,den,x); %X信号通过切比雪夫II 数字低通滤波器输出Y
subplot(2,1,2)
plot(y);grid on; %绘制输出Y 的波形图 axis([0,50*pi,-3,3]); xlabel('t');ylabel('y'); title('滤波器输出y 的波形');
五.仿真结果
图1:模拟滤波器复频域响应(幅频响应-相位响应)
10
-110
10
1
-200
-1000100
200
Frequency (rad/s)
P h a s e (d e g r e e s )
10
-1
10
10
1
10
-6
10-4
10-2
10
Frequency (rad/s)
M a g n i t u d e
图2:切比雪夫2数字低通滤波器幅频响应曲线
0.1
0.2
0.3
0.4
0.50.6
0.7
0.8
0.9
1
ω/π
增益/d B
切比雪夫2型低通滤波器幅频响应曲线
图3:传输函数极零图
-2
-1.5-1-0.5
00.51 1.52
-2-1.5-1-0.500.5
11.52Real Part
I m a g i n a r y P a r t
零极点图
图4:相频响应曲线
0.1
0.2
0.3
0.40.50.60.7
0.8
0.9
1
-1-0.8-0.6-0.4-0.200.2
0.40.60.8
1归一化角频率
相位响应
图5:输入信号波形曲线
50
100
150
-20
2
t
x 1
x1的波形
50
100
150
-20
2
t
x 2
x2的波形
图6:输入信号经过滤波器输出信号波形图
50
100
150
-20
2t
x
输入x 的波形
50
100
150-20
2t
y 滤波器输出y 的波形
六.结论分析
1.通带边界归一化角频率0.4*pi 、阻带边界归一化角频率0.5*pi 。 【复合技术要求】
0.1
0.2
0.3
0.4
0.50.6
0.7
0.8
0.9
1
-100
-90-80-70-60-50-40
-30-20-100ω/π
增益/d B
切比雪夫2型低通滤波器幅频响应曲线
2.通带边界频率400Hz ,阻带边界频率500Hz ,当输入信号频率为300Hz 和600Hz 时,300Hz 可以通过该滤波器,600Hz 被滤除。 【复合技术要求】
七.参考资料
?程佩青著,《数字信号处理教程》,清华大学出版社,2001
?Sanjit K. Mitra著,孙洪,余翔宇译,《数字信号处理实验
指导书(MATLAB版)》,电子工业出版社,2005年1月
?郭仕剑等,《MATLAB 7.x数字信号处理》,人民邮电出版社,
2006年
?胡广书,《数字信号处理理论算法与实现》,清华大学出版社,
2003年
八.实验心得
1.本次课程设计再次让我感受到MATLAB软件功能之强大,今后一定要加强对MATLAB等工具性软件的学习
2.平时只是理论上接触过切比雪夫2数字滤波器,在课程设计一始真正接触到他的时候还真有点手足无措的感觉,由此看出只学习理论知识还是不行的,要注重实践锻炼,从各方面提高自己的能力
3.不过静下心来认真思考,看书,上网查阅相关资料后,就眉目清晰了,而且越来越上手,用了不到两天的时间就完全弄懂了!
4.遇到的几个问题经过上机实验时老师的耐心指点很随意就解决了,从而顺利完成了本次课程设计实践,衷心感谢老师的认真倾听和耐心陪伴!