基于LabVIEW - 8.5 - 的数字滤波器的设计

更新时间:2024-01-07 15:16:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于LabVIEW 8.5 的数字滤波器的设计

广东药学院 医药信息工程学院 生物医学工程05

作者:梁刚毅 指导老师:李洪波

一 相关技术指标

数字滤波器的相关技术指标主要有:采样频率(fs)、通带截止频率、阻带截止频率、带宽、通带允许的最大衰减(Ap)、阻带应达到的最小衰减(As)、阶数(N)、波纹等。因为本设计并不是针对某种信号而设,所以各个技术指标的设定需要以具体的输入信号为依据。

在采样频率与各个截止频率的设定中我们主要是要满足奈奎斯特(Nyquist)定理,即:采样定理。

信号采样定理指出,只要采样频率是信号最高频率的两倍以上就可以根据离散的、等分的样本还原一个时域连续的信号。即:当采样频率fs大于或者等于信号中的最高频率fmax的2倍时(fs≥2fmax),则采样之后的数字信号完整地保留了原始信号中的信息,一般取2.56-4倍的信号最大频率。

数字滤波器为低通(Lowpass)和高通(Highpass)类型时,数字滤波器的低截止频率(Low cutoff freg:fl)必须要满足Nyquist准则。根据采样定理,最低采样频率必须是信号频率的两倍。反过来说,如果给定了采样频率,那么能够正确显示信号而不发生畸变的最大频率叫做奈奎斯特频率,它是采样频率的一半,所以0<fl<0.5fs 。如果数字滤波器为带通(Bandpass)和带阻(Bandstop)类型时,则要满足:0<fl<fh<0.5fs (fh:高截止频率)。 通带允许的最大衰减(通带衰减)和阻带应达到的最小衰减(阻带衰减)的计算就以公式(2.1)和(2.2)为依据。

H(e)Ap=20lgH(ejωpjo=-20lgH(e)jωp)(dB) (2.1)

H(e)As=20lgH(e

jωpjo=-20H(e)jωs)(dB) (2.2)

阶数(N)的计算如公式(2.3):

lg([10N=Ap/10As/10-1)/(10ωp2lg()ωs-1)] (2.3)

(注:N应向上取整)

由于以上的计算都比较复杂,所以在实际应用中,通常都是以 MATLAB 进行计算。

二 开发环境

本设计是以LabVIEW 8.5 简体中文版为设计平台对数字滤波器进行了实验性的设计与

仿真。

LabVIEW(Laboratory Virtual Instrument Engineering Work-bench)即实验室虚拟仪器工程平台,是由美国国家仪器NI(Na-tional Instrument)公司推出的世界上第一个采用图形化编程技术的面向仪器的32位编译型程序开发系统。它的目标就是简化程序的开发工作,提高编程效率。是目前应用范围最广,功能最为强大的虚拟仪器平台。LabVIEW的高级软件库具有强大的数据处理能力,包括信号的产生、数据信号处理、测量、数据滤波、概率统计、线性代数、曲线拟合、数值分析等多种软件分析功能。LabVIEW使用可视化技术建立人机界面,提供了许多仪器面板中的控制对象,如表头、旋钮、开关及坐标平面图等。由于虚拟仪器的测试功能、面板控件都实现了软件化,任何使用者都可通过修改虚拟仪器的软件来改变它的功能和规模,这充分体现了软件就是仪器的设计思想。

LabVIEW的运行机制从宏观上讲已经不再是传统上的冯·诺伊曼计算机体系结构的执行方式了。传统的计算机语言(如C)中的顺序执行结构在LabVIEW中被并行机制所代替。从本质上讲,它是一种带有图形控制流结构的数据流模式(DataFlow Mode),这种方式确保了程序中的函数节点(FunctionNode)只有在获得它的全部数据后才能够被执行。也就是说,在这种数据流程序的概念中,程序的执行是数据驱动的,它不受操作系统、计算机等因素的影。LabVIEW支持多种操作系统平台,在任何—个平台上开发的LabVIEW应用程序可直接移植到其它平台上。

三 虚拟滤波器的设计

1 数字滤波器简介

数字滤波是数字信号分析中重要的组成部分。数字滤波器是在现代数字采样和信号处理技术基础上发展起来的。数字滤波器可以用各种编程软件编写而成,具有稳定性高,不会因温度、湿度的影响而产生误差,不需要精度组件,性价比高等优点。数字滤波是数字信号处理基本内容之一。其本质就是对离散的数字量进行适当的运算处理,从频率域实现信号分离的功能。与模拟滤波器相比,数字滤波器具有准确度高、稳定性好、系统函数容易改变等许多优点。此外,数字滤波器不存在阻抗匹配问题,便于大规模集成,还可以实现多维滤波。因此,数字滤波器在工程中得到广泛的应用。

根据频率特性的不同,数字滤波器分为高通、低通、带通和带阻四种类型;按冲激响应的宽度,数字滤波器又可分为有限冲激响应滤波器(FIR)和无限冲激响应滤波器(IIR)两大类。FIR滤波器系统总是稳定的、易于实现线性相位、允许设计多通带或多阻带滤波器。IIR滤波器则可以用较低的阶数获得较高的选择性,在相同门级规模和相同时钟速度下可以提供更好的带外衰减特性。

2 数字滤波器的基本原理

数字滤波器(digital filter)是由数字乘法器、加法器和延时单元组成的一种装置。其功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。由于电子计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。数字滤波器是一个离 散时间系统(按预定的算法,将输入离散时间信号转换为所要求的输出离散时间信号的特定功能装置)。

jw

我们通常用的数字滤波器一般属于选频滤波器。假设数字滤波器的传输函数H(e)用下式表示:

H(e)=

j ωH(e)e- 2 -

j ωj Q(ω) (4.1)

式(4.1)中,| H(ejWw)|称为幅频特性,Q(w)称为相频特性。幅频特性表示信号通过该滤波器后各频率成分衰减情况,而相频特性反映各频率成分通过滤波器后在时间上的延时情况。

(1) FIR滤波器的基本原理

FIR滤波器是数字滤波器的一种,它的输出y(n)可以表示为:

n-1y(n)=∑h(i)x(n-i) (4.2)

i=0式(4.2)中,N是FIR滤波器的抽头数;x(i)表示第i时刻的输入样本;h(i)是FIR滤波

器的第i级抽头系数。因此,系统函数为:

H(Z)=∑h(n)Zn=0n-1-n (4.3)

-1

由于FIR滤波器的单位脉冲响应h(n)是一个有限长序列, H(Z) 是 Z的(N-1)次多项式,它在Z平面上有(N-1)个零点,同时在原点有(N-1)阶重极点。因此,H(Z) 永

jW

远稳定。FIR滤波器设计的任务是选择有限长度的h(n),使传输函数H(e)满足一定的幅度特性和线性相位要求。

一个截止频率为ωc(rad/s)的理想数字低通滤波器,其传递函数Hd(e)表达式是:

?jwa?,|w|?wc?e)=? (4.4)

??0,wc?w?πjW

Hd(ejw相应的单位取样响应hd(n)为:

hd(n)??2π1wc?wce?jwaejwndw?sin(wc(n?a))π(n-a) (4.5)

因为冲激响应具有无限性和因果性。为了产生有限长度的冲激响应函数,我们取样响

应为h(n),长度为N,其系数函数为H(z):

H(z)=∑h(n)zn=0N-1-n (4.6)

jw另外, Hd(e)是一个以2π为周期的函数,可以展开为傅氏级数,即:

?He(e)?jw?n???hd(n)e?jwn (4.7)

- 3 -

FIR滤波器就是根据要求找到有限个傅氏级数系数,以有限项傅氏级数去近似无限项傅氏级数,这样在一些频率不连续点附近会引起较大的误差,这种误差效果就是截断效应。为减少这一效应可用窗函数法,所以窗函数法也叫傅氏级数法。显然,选取傅氏级数的项数越多,引起的误差就越少,但项数增多即h(n)长度增加也使成本加大,应在满足技术要求的条件下尽量减少h(n)的长度。 RN(n)对无限长度列起截断作用, RN(n)也可以看作是一个窗, h(n)则是从窗口看到的一段hd(n)序列,即:

h(n)=h(n)RN(n) (4.8) d式(4.8)中RN(n)为窗函数,长度为N。当τ=(N-1)/2时,截取的一段h(n)对(N-1)/2对

称,可保证所设计的滤波器具有线性相位。

(2) 切比雪夫滤波器的基本原理

切比雪夫滤波器是在通带或阻带上频率响应幅度等波纹波动的滤波器。在通带波动的为“I型切比雪夫滤波器”,在阻带波动的为“II型切比雪夫滤波器”。切比雪夫滤波器在过渡带比巴特沃斯滤波器的衰减快,但频率响应的幅频特性不如后者平坦。切比雪夫滤波器和理想滤波器的频率响应曲线之间的误差最小,但是在通频带内存在幅度波动。

这种滤波器来自切比雪夫多项式,因此得名。巴特沃兹滤波器在通带内幅度特性是单调下降的,如果阶次一定,则在靠近截止Ωc处,幅度下降很多,或者说,为了使通带内的衰减足够小,需要的阶次N很高,为了克服这一缺点,采用切比雪夫多项式来逼近所希望的|Ha(jΩ)|2。切比雪夫滤波器的|Ha(jΩ)|2在通带范围内是等幅起伏的,所以在同样的通常内衰减要求下,其阶数较巴特沃兹滤波器要小。

切比雪夫滤波器的振幅平方函数为:

(4.9)

(3) 巴特沃斯滤波器的基本原理

巴特沃斯滤波器是电子滤波器的一种。巴特沃斯滤波器的特点是通频带的频率响应曲线最平滑。这种滤波器最先由英国工程师斯替芬·巴特沃斯(Stephen Butterworth)在1930年发表在英国《无线电工程》期刊的一篇论文中提出的。

巴特沃斯滤波器的特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零。 在振幅的对数对角频率的波得图上,从某一边界角频率开始,振幅随着角频率的增加而逐步减少,趋向负无穷大。

巴特沃斯滤波器的幅度平方函数|Ha(jΩ)|2 用下式表示:

21Ω1+(ΩcH(jΩ)=a (4.10) )2N3 FFT功率谱的基本原理

功率谱估计是数字信号处理的主要内容之一,主要研究信号在频域中的各种特征,目

的是根据有限数据在频域内提取被淹没在噪声中的有用信号。

- 4 -

周期运动在功率谱中对应尖锋,混沌的特征是谱中出现“噪声背景”和宽锋。它是研究系统从分岔走向混沌的重要方法。在很多实际问题中(尤其是对非线性电路的研究)常常只给出观测到的离散的时间序列X1,X2,X3,...Xn,为了从这些时间序列中提取四种吸引子(零维不动点、一维极限环、二维环面、奇怪吸引子)的不同状态的信息,我们可以运用数学上已经严格证明的结论,即拟合。我们将N个采样值加上周期条件Xn+i=Xi,则自关联函数(即离散卷积),为以后对Cj完成离散傅氏变换,计算傅氏系数。Pk说明第k个频率分量对Xi的贡献,这就是功率谱的定义。当采用快速傅氏变换算法后,可直接由Xi作快速傅氏变换,得到系数,然后计算,由许多组 { Xi } 得一批 { Pk' },求平均后即趋近前面定义的功率谱Pk 。考虑到实际计算中,数据只能取有限个,谱也总以有限分辨度表示出来,从物理实验和数值计算的角度看,一个周期十分长的解和一个混沌解是难于区分的,这也正是功率谱研究的主要弊端。

4 设计思路

图4.1 数字滤波器后面板总体设计

如图4.1所示,在数字滤波器后面板的总体设计中,加入了循环、条件选择、局部变量调用等多种编程的思想。除了能体现G语言可视化编程的特点以外,还实现了本设计输出波形的动态显示效果和数字滤波器的多功能、多选择的特点。

本设计主要的功能模块有三个,分别是:信号读取与输出部分、数字滤波器部分和FFT功率频谱分析部分,通过对数组类型的转换而相互连接。

图4.2是数字滤波器总体设计思路的框架图。从图中可以看出各个类型的数组间的转换关系与波形图输出的关系。因为滤波器、FFT功率频谱分析和波形图显示对数组类型的要求都有所不同,所以只有通过对数组类型进行转换和整合,才能使数字滤波器的各个功能得到有效的实现。

- 5 -

文本文档数据 读取,转化 FFT功率频谱分析 二维数组 转化 动态数组 显示 波形 滤波 显示 过滤后的二维数组 过滤后的波形 FFT功率频谱分析 频谱分析后的数组(原始) 频谱分析后的数组(过滤后) 数组整合 多维数组 显示 频谱分析后的两条曲线波形

图4.2 数字滤波器总体设计思路框架图

(1) 信号读取与输出部分的设计

信号的读取与输出部分在整个数字滤波器的设计中是一个关键的部分,因为它控制了整个滤波器的循环。在算法上也是最复杂的,应用到了循环语句和条件语句。这一部分除了控制输入信号的数组类型以外,还根据了原始信号元素的数量对整个滤波器的循环进行了控制。同时通过条件语句,以采样点数的多少对输出波形图进行了调控,使输出的波形实现了动态的效果。

图4.3信号的读取与输出部分的设计思路框架图。

- 6 -

文本文档数据 采样点数 读取 二维数组 输入 当前循环次数(i)≥采样点数 转换 一维数组 Y N 统计 元素个数 Xmin = i – 采样点数 Xmax = i + 1 Xmin = 0 Xmax = 采样点数 寄存 循环执行次数(N) 转换 动态数组 i < N Y N 确定X坐标数值的范围 整合,显示 执行循环 终止循环 波形图

图4.3 信号读取与输出的设计思路框架图

为了实现循环,所以必须对原始信号的元素个数进行统计,由统计的结果来决定循环执行的总次数。同时加入了采样点数与当前循环次数(i)的比较作为条件,并且把两个不

同算法(当i≥采样点数时,Xmin = i – 采样点数,Xmax = i + 1;当i≤采样点数时,Xmin = 0,Xmax = 采样点数)的结果寄存在输出波形图的X坐标的最小值与最大值这两个属性当中,用于确定X坐标数值的范围。通过对各个数组波形和X坐标数值范围的整合就能实现波形图连续动态的效果。

(2) 滤波器部分的设计

滤波器部分是整个设计的主要功能部分。为了实现多种滤波器的选择和窗体函数的选择,所以这部分的设计涉及了双重条件选择语句。如图4.4所示,第一层条件选择语句用于选择FIR加窗滤波器、切比雪夫滤波器和巴特沃斯滤波器这三种不同的滤波器;第二层条件选择语句用于选择FIR加窗滤波器的11个不同的窗函数。

- 7 -

二维数组 滤波器选择 窗体选择 汉宁窗 海明窗 三角窗 其他窗体 加窗后的二维数FIR滤波器 切比雪夫滤波器 巴特沃斯滤波器 过滤后的二维数组,显示 波形图

图4.4 滤波器设计思路框架图

(3) FFT功率谱部分的设计

FFT功率谱是为了对原始信号和滤波后的信号进行有效的对比和分析从而反馈调节数字滤波器的各个参数。设计的思路如图4.5所示,通过窗体函数的选择令FFT功率谱输出的波形图变得平滑和有一定的规律。对经过频谱分析的原始信号和滤波后信号这两个二维数组进行整合,并且显示出一个有两条曲线的波形图。这样就可以更好地对滤波前和滤波后的信号进行对比。通过这个对比可以有效地判断滤波器对信号的过滤效果。

- 8 -

二维数组(原始) 二维数组(过滤后) 窗体选择 汉宁窗 海明窗三角窗其他窗体加窗后的二维数组(原始) 加窗后的二维数组(过滤后) FFT功率频谱分析 FFT功率频谱分析 连线数据类型数组(原始) 连线数据类型数组(过滤后) 数组整合 多维数组 显示 频谱分析后的两条曲线波形

图4.5 FFT功率频谱分析设计思路框架图

(4) 辅助功能部分的设计

图4.6 原始信号的频率测量 图4.7 错误警报

图4.8 时间延迟

- 9 -

如图4.6~4.8所示,辅助功能部分包括了:原始信号的频率测量、错误警报和时间延迟。

a. 原始信号的频率测量

通过“单频测量”模块可以对原始信号的瞬时频率进行测量,但由于实验室中采集的原始信号是以0.01S为一个采样点,所以必须要把“单频测量”模块中输出的原始信号的瞬时频率乘以100才能换算为以Hz为单位的频率。当然我们在实际的操作中必须要根据不同的原始信号的采样点的时间单位去进行换算。

b. 错误警报

错误警报是由一个与滤波器系数模块中“错误”输出相连的“数值对比”模块和一个警报灯组成。从LabVIEW 8.5的错误代码列表中可以查找到除了“0”以外的其他代码均表示错误,而信号处理部分的错误代码主要集中在 -20119 ~ -20001之间。但是为了整个设计的严谨性,所以在“数值对比”模块中设置为“≠0”,也就是说当代码输出不为“0”时,就会有信号输入到警报灯,使其变成红色。

c. 时间延迟

通过“时间延迟”模块和输入控键对采样点之间的时间间隔进行调整。

d. 局部变量的调用

因为在本设计中涉及了循环、条件等多个不同的语句,为了避免调控键之间的冲突,所以所有的调控键均以局部变量的形式出现。

5 前面板的设计

图4.9 数字滤波器前面板总体设计

- 10 -

本设计的前面板是由主体的显示部分、数字滤波器的参数调控部分和辅助功能部分这三部分组成。

显示部分是显示三个不同的波形图,分别是“原始信号波形”、“过滤后信号波形”和“FFT功率频谱”用于显示三个不同的波形以便对信号进行分析。

参数调控部分是以选项卡、旋钮和文本下拉列表为主。通过选项卡可以选择“FIR加窗滤波器”、“切比雪夫滤波器”和“巴特沃斯滤波器”这三种不同的滤波器。各个参数调控键也会因应不同的滤波器而发生相应的变化。

其余的调控键包括有:“FFT功率频谱窗体”、“延迟时间(s)”和“采样点数”。

辅助功能包括有:“文件输入”、“错误警报”和“原始信号频率(Hz)”。

四 功能演示及实验结果分析

在实际的操作中,用户除了调节各个参数时要满足Nyquist准则以外,还要根据具体的原始信号对滤波器的种类、类型和参数进行选择和调节,才能使滤波后的信号得到理想的效果。

1 对脉搏信号进行滤波处理及其结果分析

如图5.1所示:是一位同学在运动后测出的原始脉搏信号波形,图中采样点为200个,即时间长度为2S 。

图5.1 运动后的原始脉搏信号波形

由频率测量得到原始信号的最高频率为 50.1718 Hz 。由采样定理得到:当采样频率大于或等于2倍的原始信号最高频率时,采样之后的数字信号完整地保留了原始信号中的信息,试验中以2.56~4 倍为佳。所以根据图5.1的原始信号最高频率,从而确定采样频率:

fs≈3fmax

所以fs就选定为 150Hz 。

再由图5.1得到该信号的噪声主要出现在高频带,所以滤波器的类型选择低通。 因为该同学的脉搏从搏动到平服的时间间隔约为5个采样点,即:0.05S 。所以该信号的低频带为:

1/0.05=20(Hz)

因此滤波器的低截止频率选定为:20Hz 。

- 11 -

根据以上系数设置FIR加窗滤波器,经过滤后的信号波形如图5.2所示。

图5.2 经过滤后的脉搏信号波形

图5.3 FFT功率频谱分析

如图5.3 FFT功率频谱分析所示:由15~20Hz为界,信号的低频带得到了保留,而高频带(噪声)就被有效的过滤,而且由图两条曲线可以看到滤波后的波形没有较大程度的失真。

- 12 -

2 对心电信号进行滤波处理及其结果分析

如图5.4所示:是一位同学的原始心电信号波形,图中采样点为150个,即时间长度为1.5S 。

图5.4 原始心电信号波形

作为一个心电图必须要有清晰的P波(心房除极波)、QRS波群(代表左右心室肌除极时的电位和时间的变化)和T波(心室复极时的电位)。但是从图5.4原始心电信号波形中就能看到P波和T波都被噪声所覆盖,因而无法清晰地显示。

在本次实验中选用了巴特沃斯低通滤波器。

因为fmax = 49.9806Hz ,所以采样频率就设定为150Hz 。

通过测量、计算得到QRS波群的平均时间长度为0.08S ,所以高截止频率就设定为12.5Hz 。

根据公式(2.1)、(2.2)、(2.3)可以计算出滤波器的最小阶数为2(即:N=2)。 根据以上系数设置巴特沃斯低通,经过滤后的信号波形如图5.5所示。

图5.5 经过滤后的心电信号波形

经过滤后的心电信号波形已经就能够清晰地判断出心电图的特性波形(P波、QRS波群和T波)。

- 13 -

五 总结

通过本次课题设计,虚拟数字滤波器的各项功能得到了充分的实现。在各个原理的指导下,经过了反复的实验和测试,验证了基于LabVIEW 8.5 简体中文版设计的数字滤波器的各项性能。从对生理信号的处理实验中可以得知,只要对原始信号进行合理的分析,并根据其分析结果对滤波器的各项技术指标进行合理的调节,就能得到理想的滤波效果。

- 14 -

参考文献

1. 丁玉美,高西全.数字信号处理[M],第二版.西安:西安电子科技大学出版社,2000:151~221. 2. 吴大正 等.信号与线性系统分析[M],第4版.北京:高等教育出版社,2005:115~165. 3. 万永革.数字信号处理的MATLAB实现,北京:科学出版社,2007:110~236.

4. 刘会灯,朱飞等.MATLAB编程基础与典型应用,北京:人民邮电出版社,2008:297~347. 5. 苏兴,孙锡红. 基于LabVIEW的FIR数字滤波器设计[J].仪表技术,2005年第3期:58~59. 6. 谢三毛.基于LabVIEW虚拟数字滤波器的设计[J].华东交通大学学报,2005年第22卷第1期:

83~84.

7. 张亚妮.基于MATLAB的数字滤波器设计[J]. 辽宁工程技术大学学报,2005年第24卷第5期:

716~717.

- 15 -

本文来源:https://www.bwwdw.com/article/mp6x.html

Top