实验三 IIR数字滤波器设计实验报告
一、 实验目的:
1. 通过仿真冲激响应不变法和双线性变换法
2. 掌握滤波器性能分析的基本方法
二、 实验要求:
1. 设计带通IIR滤波器
2. 按照冲激响应不变法设计滤波器系数
3. 按照双线性变换法设计滤波器系数
4. 分析幅频特性和相频特性
5. 生成一定信噪比的带噪信号,并对其滤波,对比滤波前后波形和频谱
三、 基本原理:
㈠ IIR模拟滤波器与数字滤波器
IIR数字滤波器的设计以模拟滤波器设计为基础,常用的类型分为巴特沃斯(Butterworth)、切比雪夫(Chebyshev)Ⅰ型、切比雪夫Ⅱ型、贝塞尔(Bessel)、椭圆等多种。在MATLAB信号处理工具箱里,提供了这些类型的IIR数字滤波器设计子函数。
(二)性能指标
1.假设带通滤波器要求为保留6000hz~~7000hz频段,滤除小于2000hz和大宇9000hz频段
2.通带衰减设为3Db,阻带衰减设为30dB,双线性变换法中T取1s.
四、 实验步骤:
1.初始化指标参数
2.计算模拟滤波器参数并调用巴特沃斯函数产生模拟滤波器
3.利用冲激响应不变法和双线性变换法求数字IIR滤波器的系统函数Hd (z)
4.分别画出两种方法的幅频特性和相频特性曲线
5.生成一定信噪比的带噪信号
6.画出带噪信号的时域图和频谱图
6.对带噪信号进行滤波,并画出滤波前后波形图和频谱图
五、 实验结果
模拟滤波器的幅频特性和相频特性:
在本实验中,采用的带通滤波器为6000-7000Hz,换算成角频率为4.47-0.55,在上图中可以清晰地看出到达了题目的要求。
冲击响应不变法后的幅频特性和相频特性:
双线性变换法的幅频特性和相频特性:
通过上图比较脉冲响应不变法双线性变换法的幅频特性和相频特性,而在在幅频曲线上几乎没有差别,都能达到相同的结果。
下图为直接调用matlab系统内切比雪夫滤波器得到的频谱图:
比较图一得知,都能达到相同的结果。
下图为对带噪信号进行滤波前后的时域和频域图:
脉冲相应不变法:
当经过脉冲响应不变法设计的滤波器滤波以后,在通带内的波形得到了较好的恢复。频谱图中,噪声的频谱也显著的下降。
双线性变换法:
当经过双线性变换法设计的滤波器滤波以后,在通带内的波形得到了较好的恢复。频谱图中,噪声的频谱也显著的下降,但滤波效果没有脉冲响应不变法好。
演讲稿
尊敬的老师们,同学们下午好:
我是来自10级经济学(2)班的学习委,我叫张盼盼,很荣幸有这次机会和大家一起交流担任学习委员这一职务的经验。
转眼间大学生活已经过了一年多,在这一年多的时间里,我一直担任着学习委员这一职务。回望这一年多,自己走过的路,留下的或深或浅的足迹,不仅充满了欢愉,也充满了淡淡的苦涩。一年多的工作,让我学到了很多很多,下面将自己的工作经验和大家一起分享。
学习委员是班上的一个重要职位,在我当初当上它的时候,我就在想一定不要辜负老师及同学们我的信任和支持,一定要把工作做好。要认真负责,态度踏实,要有一定的组织,领导,执行能力,并且做事情要公平,公正,公开,积极落实学校学院的具体工作。作为一名合格的学习委员,要收集学生对老师的意见和老师的教学动态。在很多情况下,老师无法和那么多学生直接打交道,很多老师也无暇顾及那么多的学生,特别是大家刚进入大学,很多人一时还不适应老师的教学模式。学习委员是老师与学生之间沟通的一个桥梁,学习委员要及时地向老师提出同学们的建议和疑问,熟悉老师对学生的基本要求。再次,学习委员在学习上要做好模范带头作用,要有优异的成绩,当同学们向我提出问题时,基本上给同学一个正确的回复。
总之,在一学年的工作之中,我懂得如何落实各项工作,如何和班委有效地分工合作,如何和同学沟通交流并且提高大家的学习积极性。当然,我的工作还存在着很多不足之处。比日:有的时候得不到同学们的响应,同学们不积极主动支持我的工作;在收集同学们对自己工作意见方面做得不够,有些事情做错了,没有周围同学的提醒,自己也没有发觉等等。最严重的一次是,我没有把英语四六级报名的时间,地点通知到位,导致我们班有4名同学错过报名的时间。这次事使我懂得了做事要脚踏实地,不能马虎。
在这次的交流会中,我希望大家可以从中吸取一些好的经验,带动本班级的学习风气,同时也相信大家在大学毕业后找到好的工作。谢谢大家!
第二篇:数字滤波器设计实验报告
数字滤波器设计实验报告
刘古城 65100609
一、实验目的
研究数字滤波器的设计思想,理解数字频域,模拟频域的关系,掌握数字系统处理模拟信号的方法。
FIR数字滤波器设计:掌握窗函数设计FIR数字滤波器的方法,理解FIR的意义:线性相位。
二、实验原理
1、FIR的特点
(1)系统的单位冲击响应在有限个n值处不为零。
(2)对于稳定系统,系统函数在 | z |>0处收敛,极点全部在z=0处。
(3)结构上主要是非递归结构,没有输出到输入的反馈,但在个别结构中(如频率抽样结构)也包含反馈的递归部分‘
2、FIR滤波器的优点
(1)即具有严格的线性相位,又具有任意的幅度’
(2)FIR滤波器的抽样响应是有限长的,因而滤波器的性能稳定。
(3)只要经过一定的延时,任何非因果的有限长序列都能变成有限长的因果
的序列,因而能用因果系统来实现。
(4)FIR滤波器单位冲击响应是有限长的,因而可以进行快速傅立叶变换,
提高运算效率。
3、用窗函数设计FIR数字滤波器
对函数加窗处理,实际是用一个有限长函数来逼近原函数。常用的窗函数
有矩形窗、三角窗,汉宁窗、海明窗、布莱克曼窗、凯撒窗等。
三、实验要求
1、设计FIR数字低通滤波器,要求在不同窗口长度(N=15,33)下,分别求出h(n),画出相应的幅频特性和相频特性曲线,观察3dB带宽和20dB带宽,总结窗口长度N对滤波特性的影响。
2、对三个拟合三角函数进行滤波处理。
3、对含噪心电信号函数进行滤波处理。
四、实验内容
1、不同窗函数长度对于滤波特性的影响
fs=100,N=32;
n=0:N-1;t=n/fs;
f0=n*fs/N;
y=exp(-2*t);
z=fft(y);m=abs(z);
w1=blackman(N);
z1=w1'.*y;
x1=fft(z1),mo1=abs(x1);
subplot(1,2,1);
plot(f0,m/fs);
subplot(1,2,2);
plot(f0,mo1/fs)
运行结果
改变N值,令N=14,得到结果
2、对三个拟合三角函数进行滤波
clear;fs=2000;t=(1:1000)/fs;
x=10*cos(2*pi*30*t)+cos(2*pi*150*t)+5*cos(2*pi*600*t);
L=length(x);N=2^(nextpow2(L));Hw=fft(x,N);
figure(1);subplot(2,1,1);plot(t,x);
grid on;title('滤波前信号x');xlabel('时间/s');% 原始信号
subplot(2,1,2);plot((0:N-1)*fs/L,abs(Hw));% 查看信号频谱
grid on;title('滤波前信号频谱图');xlabel('频率/Hz');ylabel('振幅|H(e^jw)|');
%% x_1=10*cos(2*pi*30*t)
Ap=1;As=60;% 定义通带及阻带衰减
dev=[(10^(Ap/20)-1)/(10^(Ap/20)+1),10^(-As/20)];% 计算偏移量
mags=[1,0];% 低通
fcuts=[60,100];% 边界频率
[N,Wn,beta,ftype]=kaiserord(fcuts,mags,dev,fs);% 估算FIR滤波器阶数
hh1=fir1(N,Wn,ftype,kaiser(N+1,beta));% FIR滤波器设计
x_1=filter(hh1,1,x);% 滤波
x_1(1:ceil(N/2))=[];% 群延时N/2,删除无用信号部分
L=length(x_1);N=2^(nextpow2(L));Hw_1=fft(x_1,N);
figure(2);subplot(2,1,1);plot(t(1:L),x_1);
grid on;title('x_1=10*cos(2*pi*30*t)');xlabel('时间/s');
subplot(2,1,2);plot((0:N-1)*fs/L,abs(Hw_1));% 查看信号频谱
grid on;title('滤波后信号x_1频谱图');xlabel('频率/Hz');ylabel('振幅|H(e^jw)|');
%% x_2=cos(2*pi*150*t)
Ap=1;As=60;% 定义通带及阻带衰减
dev=[10^(-As/20),(10^(Ap/20)-1)/(10^(Ap/20)+1),10^(-As/20)];% 计算偏移量
mags=[0,1,0];% 带通
fcuts=[80,120,180,220];% 边界频率
[N,Wn,beta,ftype]=kaiserord(fcuts,mags,dev,fs);% 估算FIR滤波器阶数
hh2=fir1(N,Wn,ftype,kaiser(N+1,beta));% FIR滤波器设计
x_2=filter(hh2,1,x);% 滤波
x_2(1:ceil(N/2))=[];% 群延时N/2,删除无用信号部分
L=length(x_2);N=2^(nextpow2(L));Hw_2=fft(x_2,N);
figure(3);subplot(2,1,1);plot(t(1:L),x_2);
grid on;title('x_2=cos(2*pi*150*t)');xlabel('时间/s');
subplot(2,1,2);plot((0:N-1)*fs/L,abs(Hw_2));% 查看信号频谱
grid on;title('滤波后信号x_2频谱图');xlabel('频率/Hz');ylabel('振幅|H(e^jw)|');
%% x_3=5*cos(2*pi*600*t)
Ap=1;As=60;% 定义通带及阻带衰减
dev=[10^(-As/20),(10^(Ap/20)-1)/(10^(Ap/20)+1)];% 计算偏移量
mags=[0,1];% 高通
fcuts=[500,550];% 边界频率
[N,Wn,beta,ftype]=kaiserord(fcuts,mags,dev,fs);% 估算FIR滤波器阶数
hh2=fir1(N,Wn,ftype,kaiser(N+1,beta));% FIR滤波器设计
x_3=filter(hh2,1,x);% 滤波
x_3(1:ceil(N/2))=[];% 群延时N/2,删除无用信号部分
L=length(x_3);N=2^(nextpow2(L));Hw_3=fft(x_3,N);
figure(4);subplot(2,1,1);plot(t(1:L),x_3);
grid on;title('x_3=5*cos(2*pi*600*t)');xlabel('时间/s');
subplot(2,1,2);plot((0:N-1)*fs/L,abs(Hw_3));% 查看信号频谱
grid on;title('滤波后信号x_3频谱图');xlabel('频率/Hz');ylabel('振幅|H(e^jw)|');
运行结果
3、对含噪心电信号函数进行滤波处理。
clear
clc
close all;
fs=1000;N=500;
n=0:N-1;
t=n/1000;
x=ecg(100);
X=[x x x x x ];
u=sin(2*0.01*pi*t);
y=X+sin(2*30*pi*t)+sin(2*0.01*pi*t);
figure(1);subplot(222);
plot(t,y,t,u,':');title('心电+工频干扰函数图');
subplot(221);plot(t,X);
title('心电干前函数图')
f=n*fs/N;
figure(2);
subplot(221);plot(f,abs(fft(X)));title('心电干扰前幅度谱')
subplot(222);y1=fft(y);plot(f,abs(y1)/N);%axis([0 0.03 0 0.6]);
hold on
title('心电+工频干扰滤波前幅度谱')
wp=0.1;ws=0.2;rp=2;rs=30;
[n,wn]=buttord(wp,ws,rp,rs);
[b,a]=butter(n,wn,'high');
y2=filter(b,a,y);
figure(1);subplot(223);
plot(t,y2,'r');title('心电+工频干扰 滤波 后函数图')
y3=fft(y2);
figure(2);subplot(223);
plot(f,abs(y3)/N,'r');title('心电+工频干扰滤波后幅度谱')
figure(3);
[H,F]=freqz(b,a,512,fs);
mag=abs(H);
Hdb=20*log10(mag);
plot(F,Hdb);
grid on;
title('滤波器图');
运行结果