1、实验五 IIR 数字滤波器设计(1 天)一实验内容1. 熟悉用双线性变换法设计 IIR 数字滤波器的原理与方法。2. 人体心电信号的主要频率范围为 005100Hz,设计带通滤波器,滤除含噪的心电信号。3. 通过观察对实际心电图信号的滤波作用,获得数字滤波的感性知识。二实验步骤:1设计一个 IIR 低通滤波器,被滤信号 x=cos0.1*pi*n+cos0.2*pi*n;主要程序如下:Wp = .1; Ws = .4; %设计低通IIR滤波器n,Wn = buttord(Wp,Ws,3,60)b,a = butter(n,Wn);freqz(b,a,512,1000); title(n=5 B
2、utterworth Lowpass Filter);n=0:1:100;x=cos(0.1*pi*n)+cos(0.8*pi*n);figure(2),subplot(121)stem(n,abs(fft(x);title(原信号频谱)subplot(122)stem(n,angle(fft(x);y=filter(b,a,x);figure(3),stem(n,y);title(滤后信号时域波形)figure(4),subplot(121),stem(n,abs(fft(y);axis(0 100 0 60);title(滤后信号频谱 )subplot(122),stem(n,angle(
3、fft(y);注意:已知的 0.1 和 0.2 都是数字角频率,后边是 n,也就是只能取整,若已知的是 cos100*pi*t,则需要滤的是模拟信号,其中数字角频率 w 和模拟角频率 W之间是 w=W*Ts,其中 Ts 是采样周期。数字角频率和模拟角频率之间的对比:w=0,W=0; w=pi,W=Fs/2;2.设计 IIR 滤波器,滤除心电信号中的 50hz 噪声和基线漂移。实验程序如下:clear;load ecgdata;load ecgdata_n;load ecgdata_n50;figure(1);subplot(211);plot(y3);title(含50hz 噪声心电信号 )s
4、ubplot(212);stem(abs(fft(y3);figure(2);subplot(211);plot(mydata);title(理想心电信号 )subplot(212);stem(abs(fft(mydata);ws1=2*43/360;wp1=2*47/360;wp2=2*53/360;ws2=2*57/360;n,wn=buttord(wp1,wp2,ws1,ws2,3,50);b,a=butter(n,wn,stop);figure(3);freqz(b,a,256,360);title(50HZ带阻滤波器 )z1=filter(b,a,y3);figure(4);subp
5、lot(211);plot(z1);title(滤50HZ信号波形);subplot(212);stem(abs(fft(z1);ws3=2*0.05/360;wp3=2*0.6/360;n2,wn2=buttord(wp3,ws3,1,80);d,c=butter(n2,wn2,high);figure(5);freqz(d,c,256,360);title(高通滤波器)z2=filter(d,c,y2); %y2含基线漂移z3=filter(b,a,z2);figure(6),subplot(211);%含基线漂移plot(y2);title(含基线漂移信号波形 )subplot(212)
6、,stem(abs(fft(y2);figure(7),subplot(211); plot(z3);title(含基线漂移滤后波形 )axis(0 4500 -1 1);subplot(212);stem(abs(fft(z3);title(滤波后频谱)axis(0 4500 0 1500);三实验结果:1.低通滤波器滤余弦信号:(1) 。.滤波器特性:(2).滤波前信号:(3.)滤波后信号:.时域波形:(2).频域波形:2.IIR 滤心电信号:(1).含 50hz 噪声信号:(2)理想心电信号:(3).50hz 带阻滤波器:(4).滤后 50hz 信号:(5).高通滤波器:(6).含基线漂
7、移噪声信号:(6).含基线漂移噪声信号滤后波形:四结论与体会:结论:1.模拟角频率与数字角频率的对应关系:该实验中用到一个 W=pi,则与 1/(2*Ts)相对应,推导过程如下:已知 Fs=1/N*Ts 和 w=W*Ts,则 w=Ts*W=1/(N*Fs ) ,若 w=pi,则,W=N*Fs*w=2*pi*N*(Fs/2),可看出 w=pi 时,W 与(N*Fs)/2 即 1/(2*Ts)相对应。 (W 表模拟角频率,w 表数字角频率)2.设置恰当的滤波器参数在该实验中显得较为重要,IIR 设计中主要用到的是一些 MATLAB 系统函数,像 buttord,butter,freqz 等。体会:1.实验 1 是已知数字信号,要求设计一个数字滤波器,使得数字滤波器能够滤出一部分信号成分,该实验用到的是低通滤波器。基本了解了滤波器设计的大概步骤,认为只要选择了合适的 L 和 Ts 就能够滤出信号了。2.实验 2 中则是综合应用 IIR 滤波器设计滤除心电信号中的噪声成分,我觉得有一定的难度,在多次尝试和总结后大概滤出了噪声成分。在滤波过程中发现带阻滤波器的滤波特性会比较好一些,因为发现 50hz 信号经过低通,高通之后都滤的没有带通的滤的号。