第一范文网 - 专业文章范例文档资料分享平台

《数字信号处理》实验指导书

来源:用户分享 时间:2025/6/18 2:50:50 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

《数字信号处理》上机实验指导书 - 9 -

现给出满足本实验要求的数字滤波器系统函数:

0.0007378(1?z?1)6H(z) = ?1?2?1?2?1?2(1?1.2686z?0.7051z)(1?1.0106z?0.3583z)(1?0.9044z?0.2155z) =

?Hk?13k(z) —— (3.1)

A(1?2z?1?z?2)式中 Hk(z) = , k = 1 , 2 , 3 —— (3.2) ?1?21?Bkz?CkzA = 0.09036

B1 = 1.2686 , C1 =-0.7051 B2 = 1.0106 , C2 =-0.3583 B3 = 0.9044 , C3 =-0.2155

由 (3.1) 式和(3.2)式可见,滤波器H(z)由三个二阶滤波器H1(z)、H2(z)和H3(z)级联组成,如图3.1 所示。

y3(n) = y(n) y1(n) y2(n) x(n)

H1(z) H2(z) H3(z) H(z)

图 3.1 滤波器H(z)的组成

(2) 编写滤波器仿真程序,计算H(z)对心电图信号抽样序列x(n)的响应序列y(n)。

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

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

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

和(3) ”。

本实验要用的MATLAB绘图函数见附录。 4. 思考题

用双线性变换法设计数字滤波器过程中,变换公式

11?z?1s =

T1?z?1中T的取值,对设计结果有无影响?为什么? 5. 实验报告要求

(1) 简述实验目的及原理。

(2) 由所打印的|H(ejω)|特性曲线及设计过程简述双线性变换法的特点。

(3) 对比滤波前后的心电图信号波形,说明数字滤波器的滤波过程与滤波作用。 (4) 简要回答思考题。

6. 心电图信号抽样序列x(n)

《数字信号处理》上机实验指导书 - 10 -

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

实验四:用窗函数法设计 FIR数字滤波器

1. 实验目的

(1) 掌握用窗函数法设计FIR数字滤波器的原理和方法。 (2) 熟悉线性相位FIR数字滤波器特性。 (3) 了解各种窗函数对滤波特性的影响。 2. 实验原理与方法

如果所希望的滤波器的理想频率响应函数为Hd(ejω),则其对应的单位脉冲响应为

?1hd(n) =

2????Hd(ej?)ej?nd? —— (4.1)

窗函数设计法的基本原理是用有限长单位脉冲响应序列h(n)逼hd(n)。由于hd(n)往往是无限长序列,且是非因果的,所以用窗函数。w(n)将hd(n)截断,并进行加权处理,得到:

h(n) = hd(n) w(n) —— (4.2)

h(n)就作为实际设计的FIR数字滤波器的单位脉冲响应序列,其频率响应函数H(ejω)为

H(e) =?h(n)e?j?n —— (4.3)

n?0N?1式中,N为所选窗函数w(n)的长度。

由第七章可知,用窗函数法设计的滤波器性能取决于窗函数w(n)的类型及窗口长度N的取值。设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N。各种类型的窗函数可达到的阻带最小衰减和过渡带宽度见第七章。

这样选定窗函数类型和长度N后,求出单位脉冲响应h(n) = hd(n)·w(n),并按式(4.3)求出H(ejω)。H(ejω)是否满足要求,要进行验算。一般在h(n)尾部加零使长度满足2的整数次幂,以便用FFT计算H(ejω)。如果要观察细节,补零点数增多即可。如果H(ejω)不满足要求,则要重新选择窗函数类型和长度N,再次验算,直至满足要求。

如果要求线性相位特性,则h(n)还必须满足:

h(n) = ± h( N - 1 – n )

根据上式中的正、负号和长度N的奇偶性又将线性相位FIR滤波器分成四类。要根据所设计的滤波特性正确选择其中一类。

例如,要设计线性相位低通特性,可选择 h(n) = h( N-1-n) 一类, 而不能选 h(n) = -h(N-1-n) 一类。 3. 实验内容及步骤

《数字信号处理》上机实验指导书 - 11 -

(1) 复习用窗函数法设计FIR数字滤波器一节内容,阅读本实验原理,掌握设计步骤。 (2) 编写程序。

① 编写能产生矩型窗、升余弦窗、改进升余弦窗和二阶升余弦窗的窗函数子程序 。 ② 编写主程序。主程序框图如图4.1 所示,仅供参考。其中幅度特性要 求用dB表示。

开始 读入窗口长度N

计算hd(n)

调用窗函数子程序求w(n) 计算h(n) = hd(n) w(n)

调用子程序(函数)计算H(k) = DFT[h(n)]

调用绘图子程序(函数)绘制|H(k)|幅度相位曲线 结束

图4.1用窗函数法设计滤波器主程序框图

H(k) = DFT [h(n)] H(k) = HR(k) + j HI(k)

|H(k)| =

2HR(k)?HI2(k)

2?k。为使曲线包络更Njω

接近H(e)的幅度特性曲线,DFT变换区间要选大些。例如窗口长度N = 33时,可通过在h(n)末尾补零的方法,使长度变为64,再进行64点DFT,则可得到更精确的幅度衰减特性曲线。

FFT子程序可调用MALTAB函数fft实现。 (3) 上机实验内容。

?① 用升余弦窗设计一线性相位低通FIR数字滤波器,截止频率ωc = rad。窗口长度

4N = 15 , 33。要求在两种窗口长度情况下,分别求出h(n),打印出相应的幅频特性和相频特性曲线,观察3dB带宽20dB带宽。总结窗口长度N对滤波特性的影响。

设计低通FIR数字滤波器时,一般以理想低通滤波特性为逼近函数Hd(ejω), 即 画图时,用20lg|H(k)|打印幅度特性。第k点对应的频率 ωk =

?e?j??,???cHd(e)??

0,?????c?j?其中 ? = (N-1)/2

1hd(n)?2?????Hd(e)ej?jn?1d? =

2??c??c?j??jn?e?ed? =

sin??c?n????

??n???② n = 33 ,ωc = π/4,用四种窗函数设计线性相位低通滤波器。绘制相应的幅频特性曲线,观察3dB和20dB带宽以及阻带最小衰减,比较四种窗函数对滤波器特性的影响。

《数字信号处理》上机实验指导书 - 12 -

4. 思考题

(1) 如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?写出设计步骤。

(2) 如果要求用窗函数法设计带通滤波器,且给定上、下边带截止频率为ω1和ω2,试求理想带通的单位脉冲响应hd(n)。 5. 实验报告要求

(1) 简述实验目的及原理。

(2) 按照实验步骤及要求,比较各种情况下的滤波性能,说明窗口长度N和窗函数类

型对滤波特性的影响。

(3) 总结用窗函数法设计FIR滤波器的主要特点。 (4) 简要回答思考题。

附录: MATLAB简介

MATLAB(ANTrix LABoratory)是Mathwords公司于1982年推出的一套高性能的数值计算和可视化软件。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便且界面友好的用户环境。MATLAB的推出得到了各个领域专家学者的广泛关注。其强大的扩展功能为各个领域的应用提供了基础。由各个领域的专家学者相继推出了十几种MATLAB工具箱,信号处理工具箱就是其中之一,借助这一工具箱进行信号处理方面的研究,可大大节省时间。这些工具箱函数的使用可通过Help命令得到。为了便于使用,下面简要介绍MATLAB的启动、编程和运行程序的过程,最后给出实验中可能用到的工具箱函数。(考虑到上机方便,附录中外文均采用正白体。) 1、启动MATLAB系统及编程

在Windows桌面上双击MATLAB快捷方式图标,启动MATLAB系统,Windows工作平台上自动弹出一个MALAB窗口,其中有Command Window窗口,称其为MATLAB命令窗口。该窗口是用户与 MATLAB 解释器进行通信的工作环境,所有的MATLAB函数、命令及程序都要在该命令窗口下运行。

在命令窗口中,用户可以发出MATLAB命令。每条命令输入并接回车键后,MATLAB系统便解释并执行之,显示命令执行结果。如果不想显示中间结果,可在相应命令后加分号即可。

应当注意,在命令窗口输人命令只适合一些简单的运算程序,不便于编辑修改较复杂的程序。这是因为直接在命令窗口输入的命令一经执行后,只记录其运行结果变量,如果有错误,就得再输入一遍(当然,有较简便的重新输入方法)。这样一来调试程序太麻烦。M文件为这种编辑运行程序过程提供了方便。

在 MATLAB系统中,根据功能可将MATLAB系统所使用的外部文件分成几类,并用不同的扩展名作为标识。

(1) M文件以字母m为扩展名,一般为ASCII码文本文件,可以用任何文本编辑器进行编辑。

(2) MAT文件是MATLAB系统的二进制数据文件,用于保存MATLAB系统所使用的数据。

(3) MEX文件是经过MATLAB编译系统编译的函数二进制可执行文件, 可直接调入MATLAB系统中运行,运行速度比M文件快得多,所以常把已经调试好且比较大的M文件编译成MEX文件,供以后使用。M文件又分为程序M文件和函数M文件。下面简要介绍实验过程中要用到的程序M文件的编辑与运行方法。

如前述,M文件为ASCII文本文件,可以用任何文本编辑器进行编辑。本节只介

搜索更多关于: 《数字信号处理》实验指导书 的文档
《数字信号处理》实验指导书.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4juse9nbqu0n19a8hrgx9da6a52gca00gzw_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top