数字信号处理算法研究毕业论文(编辑修改稿)内容摘要:

worth 数字滤波器设计: 调用格式: [N,Wn] =buttord(Wp, Ws, Rp, Rs); [b,a]=butter(N,Wn,’ ftype’ ); 参数: Wp 为 通带 截止 频率 , Ws为 阻带 截止 频率 , Rp 为 通带内最大衰减 , Rs 为 阻带内最小衰减, 通过以上性能指标能够 计算 出 Butterworth 滤波器 所需的 阶数 N和截止频率 Wn。 然后通过 阶数 N和截止频率 Wn 又能够 计算 Butterworth 滤波器 的 分子 和 分母系数 的系数,其中 b为分子系数 的矩阵 , a 为分母系数的 矩阵,可以通过设置 ftype来设置滤波器的类型,默认不写为低通, high 为高通, bandpass 为带通, stop为带阻。 ( 2) ChebyshevⅠ 型 数字滤波器设计: 调用格式: [N,Wn]=cheb1ord(Wp,Ws,Rp,Rs); [b,a] = cheby1(N,Rp,Wn,39。 ftype39。 ) ; ( 3) ChebyshevⅡ 数字 滤波器 设计: 调用格式: [N,Wn]=cheb2ord(Wp,Ws,Rp,Rs); [b,a] = cheby2(N,Rp,Wn,39。 ftype39。 ) ; ( 4)椭圆滤波器设计: [N,Wn]=ellipord(Wp,Ws,Rp,Rs); [b,a] =ellip(N,Rp,Rs,Wp); 在 MatLab 的帮助文档总又以上几种滤波器的具体使用方法,必要时可以去查阅。 ( 5) 零相位数字滤波 调用 格式: y = filtfilt(b,a,x); 具体受用方式为 y = filtfilt(b,a,x),这样就可以把 输入信号 x做前向和反向的 处理, 就是 零相位 的 数字滤波。 b、 a 分别为滤波器传递函数的分子和分母系数 矩阵。 本实验中采集脉搏信号的采样频率为 1000Hz,可以采用以下几种滤波器: ( 1)为了消除基线漂移、人体呼吸等低频干扰我们需要选用 ChebysheveⅡ型高通滤波器,但是 IIR 数字滤波器本身会存在相位失真,因设计了零相位ChebysheveⅡ型高通滤波器进行去噪。 ChebysheveⅡ高通滤波器的参数Wp=(fs/2), Ws=(fs/2), Rp=, Rs=20。 ( 2) 50Hz 的固定工作频率在频域中只是一个点,因而就需要带阻滤波器应该具有好的截止特性,前面说过 ChebysheveⅡ型滤波器有良好的截止特性,并且在其通带内也是单调的,采用零相位的 ChebysheveⅡ型滤波器滤除工作频率的干扰。 跟前一个方法相同采用零相位滤波器去噪。 ChebysheveⅡ带阻滤波器的参数为: Wp=[48,52]/(fs/2), Ws=[49,51]/(fs/2), Rp=1,Rs=40。 特别说明,本文采用的信号采集系统基本上不存在这个固定 50Hz 的工作频率干扰,因此可以省略 ChebysheveⅡ带阻滤波器。 ( 3)由于 Butterworth 滤波器通带内幅频特性比较平滑,信号经过后衰也就会相对的减小,所以选择 Butterworth 低通滤波器用于滤除其他一些高频干扰信号。 还是采用零相位 滤波器进行去噪。 Butterworth 低通滤波器的参数为:本科生毕业论文 数字信号处理算法研究 基于人体脉搏信号 9 Wp=55/(fs/2), Ws=80/(fs/2), Rp=2, Rs=20。 第三章 信号分析 信号去噪处理 如图 : 图 采集到的脉搏原始信号 明显能看出该信号具有一定的噪声干扰,所以想要对这段脉搏信号做出比较准确的分析,就必须对其进行必要的滤波处理。 这里所设计的 ChebysheveⅡ型高通滤波器 和 ChebysheveⅡ型带阻滤波器还有Butterworth 型低通滤波器幅频响应曲线 ,如图 和 和 : 图 ChebysheveⅡ型高通滤波器幅频响应 图 Chebysheve II 型带阻滤波器幅频响应 本科生毕业论文 数字信号处理算法研究 基于人体脉搏信号 11 图 Butterworth 型低通滤波器幅频响应 将图 ChebysheveII型高通滤波器和 Butterworth低通滤波器滤后 ,借以滤除噪声干扰信号。 经过滤波后的脉搏信号如图。 图 去除噪声后的脉搏信号 从时域图 信号已经基本去除,接下来就可以对其进行进一步的时域分析。 设计滤波器及去噪程序代码: %ChebysheveII 高通型滤波器设计。 fs = 1000。 wp=(fs/2)。 %通带截止频率。 ws=(fs/2)。 %阻带截止频率。 rp=。 %通带波纹系数。 rs=20。 %阻带波纹系数。 [N,wc]=cheb2ord(wp,ws,rp,rs)。 [num,den]=cheby2(N,rp,wc,39。 s39。 )。 [H,W]=freqz(num,den)。 plot(fs*W/(2*pi),abs(H))。 xlabel(39。 频率 39。 )。 ylabel(39。 幅度 39。 )。 title(39。 ChebysheveII 型高通滤波器幅频响应 39。 )。 x1=filtfilt(num,den,x)。 %通过零相位滤波器滤除干扰信号。 grid on。 figure。 plot(x1)。 title(39。 ChebysheveII 型高通滤波器滤波后的脉搏信号 39。 )。 xlabel(39。 时间 /ms39。 )。 ylabel(39。 幅度 39。 )。 grid on。 %ChebysheveII 型带阻滤波器设计。 fs = 1000。 wp2=[48,52]/(fs/2)。 %通带截止频率。 ws2=[49,51]/(fs/2)。 %阻带截止频率。 rp2=1。 %通带波纹系数。 rs2=40。 %阻带波纹系数。 本科生毕业论文 数字信号处理算法研究 基于人体脉搏信号 13 [N2,wc2]=cheb2ord(wp2,ws2,rp2,rs2)。 [num2,den2]=cheby2(N2,rp2,wc2,39。 s39。 )。 [H2,W2]=freqz(num2,den2)。 plot(fs*W2/(2*pi),abs(H2))。 xlabel(39。 频率 39。 )。 ylabel(39。 幅度 39。 )。 title(39。 ChebysheveII 型带阻滤波器幅频响应 39。 )。 x2=filtfilt(num2,den2,x1)。 %通过零相位滤波器滤除干扰信号。 grid on。 figure。 plot(x2)。 title(39。 ChebysheveII 型带阻滤波器滤波后的脉搏信号 39。 )。 xlabel(39。 时间 /ms39。 )。 ylabel(39。 幅度 39。 )。 grid on。 %Butterworth 低通滤波器设计。 fs=1000。 %采样频率 1000 wp3=55/(fs/2)。 %设置通带截止频率。 ws3=80/(fs/2)。 %设置阻带截止频率。 rp3=2。 %通带波纹系数。 rs3=20。 %阻带波纹系数。 [N3,wc3]=buttord(wp3,ws3,rp3,rs3)。 [num3,den3]=butter(N3,wc3)。 [H3,W3]=freqz(num3,den3)。 figure。 plot(fs*W3/(2*pi),abs(H3))。 title(39。 Butterworth 低通滤波器幅频响应 39。 )。 xlabel(39。 频率 39。 )。 ylabel(39。 幅度 39。 )。 grid on。 x3=filtfilt(num3,den3,x2)。 %通过零相位滤波器滤除干扰信号。 figure。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。