《数字信号处理实验报告--切比雪夫滤波器在心电信号处理中的应用》由会员分享,可在线阅读,更多相关《数字信号处理实验报告--切比雪夫滤波器在心电信号处理中的应用(17页珍藏版)》请在金锄头文库上搜索。
1、昆明理工大学信息工程与自动化学院学生实验报告( 20172018学年 第2学期)课程名称:数字信号处理实验 开课实验室:信自212 实验日期:年级、专业、班学号姓名成绩实验项目名称切比雪夫滤波器在心电信号处理中的应用指导教师杨嘉林教师评语 教师签名: 年 月 日一.设计目的和意义数字滤波器是指输入,输出均为数字信号,通过数值运算处理改变输入信号所含频率成分的相对比例,或者滤除某些频率成分的数字器件或程序。因此,数字滤波的概念和模拟滤波相同,只是信号的形式和实现滤波方法不同。正因为数字滤波通过数值运算实现滤波,所以数字滤波器处理精度高,稳定,体积小,重量轻,灵活,不存在阻抗匹配问题,可以实现模拟
2、滤波器无法实现的特殊滤波功能。希望学生运用数字信号处理课程中所学的理论知识和实验技能,基本掌握数字信号处理的基础理论和处理方法,提高分析和解决信号与信息处理相关问题的能力,为以后的工作和学习打下基础。二.设计原理2.1 Butterworth低通数字滤波器的设计巴特沃斯低通滤波器的平方幅度响应为其中,n为滤波器的阶数,为低通滤波器的截止频率。 该滤波器具有 一些特殊的性质: 对所有的n,都有当时,; 对所有的n,都有当时,;是的单调递减函数,即不会出现幅度响应的起伏; 当时,巴特沃斯滤波器趋向于理想的低通滤波器; 在处平方幅度响应的各级导数均存在且等于0,因此在该点上取得最大值,且具有最大平坦
3、特性。 图1展示了2阶、4阶、8阶巴特沃斯低通滤波器的幅频特性。可见阶数n越高,其幅频特性越好,低频检测信号保真度越高,过渡带变窄,即衰减加剧,但半功率点不变。图1 巴特沃斯低通滤波器的幅频特性2.2 切比雪夫I型数字低通滤波器(1)确定数字低通滤波器的技术指标:通带截止频率p、通带衰减ap、阻带截止频率s、阻带衰减as切比雪夫滤波器的振幅平方特性如图2所示:图2 切比雪夫滤波器的振幅平方特性(2)将数字低通滤波器的技术指标转换成模拟低通滤波器的技术指标。如果采用脉冲响不变法,边界频率的转换关系为:如果采用双线性变换法,边界频率的转换关系为(3) 按照模拟低通滤波器的技术指标设计模拟低通滤波器
4、。(4) 利用双线性变换法将模拟滤波器Ha(s),从s平面转换到z平面,得到数字低通滤波器系统函数H(z)。(5)数字低通技术指标为:p=0.4rad,ap=1dB;s=0.5rad,as=40dB(6)模拟低通的技术指标为: p=2Ttan12p,T=1 p=2tan0.1=0.65rad/s,p=1dB s=2tan0.15=1.019/s,s=15d归一化截止角频率wp=2pi*Fs/Ft; ws=2pi*Fs/Ft(7)利用模拟切比雪夫滤波器设计数字滤波器。通带截止频率为:wp=0.4*pi; 阻带截止频率为:ws=0.5*pi;通带最大衰减为:Rp=1;阻带最大衰减为:As=15;设
5、定周期为1s;模拟低通滤波器的生成:b,a=cheby1(n,1,Wn,low,s);满足设计指标的最小阶数和截止频率:Wnn,Wn=cheb1ord(OmegaP,OmegaS,1,40,s)。最后实现输入输出、幅频特性、相频特性的图形。三.详细设计步骤3.1心电数据的导入3.2 绘出心电信号的时域图和频谱图将导入的数据分别用t来替换,通过调用plot函数来画出时域图,然后通过对4000个心电数据的幅值进行FFT运算,再次调用plot函数来绘出频域图,具体设计如下:程序10行figure(1); %新建图像subplot(2,1,1); %将2个图画到一个平面t=a(1:4000,1); %
6、用t替换导入的4000个数据plot(t);%绘出t的图形title(原始波形图);xlabel(时间(s));ylabel(幅值(A));y1=fft(a(:,1),4000); %行取全部f1=100*(0:3999)/4000;%先生成一个0,1,2,.,3999的整数向量,然后对对这个向量的每一项乘以100除以4000.subplot(2,1,2); %将2个图画到一个平面plot(f1,abs(y1); %f1为横坐标,abs(y1)为纵坐标作图title(原始频谱图);xlabel(频率(Hz));ylabel(幅度(dB);3.3 加入干扰加入的干扰是:白噪声高频干扰,50Hz的
7、电源线干扰。3.3.1 白噪声通过用s来代表加入白噪声后的信号,并进行数字滤波器的频率响应,对s中4000个频率点调用plot函数画出加入白噪声后的时域图,再对ws/pi,abshs调用plot函数画出加入白噪声后的频谱图,具体操作如下:程序11行q=50*rand(4000,1); %产生4000行1列的位于(0,1)区间的随机数s=a(:,1)+q;%产生的随机数与原始信号叠加赋给shs,ws=freqz(s,1,4096); %求离散系统频响特性的函数freqz()abshs=abs(hs);%hs取绝对值赋给abshsfigure(2);%新建图像2subplot(2,1,1);plo
8、t(s(1:4000);%绘出从1取到4000时s的图形title(加入高频干扰信号后的时域图);xlabel(时间(s));ylabel(幅值(A));subplot(2,1,2);plot(ws/pi,abshs);%ws/pi为横坐标abshs为纵坐标作图title(加入高频干扰信号后的频谱图);xlabel(Hz);ylabel(幅度);通过观察加入白噪声后的时域图和频域图,将它与未加入白噪声进行比较可以发现频谱图在0Hz时的幅度增加的很大,而且又在没有谱线的频率上竟然出现了频谱,这是由于白噪声在所有频率上都有频率造成的。3.3.2 电源线干扰(50Hz)用x表示加入电源线干扰后的信号
9、,再对电源线信号的4000个频率点进行FFT运算,在进行相关的运算后,通过调用plot函数直接绘出加入电源线干扰后的时域图和频谱图。具体步骤如下:程序13行x2=sin(2*pi*50*t); %x2表示正弦信号t=0:0.00025:0.00025*(4000-1); %从0开始间隔0.00025取值到 0.00025*(4000-1)x1=a(:,1);%将矩阵a用x1表示x=x1+x2; %x1和x2叠加赋给xy2=fft(x,4000); %对x信号做快速傅里叶变换f2=100*(0:3999)/4000;%先生成一个0,1,2,.,3999的整数向量,然后对对这个向量的每一项乘以10
10、0除以4000.figure(3); %新建图像3subplot(2,1,1);plot(t,x); %t为横坐标,x为纵坐标作图title(加入电源线干扰后的时域图);xlabel(时间(s));ylabel(幅值(A));subplot(2,1,2);plot(f2,abs(y2); %f2为横坐标,abs(y2)为纵坐标作图title(加入电源线干扰后的频谱图);xlabel(幅);ylabel(Hz);3.4 滤波器的设计3.4.1切比雪夫I型数字低通滤波器用Wp1,Wp2,Ws1,Ws2表示分别用通带和阻带截止频率的角频率算出频带宽带,计算阶数n1和截止频率WN,再设计切比雪夫I型模
11、拟滤波器,采用双线性法将模拟滤波器系数变为数字滤波器系数,画出切比雪夫I型数字滤波器的频率响应,调用filter实现对白噪声的滤波,再最后调用plot函数画出滤除白噪声后的时域图和频域图。具体过程如下:程序29行figure(4); %新建图像4fs=1000; %采样频率f11=10;%通带频率f12=25; %阻带频率Wp1=(f11/fs)*2*pi; %通带角频率Wp2=(f12/fs)*2*pi; %阻带角频率Omegap1=2*fs*tan(Wp1/2); %数字转化为模拟Omegap2=2*fs*tan(Wp2/2); %数字转化为模拟BW=Omegap2-Omegap1; %频
12、带宽度W0=Omegap1*Omegap2;W00=sqrt(W0);WP=1;n1,WN=buttord(WP,WS,1,50,s); %参数WP和WS分别是通带边界频率和阻带边界频率,通带最大衰减为1阻带最小衰减50,返回的参数n1和WN分别为滤波器的阶数和3dB截止频率B,A=cheby1(n1,1,WN,s);%计算出阶数为n1、截止频率为WN、通带波纹最大衰减为1的数字低通滤波器,它的返回值a、b分别表示数字低通滤波器的系统函数的分子和分母的多项式系数BT,AT=lp2bp(B,A,W00,BW);num,den=bilinear(BT,AT,0.5); %实现模数的映射freqz(
13、num,den,64);y=filter(num,den,s);figure(5);subplot(2,1,1);plot(y);title(滤除高频信号后的时域图);xlabel(时间(s));ylabel(幅值(A));s3=fft(y,4000);f1=100*(0:3999)/4000;subplot(2,1,2);plot(f1,abs(s3);title(滤除高频信号后的频谱图);xlabel(频率(Hz);ylabel(幅值(dB);3.4.2高通滤波器的设计高通滤波器的设计可通过模拟低通滤波器再经频率变换而实现。其中模拟低通滤波器可根据已经存在的典型滤波器,如巴特沃斯滤波器等逼
14、近实现,而由低通到高通转换理论依据在绪论部分已经进行了详细的论证,又本设计基于MATLAB仿真软件实现,可利用MATLAB信号处理工具箱提供的各种函数模型实现,可忽略其中的一些复杂的函数变换,从而简化理论设计和论证,具体如下:程序61行figure(6)n=0:0.01:2; for ii=1:4 %定义循环,产生不同阶数的曲线 switch iicase 1,N=2;case 2,N=5;case 3,N=10;case 4,N=30;endz,p,k=buttap(N); %调用Butterworth模拟低通滤波器原型函数b,a=zp2tf(z,p,k); %将零点极点增益形式转换为传递函数形式H,w=freqs(b,a,n); %按n指定的频率点给出频率响应magH2=(abs(H).2;subplot(2,1,1);hold on;plot(w,magH2); endxlabel(w/wc);ylabel(|H(jw)|2);title(Butte