实验五实验报告分析解析.docx
《实验五实验报告分析解析.docx》由会员分享,可在线阅读,更多相关《实验五实验报告分析解析.docx(10页珍藏版)》请在冰豆网上搜索。
![实验五实验报告分析解析.docx](https://file1.bdocx.com/fileroot1/2022-10/8/4bd86761-d918-4fa3-879a-95d4b4e72747/4bd86761-d918-4fa3-879a-95d4b4e727471.gif)
实验五实验报告分析解析
综合性、设计性实验报告
姓名陶建敏学号201308002107
专业通信工程班级通信1301
实验课程名称数字信号处理
指导教师及职称李玲香讲师
开课学期2015至—2016学年上学期
上课时间2015年12月10、17日
湖南科技学院教务处编印
设计题目
实验五IIR滤波器的实现与应用
小组合作
是()否(V)小组成员
1.实验目的:
(1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法;
(2)学会调用MATLAB信号处理工具箱中滤波器设计函数设计各种IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。
(3)掌握IIR数字滤波器的MATLAB实现方法。
(4)通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。
2.实验环境:
(1)WindousXP或、Windous7之类的操作系统版本;
(2)MATLAB7.0
3.实验相关知识
无限长单位冲击响应(IIR)数字滤波器的设计方法有多种,对于一般条件下使用的数字滤波器,其常用的设计方法是基于模拟滤波器变换原理的经典设计:
首先,将数字滤波器的技术指标转换成相应的模拟滤波器技术指标;设计模拟低通滤波器;然后,将设计好的模拟滤波器转换成满足给定技术指标的数字滤波器。
MATLAB的数字信号
处理工具箱中,提供的有关设计函数如下:
(1)模拟低通滤波器设计
模拟低通滤波器的逼近有巴特沃思型、切比雪夫型、和考尔型,分别用如下的函数实现。
[Z,P,K]=buttap(n);返回一个n阶、巴特沃思型归一化的模拟低通滤波器的零极点增益模型
[Z,P,K]=cheb1ap(n,Rp);n阶、通带内的最大衰减Rp、切比雪夫I型
[Z,P,K]=cheb2ap(n,Rs);n阶、阻带内的最小衰减Rs、切比雪夫U型[Z,P,K]=elliap(n,Rp,Rs);n阶、通带内的最大衰减Rp、阻带内的最小衰减Rs、考
尔型。
(2)模拟低通滤波器阶数n的选择函数
滤波器阶数的选择在整个滤波器的设计中占有十分重要的地位和作用。
根据需要选
择合适的滤波器阶数,MATLAB工具箱中提供了对应于各类模拟低通滤波器的阶数选择函数,如巴特沃思型的buttord、切比雪夫型的cheblorc、cheb2ord和考尔型的ellipord。
这些函数的调用格式大同小异。
[n,Wn]=buttord(Wp,Ws,Rp,Rs,'')
输入参数:
Wp通带截止频率,Ws阻带截止频率,Rp通带最大衰减,Rs阻带最小衰减。
输出参数:
n为符合要求的滤波器最小阶数,Wn为巴特沃思型模拟低通滤波器3dB截止频率。
':
表示模拟域。
(3)零极点增益模型到传递函数模型的转换
[num,den]=zp2tf(Z,P,K)
输入参数:
ZP,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(300二t)Vn(600二t),试将它的两个频率分量分离,并绘制它们的时域
波形及频谱图。
具体要求:
(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频率分1量;
(4);按设计任务确定数字滤波器性能指标要求,低通滤波器两个边界频率:
Wp和Ws两个衰减:
Rp=1,Rs=60,Wp=2*pi*fp,fp=200,Ws=2*pi*fsw,fsw=300
带通滤波器上下线通带截止频率分别为:
fp仁250,fp2=400,两个阻带截止频率fs1=150,fs2=500;两个衰减:
rp=3,rs=40;
(5):
将数字滤波器指标转换成模拟滤波器指标;
(6):
归一化模拟滤波器;
(7);求出实际模拟滤波器系统函数,去归一化;
(8):
利用冲击响应不变法离散化,将模拟滤波器转化为数字滤波器a:
模拟低通到数字低通直接离散化;b数字带通滤波及设计,则要将模拟低通变换为模拟带通,再将其离散化为数字带通滤波器;
(9):
用频响特性函数检验是否符合。
6.MATLAB编程实现
%采样频率和数据点数
elf;
fs1=1000;N=128n=0:
N-1;t=n/fs1;
%时间序列
x=2*sin(300*pi*t)+sin(600*pi*t);%信号
y=fft(x,N);%
mag=abs(y);%
f=n*fs1/N;%
对信号进行快速Fourier变换求得Fourier变换后的振幅频率序列
figure
(1),plot(f,mag);xlabel('f/Hz');ylabel('T=0.0005;%
%绘出随频率变化的振幅
幅度');title('原信号x(t)幅度谱');采样周期
Rp=1;%Rp
Rs=60;%Rs
fp=200;%
fsw=300%
fs=1/T;%采用频率
为通带最大衰减,dB为阻带最小衰减,dB通带截止频率阻带截止频率
Wp=2*pi*fp;%Wp为通带边界频率,rad/sWs=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('figure(4);
plot(n,y,'b');xlabel('t');ylabel('y(t)');title('
原信号x(t)');
低通信号输出y(t)');
%设计带通滤波器
fst=5000;rp=3;rs=40;%fst为采用频率;rp为通带最大衰减,rs为阻带最小衰减T2=1/fst;%采用周期
fp仁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)');
7•运行结果并回答以下问题
21
(1)用双线性变换法设计数字滤波器过程中,变换公式s=r中T的取值,
T1+z—
设计结果有无影响?
为什么?
(2)如果用脉冲响应不变法设计该IIR数字低通滤波器,程序如何改动?
、编程实现运行结果如下:
带诵遙独器
(1)没有影响,因为双线性变换法不存在频率混叠现象,因此T可以任意选择,为了
便于计算,一般选T为1。
(2)因为上面带通滤波器是用双线性变换法设计的,因此只需该上面低通滤波器设计的代码即可。
用冲击响应不变法设计的低通滤波器代码如下:
T=0.0005;
Rp=1;
Rs=60;
fp=200;
fsw=300
fs=1/T;
Wp=2*pi*fp;
Ws=2*pi*fsw;
%设计模拟巴特沃斯低通滤波器
[N,Wc]=buttord(Wp,Ws,Rp,Rs,'s')
[bs,as]=butter(N,Wc,'s')%设计模拟巴特沃斯低通滤波器,Wap为通带边界频率,
rad/s;Was为阻带边界频率,rad/s;Rp为通带最大衰减,dB;Rs为阻带最小衰减,dB;
's'表示为模拟滤