综合性、设计性实验报告
姓名 陶建敏 学号 201308002107
专业 通信工程 班级 通信1301 实验课程名称 数字信号处理 指导教师及职称 李玲香 讲师
开课学期 2015 至_ 2016 学年 上 学期 上课时间 2015 年 12月10、17日
湖南科技学院教务处编印
设计题目 小组合作 实验五 IIR滤波器的实现与应用 是 ( ) 否( √) 小组成员 1.实验目的: (1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法; (2)学会调用MATLAB信号处理工具箱中滤波器设计函数设计各种IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。 (3)掌握IIR数字滤波器的MATLAB实现方法。 (4)通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。 2.实验环境: (1)Windous XP或、Windous 7之类的操作系统版本; (2)MATLAB7.0 3.实验相关知识 无限长单位冲击响应(IIR)数字滤波器的设计方法有多种,对于一般条件下使用的数字滤波器,其常用的设计方法是基于模拟滤波器变换原理的经典设计:首先,将数字滤波器的技术指标转换成相应的模拟滤波器技术指标;设计模拟低通滤波器;然后,将设计好的模拟滤波器转换成满足给定技术指标的数字滤波器。MATLAB的数字信号处理工具箱中,提供的有关设计函数如下: (1)模拟低通滤波器设计 模拟低通滤波器的逼近有巴特沃思型、切比雪夫型、和考尔型,分别用如下的函数实现。 [Z,P,K]=buttap(n);返回一个n阶、巴特沃思型归一化的模拟低通滤波器的零极点增益模型 [Z,P,K]=cheb1ap(n,Rp);n阶、通带内的最大衰减Rp、切比雪夫Ⅰ型 [Z,P,K]=cheb2ap(n,Rs);n阶、阻带内的最小衰减Rs、切比雪夫Ⅱ型 [Z,P,K]=elliap(n,Rp,Rs);n阶、通带内的最大衰减Rp、阻带内的最小衰减Rs、考尔型。 (2)模拟低通滤波器阶数n的选择函数 滤波器阶数的选择在整个滤波器的设计中占有十分重要的地位和作用。根据需要选择合适的滤波器阶数,MATLAB工具箱中提供了对应于各类模拟低通滤波器的阶数选择函数,如巴特沃思型的buttord、切比雪夫型的cheb1ord、cheb2ord和考尔型的ellipord。这些函数的调用格式大同小异。 [n,Wn]=buttord(Wp,Ws,Rp,Rs,’s’) 输入参数:Wp通带截止频率,Ws阻带截止频率,Rp通带最大衰减,Rs阻带最小衰减。 输出参数:n为符合要求的滤波器最小阶数,Wn为巴特沃思型模拟低通滤波器3dB截止频率。’s’:表示模拟域。 (3)零极点增益模型到传递函数模型的转换 [num,den]=zp2tf(Z,P,K) 输入参数:Z,P,K分别表示系统的零极点增益模型的零点、极点和增益; 输出参数:num,den分别为同一系统传递函数模型的分子和分母多项式系数。 (4)模拟域的频率变换 将归一化的模拟低通滤波器转换成所需要类型(低通、高通、带通和带阻)的模拟滤波器,可分别用如下命令实现: [b,a]=lp2lp(Bap,Aap,Wn);把传递函数形式的归一化模拟低通滤波器原型转换成3dB截止频率为Wn的同型低通滤波器。 [b,a]=lphp(Bap,Aap,Wn);转换成高通 [b,a]=lp2bp(Bap,Aap,W0,Bw);转换成带通,W0:中心频率,Bw:带宽 [b,a]=lp2bs(Bap,Aap,W0,Bw);转换成带阻 5.模拟滤波器数字化 [bz,az]=bilinear(b,a,Fs):采用双线性变换法的映射关系。其中,Fs是采样频率。 [bz,az]=impinvar(b,a,Fs):采用冲击响应不变法的映射关系。 4.实验内容 设信号f(t)2sin(300t)sin(600t),试将它的两个频率分量分离,并绘制它们的时域波形及频谱图。具体要求: (1)分析实验内容,设计实验方案; (2)绘制f(t)时域和频域,观察输出波形,选择合理的滤波器参数; (3)绘制数字滤波器的频率特性曲线; (4)编程完成f(t)信号的分离,并输出分离信号。 5.实验设计方案 (1):分析f(t)可知原信号有两个频率分量组成:一个频率分量是150Hz,另一个频率为300Hz; (2):由f(t)由两个频率分量组成,而要实现将这两个频率分量信号进行分离,则必须要设计两个滤波器实现对两个频率分量的分离,一个频率为150Hz可以用低通滤波器实现滤除300Hz频率分量,使得150Hz信号全部通过,而300Hz频率分量被截止,不能通过;另一个滤波器可以考虑用带通滤波器实现将300Hz频率分量完全通过,而150Hz频率分量被截止,不能通过; (3):设计低通滤波器滤除300Hz频率分量;同样设计带通滤波器滤除150Hz频率分量; (4):按设计任务确定数字滤波器性能指标要求,低通滤波器两个边界频率: Wp和Ws两个衰减:Rp=1,Rs=60,Wp=2*pi*fp,fp=200,Ws=2*pi*fsw,fsw=300 带通滤波器上下线通带截止频率分别为:fp1=250,fp2=400,两个阻带截止频率fs1=150,fs2=500;两个衰减:rp=3,rs=40; (5):将数字滤波器指标转换成模拟滤波器指标; (6):归一化模拟滤波器; (7):求出实际模拟滤波器系统函数,去归一化; (8):利用冲击响应不变法离散化,将模拟滤波器转化为数字滤波器a:模拟低通到数字低通直接离散化;b数字带通滤波及设计,则要将模拟低通变换为模拟带通,再将其离散化为数字带通滤波器; (9):用频响特性函数检验是否符合。 6.MATLAB编程实现 clf; fs1=1000;N=128 %采样频率和数据点数 n=0:N-1;t=n/fs1; %时间序列 x=2*sin(300*pi*t)+sin(600*pi*t); %信号 y=fft(x,N); %对信号进行快速Fourier变换 mag=abs(y); %求得Fourier变换后的振幅 f=n*fs1/N; %频率序列 figure(1),plot(f,mag); %绘出随频率变化的振幅 xlabel('f/Hz');ylabel('幅度');title('原信号x(t)幅度谱'); T=0.0005; %采样周期 Rp=1; %Rp为通带最大衰减,dB Rs=60; %Rs为阻带最小衰减,dB fp=200; %通带截止频率 fsw=300 %阻带截止频率 fs=1/T;%采用频率 Wp=2*pi*fp; %Wp为通带边界频率,rad/s Ws=2*pi*fsw; %Ws为阻带边界频率,rad/s %设计模拟巴特沃斯低通滤波 fp=200;fs=300; Fs=2000;T=1/Fs; Rp=1;Rs=60; Wp=2*Fs*tan(2*fp*pi*Ts/2); Ws=2*Fs*tan(2*fs*pi*Ts/2); [N,Wc]=buttord(Wp,Ws,Rp,Rs,'s'); [Z,P,K]=buttap(N); [Q,P]=zp2tf(Z,P,K) [BT,AT]=butter(N,Wc,'s'); [Bd,Ad]=bilinear(BT,AT,Fs); %绘制频率响应曲线 [H,W]=freqz(Bd,Ad); figure(2) plot(W*Fs/(2*pi),abs(H)); xlabel('频率/Hz'); ylabel('幅度');title('低通滤波器') n=0:299; t=n*T; x2=2*sin(300*pi*t)+sin(600*pi*t); %绘制频率响应曲线 y=filter(Bd,Ad,x2) figure(3) plot(n,x2,'b');xlabel('t');ylabel('x2(t)');title('原信号x(t)'); figure(4); plot(n,y,'b');xlabel('t');ylabel('y(t)');title('低通信号输出y(t)'); %设计带通滤波器 fst=5000;rp=3;rs=40;%fst为采用频率;rp为通带最大衰减,rs为阻带最小衰减 T2=1/fst; %采用周期 fp1=250;fp2=400; %两个通带截止频率 fs1=150;fs2=500; %;两个阻带截止频率 wp1=2*fst*tan(2*pi*fp1/fst/2);%通带边界频率 wp2=2*fst*tan(2*pi*fp2/fst/2); ws1=2*fst*tan(2*pi*fs1/fst/2);%阻带边界频率 ws2=2*fst*tan(2*pi*fs2/fst/2); w0=sqrt(wp1*wp2);%中心频率 bw=wp2-wp1;plot(n,y,'b');xlabel('t');ylabel('y(t)');title('低通信号输出y(t)'); [N,Wn]=buttord(wp,ws,rp,rs,'s'); [Z,P,K]=buttap(N);%求取归一化模拟原型带通滤波器零极点和K值 [B,A]=zp2tf(Z,P,K)%由零极点及K值求出归一化模拟带通滤波器 [BT,AT]=lp2bp(B,A,w0,bw);%由归一化滤波器转化为实际滤波器 [Bd,Ad]=bilinear(BT,AT,fst)%双线性变换法将模拟带通滤波器转为数字带通滤波器 figure(5); freqz(Bd,Ad) title('带通滤波器'); n2=0:299; %横轴画图范围 t1=n*T2; %由采样周期离散化信号 x2=2*sin(300*pi*t1)+sin(600*pi*t1) ;%离散化后信号序列 y2=filter(Bd,Ad,x2) %信号通过带通滤波器较高频率分量通过低频截止 figure(6); plot(n2,y2,'r');xlabel('t');ylabel('y(t)');title('高通信号输出y2(t)');
因篇幅问题不能全部显示,请点此查看更多更全内容