数字信号实验报告 IIR数字滤波器设计

时间:2024.4.7

     

课程名称______数字信号处理___________

实验项目______ IIR数字滤波器设计_____

实验二  IIR数字滤波器设计

一、实验目的

1、熟悉用双线性变换法设计IIR数字滤波器的原理与方法。

2、掌握数字滤波器的计算机软件实现方法。

3、通过观察对实际心电图信号的滤波作用,学习数字滤波器在实际中的应用。

二、实验仪器及材料

计算机,MATLAB软件

三、实验内容及要求

1.设计巴特沃斯低通数字滤波器对人体心电信号进行滤波

(1) 人体心电图信号在测量过程中会受到工业高频干扰,所以必须经过低通滤波处理,才能作为判断心脏功能的有用信息。以下为一个实际心电图信号采样序列x(n),其中存在高频干扰,采样周期T=1秒。在实验中,以x(n)作为输入序列,滤除其中干扰成分。

x(n)=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10,6,6,6,4,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0]

对序列x(n)用FFT做频谱分析,生成x(n)的频谱图。

(2) 用冲激响应不变法设计一个巴特沃斯低通IIR数字滤波器H(z)。

设计指标参数为:在通带内频率低于0.2π时,最大衰减小于1dB;在阻带内 [0.3π, π]频率区间上,最小衰减大于15dB。

写出数字滤波器H(z)的表达式,画出滤波器的幅频响应曲线

(3) 用所设计的滤波器对实际心电图信号采样序列进行滤波处理,编写程序,计算H(z)对心电图信号采样序列x(n)滤波后的序列y(n),并分别画出滤波前后的心电图信号波形图和频谱图。

2.用help查看内部函数cheb1ord.m及cheby1.m,了解调用格式,并用此函数设计一个数字切贝雪夫带通滤波器。

设计指标参数为:

抽样频率fs=2kHz;

在200Hz≤f≤400Hz时,最大衰减小于2dB;

在f≤100Hz,f≥600Hz,最小衰减大于40dB。

编程设计,求数字滤波器H(z)的表达式,画出滤波器的幅频响应曲线

四、思考题

1.对比实验内容1中滤波前后心电图信号x(n), y(n),说明滤波器的作用。

2.双线性变换与冲激不变法比较有何优缺点?

五、实验报告要求

1.列出本实验编写的所有文件及各项实验结果曲线,加注必要的说明;

2.对实验结果作理论计算,解释实验结果;

3.回答思考题;

4.总结实验体会及实验中存在的问题。

六、参考

本实验所用的MATLAB函数:

x=rand(r,c)   : 用MATLAB随机生成输入信号x(n),范围为0~1,r行,c列。

y=conv(x1,x2): 将序列x1(n)与序列x2(n)做线性卷积,结果赋给序列y(n)。

y=fft(x,L)    : 将序列x(n)做L点快速傅立叶变换,结果赋给序列y(n)。

y=ifft(x,L)   : 将序列x(n)做L点快速傅立叶反变换,结果赋给序列y(n)。

stem(x,y)     : 以x为横坐标,y为纵坐标画离散曲线。

LENGTH(X) :returns the length of vector X.  It is equivalent

to MAX(SIZE(X)) for non-empty arrays and 0 for empty ones.

[N, Wn] = BUTTORD(Wp, Ws, Rp, Rs) returns the order N of the lowest order digital Butterworth filter which has a passband ripple of no more than Rp dB and a stopband attenuation of at least Rs dB. Wp and Ws are the passband and stopband edge frequencies, normalized from 0 to 1.

BUTTER Butterworth digital and analog filter design.

[B,A] = BUTTER(N,Wn) designs an Nth order lowpass digital

Butterworth filter and returns the filter coefficients in lengthN+1 vectors B (numerator) and A (denominator). The coefficients are listed in descending powers of z. The cutoff frequency Wn must be 0.0 < Wn < 1.0, with 1.0 corresponding to half the sample rate.

IMPINVAR Impulse invariance method for analog to digital filter conversion.

[BZ,AZ] = IMPINVAR(B,A,Fs) creates a digital filter with numerator and denominator coefficients BZ and AZ respectively whose impulse response is equal to the impulse response of the analog filter with coefficients B and A sampled at a frequency of Fs Hertz.  The B and A coefficients will be scaled by 1/Fs.

FILTER One-dimensional digital filter.

Y = FILTER(B,A,X) filters the data in vector X with the filter described by vectors A and B to create the filtered data Y.  The filter is a "Direct Form II Transposed"

implementation of the standard difference equation:

a(1)*y(n) = b(1)*x(n) + b(2)*x(n-1) + ... + b(nb+1)*x(n-nb)

- a(2)*y(n-1) - ... - a(na+1)*y(n-na)

FREQZ Digital filter frequency response.

[H,W] = FREQZ(B,A,N) returns the N-point complex frequency response vector H and the N-point frequency vector W in radians/sample of the filter:

jw               -jw              -jmw

jw  B(e)    b(1) + b(2)e + .... + b(m+1)e

H(e) = ---- = ------------------------------------

jw               -jw              -jnw

A(e)    a(1) + a(2)e + .... + a(n+1)e

given numerator and denominator coefficients in vectors B and A. The

frequency response is evaluated at N points equally spaced around the upper half of the unit circle. If N isn't specified, it defaults to 512.

BILINEAR Bilinear transformation with optional frequency prewarping.

[Zd,Pd,Kd] = BILINEAR(Z,P,K,Fs) converts the s-domain transfer

function specified by Z, P, and K to a z-transform discrete

equivalent obtained from the bilinear transformation:

H(z) = H(s) |

| s = 2*Fs*(z-1)/(z+1)

思考题:

1.对比实验内容1中滤波前后心电图信号x(n), y(n),说明滤波器的作用。

2.双线性变换与冲激不变法比较有何优缺点?

优点:克服了冲击响应不变法的频谱混叠效应

缺点:引入了频率特性的非线性失真

实验体会:

首先熟悉了MATLAB环境,学会使用了help功能。掌握数字滤波器的计算机软件实现方法。通过观察对实际心电图信号的滤波作用,学习数字滤波器在实际中的应用。

实验结果

                             


第二篇:8.用双线性变换法设计IIR数字滤波器 - 数字信号处理实验报告


计算机与信息工程学院验证性实验报告

专业:通信工程        年级/班级:20##级      20##—20##学年第一学期

一、实验目的

(1) 熟悉用双线性变换法设计IIR数字滤波器的原理与方法。

(2) 掌握数字滤波器的计算机仿真方法。

(3) 通过观察对实际心电图信号的滤波作用,获得数字滤波的感性知识。

二、实验内容和要求

1、用双线性变换法设计一个巴特沃斯低通IIR数字滤波器。设计指标参数为:在通带内频率低于0.2π时,最大衰减小于1dB;在阻带内[0.3π,π]频率区间上,最小衰减大与15dB。

2、以0.02π为采样间隔,打印出数字滤波器在频率区间[0,π/2]的幅频响应特性曲线。

3、用所设计的滤波器对实际心电图信号采样序列(在本实验后面给出)进行仿真滤波处理,并打印出滤波前后的心电图信号波形图,观察总结滤波作用与效果。

三、实验主要仪器设备和材料

计算机,MATLAB

四、实验方法

复习有关巴特沃斯模拟滤波器设计和用双线性变换法设计IIR数字滤波器的内容,用双线性变换法设计数字滤波器系统函数。其中满足本实验要求的数字滤波器系统函数为:

                                              (4.1)

式中:

                            (4.2)

根据设计指标,调用MATLAB信号处理工具箱buttord和butter,也可以得到

由公式(3.1)和(3.2)可见,滤波器由三个二阶滤波器级联而成,如图3-1所示。

编写滤波器仿真程序,计算对心电图采样序列x(n)的响应序列y(n)。

设yk(n)为第k级二阶滤波器Hk(z)的输出序列,yk-1(n)为输入序列,如图3-1所示。由(4.2)式可得到差分方程为:

(4.3)

当k=1时,yk-1(n)=x(n)。所以H(z)对x(n)的总响应序列y(n)可以用顺序迭代算法得到。即依次对k=1,2,3,求解差分方程(4.3),最后得到y3(n)=y(n)。仿真程序就是实现上述求解差分方程和顺序迭代算法的通用程序。也可以直接调用MATLAB filter函数实现仿真。

在通用计算机上运行仿真滤波程序,并调用通用绘图子程序,完成实验内容(2)和(3)。

本实验中用到的心电图信号采用序列x(n)

人体心电图信号在测量过程往往受到工业高频干扰,所以必须经过低通滤波处理后,才能作为判断心脏功能的有用信息。下面给出一实际心电图信号采样序列样本x(n),其中存在高频干扰。在实验中,以x(n)作为输入序列,滤除其中的干扰成分。

五、实验程序及结果

T=1;Fs=1/T;

wpz=0.2;wsz=0.3;

wp=2*tan(wpz*pi/2);ws=2*tan(wsz*pi/2);rp=1;rs=15;

[N,wc]=buttord(wp,ws,rp,rs,'s');

[B,A]=butter(N,wc,'s');

fk=0:1/512:1;wk=2*pi*fk;

Hk=freqs(B,A,wk);

subplot(1,2,1);

plot(fk,20*log10(abs(Hk)));grid on;

xlabel('\omega/\pi');ylabel('幅度(dB)');

axis([0,1,-100,5]);title('(b)');

[N,wc]=buttord(wpz,wsz,rp,rs);

[Bz,Az]=butter(N,wc);

wk=0:pi/512:pi;

Hz=freqz(Bz,Az,wk);

subplot(1,2,2);

plot(wk/pi,20*log10(abs(Hz)));grid on;

xlabel('\omega/\pi');ylabel('幅度(dB)');

axis([0,1,-100,5]);title('(b)');

x=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10,6,6,6,4,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0];

k=1;

close all;

figure(1);

subplot(2,2,1);

n=0:55;     %更正

stem(n,x,'.');

axis([0,56,-100,50]);  %更正

hold on;

n=0:60;

m=zeros(61);

plot(n,m);

xlabel('n');

ylabel('x(n)');

title('心电图信号采集序列x(n)');

B=[0.09036,2*0.09036,0.09036];

A=[1.2686,-0.7051];

A1=[1.0106,-0.3583];

A2=[0.9044,-0.2155];

while(k<=3)

    y=filter(B,A,x);    %The function is to filte the singal x

    x=y;

    if k==2

        A=A1;

    end

    if k==3

        A=A2;

    end

    k=k+1;

end

subplot(2,2,3)

n=0:55;     %更正

stem(n,y,'.');

axis([0,56,-15,5]);

hold on;

n=0:60;

m=zeros(61);

plot(n,m);

xlabel('n');

ylabel('y(n)');

title('三级滤波后的心电图信号');

%求数字滤波器的幅频特性

A=[0.09036,0.1872,0.09036];

B1=[1,-1.2686,0.7051];

B2=[1,-1.0106,0.3583];

B3=[1,-0.9044,0.2155];

[H1,w]=freqz(A,B1,100);

[H2,w]=freqz(A,B2,100);

[H3,w]=freqz(A,B3,100);

H4=H1.*(H2);

H=H4.*(H3);

mag=abs(H);

db=20*log10((mag+eps)/max(mag));

subplot(2,2,2)

plot(w/pi,db);

axis([0,0.5,-50,10]);

grid on;       %更正

title('滤波器的幅频响应曲线');

教师签名:

         年    月     日

更多相关推荐:
数字滤波器设计实验报告

数字滤波器设计实验报告刘古城65100609一实验目的研究数字滤波器的设计思想理解数字频域模拟频域的关系掌握数字系统处理模拟信号的方法FIR数字滤波器设计掌握窗函数设计FIR数字滤波器的方法理解FIR的意义线性...

3.数字滤波器的直接设计 - 数字信号处理实验报告

计算机与信息工程学院验证性实验报告一实验目的1熟悉用双线性变换法设计IIR数字滤波器的原理与方法2学会调用MATLAB信号处理工具箱中滤波器设计函数或滤波器设计分析工具fdatool设计各种IIR数字滤波器学会...

DSP实验六 FIR 数字滤波器的实验报告

实验六FIR数字滤波器61实验目的数字滤波的作用是滤除信号中某一部分频率分量信号经过滤波处理就相当于信号频谱与滤波器的频率响应相乘的结果从时域来看就是输入信号与滤波器的冲激响应作卷积和数字滤波器在各种领域由广泛...

FIR数字滤波器的设计实验报告

学生实验报告注学生做每个实验都必须填写实验报告实验报告可以是纸质的也可以是电子形式的凡电子文本形式的实验报告须在学期末刻录进该学期教学资料光盘并存个人教学档案实验指导教师签名年月日

数字滤波器实验报告

THBCC1实验平台错误未找到引用源计算机控制技术实验错误未找到引用源错误未指定书签数字滤波器实验报告实验指导老师万敏成绩姓名刘真志学号0807030424班级自动化20xx级4班一实验目的1通过实验掌握数字滤...

IIR数字滤波器设计实验报告

实验三IIR数字滤波器设计实验报告一实验目的1通过仿真冲激响应不变法和双线性变换法2掌握滤波器性能分析的基本方法二实验要求1设计带通IIR滤波器2按照冲激响应不变法设计滤波器系数3按照双线性变换法设计滤波器系数...

虚拟数字滤波器实验报告

南昌航空大学实验报告20xx年月日课程名称测试技术与信号处理实验名称虚拟数字滤波器班级姓名学号一实验目的1在理论学习的基础上通过本实验熟悉信号的数字滤波器的原理2通过Labview虚拟仪器平台的应用掌握简单虚拟...

数字图像处理实验报告2

实验二数字图像的空间域滤波平滑滤波1实验目的1掌握图像滤波的基本定义及目的2理解空间域滤波的基本原理及方法3掌握进行图像的空域滤波的方法2实验基本原理1空间域增强空间域滤波是在图像空间中借助模板对图像进行领域操...

matlab实验报告 IIR数字滤波器设计

实验报告姓名学号班级组号李鹏博20xx300704030411021实验名称课程名称实验室名称实验日期IIR数字滤波器设计数字信号处理航海西楼30320xx0620一实验目的要求掌握IIR数字滤波器设计的冲激响...

IIR数字滤波器设计及软件实现 实验报告

实验报告实验四IIR数字滤波器设计及软件实现1实验目的1熟悉用双线性变换法设计IIR数字滤波器的原理与方法2学会调用MATLAB信号处理工具箱中滤波器设计函数或滤波器设计分析工具fdatool设计各种IIR数字...

数字信号处理实验报告——用窗函数法设计 FIR数字滤波器

实验四用窗函数法设计FIR数字滤波器一实验目的1掌握用窗函数法设计FIR数字滤波器的原理和方法2熟悉线性相位FIR数字滤波器特性3了解各种窗函数对滤波特性的影响二实验原理滤波器的理想频率响应函数为Hdej则其对...

实验4 IIR数字滤波器设计及软件实现

实验四IIR数字滤波器设计及软件实现1041实验指导1实验目的1熟悉用双线性变换法设计IIR数字滤波器的原理与方法2学会调用MATLAB信号处理工具箱中滤波器设计函数或滤波器设计分析工具fdatool设计各种I...

数字滤波器实验报告(29篇)