基于LabVIEW的双线程模式自适应相干模板法的实现

2011-07-25 00:34薛艳博尤一鸣
网络安全与数据管理 2011年18期
关键词:工频队列滤波器

薛艳博,尤一鸣,熊 慧

(天津工业大学 电气工程与自动化学院,天津300160)

随着具有高速运算能力及灵活的界面显示特性的虚拟仪器的迅速发展,数字滤波技术成为采集系统中一种简化电路及降低成本的重要手段[1]。

采集系统中,工频干扰是影响信号检测质量的主要因素之一。在数字滤波技术领域,常用的工频干扰滤除算法有陷波滤波法、工频干扰回归相减消除法(Regress-Subtraction)、自适应滤波法等[2]。参考文献[3]提出的自适应相干模板法是一种有效滤除工频干扰的算法,该算法以加法和减法为主,运算效率较高,可通过合理选择采样频率来确定带阻滤波器的中心频率,通过改变模板长度,实现滤波器带宽的调整[3]。但是在多数采集系统中,由于工频干扰的频率是不断变化的,导致该算法在有效滤除工频干扰的同时,不能保证滤波器较好的低频特性。为此参考文献[4]提出了一种改进算法——简化FFT可跟踪工频干扰的自适应相干模板法,该算法通过跟踪工频干扰频率的变化,不断微调滤波器带阻中心频率,从而使滤波器同时具备了良好的低频特性和工频抑制特性。但是该算法能否达到良好的滤波效果,关键在于能否准确实时跟踪工频干扰频率的变化,例如在有些工频干扰频率变化较快的采集系统中,该算法滤波效果会明显变差。本文提出了一种基于LabVIEW的双线程模式跟踪工频干扰的自适应相干模板法,即工频干扰的跟踪和滤除分别采用独立线程,线程之间采用通知器进行协调。从而保证即使在工频干扰变化较快的采集系统中,也能同时完成对工频干扰的实时跟踪和高速有效的滤除。

1 自适应相干模板算法基本原理分析

自适应相干模板法根据原始信号的相干特点,从原始信号中得到工频干扰的模板,再减去该模板,从而实现工频干扰的滤除。

设X(n)为原始信号,S(n)为有用信号,N(n)为工频干扰信号,则X(n)=S(n)+N(n),定义模板信号为:

式中,fS为采样频率;fg为周期性干扰频率。对于自适应模板法,要求fS为fg的整数倍,即若工频干扰fg为50 Hz,则要求 fS=L×fg,L为整数。 由于 N(n)为周期信号,若S(n)为零均值信号,当M足够大时:

将式(2)代人式(1)中,可得:

由 X(n)=S(n)+N(n)可知,从 X(n)中减去模板信号M(n)可得到S(n),达到滤除工频干扰的目的。即:

对式(4)作Z变换,可得到对应的系统传递函数为:

令z=ejω,得到其对应的频域表达式为:

式(6)可以看作是一全通滤波器减去带通滤波器的形式,带通滤波器幅频响应由 sin(LMω)/(sin(Lω))决定,其分子项周期较短,随ω变化而迅速变化,形成了高速抖动的波纹,并决定了滤波器的陷波带宽,与之相比分母周期较长,变化缓慢,决定了通带的位置。图1为在不同M值时系统的幅频响应特性。

由图1可知,M值较大时,通频带的纹波系数较小,阻带宽度也较窄,即系统幅频特性较好。但在实际设计滤波器过程中,当M值大到超过某一值时,工频干扰的滤波效果反而会变差,原因在于工频干扰并非为理想的50 Hz,而是具有一定频率变化范围(49.5 Hz~50.5 Hz)[3]。 所以在有效滤除工频干扰的同时,要保证滤波器具有足够低的低端截止频率,就必须对原算法进行改进。

由式(6)可知:滤波器带阻中心频率只跟L有关,所以可通过FFT跟踪工频干扰频率的变化来实时调整滤波器陷波中心频率,以达到同时滤除工频干扰和基线漂移的效果。图2为在微调采样频率时系统的幅频特性。

2 自适应相干模板法在LabVIEW上的实现

根据上述算法原理,改进后的算法实现主要包括滤波器带阻中心频率的微调和工频干扰滤除两部分内容,在LabVIEW上实现可采用双线程同时运行两部分程序,线程之间通过事件通知控件进行协调和同步。这样可以在提高程序运行效率的同时,实现快速实时跟踪和滤除工频干扰的目的。

2.1 滤波器陷波中心频率微调

滤波器带阻中心频率主要根据FFT提取工频干扰频率的变化来微调,程序流程如图3所示。首先预设一个采样频率fS,采集N个信号数据,通过FFT提取信号数据中工频干扰频率分量对应的频谱位置。然后假设预估计工频干扰频率为 f,则由式 N×f/fS求得频率 f对应频谱线的位置。最后将当前工频频谱位置和预估计工频频谱位置做差,并以此来调节采样频率。

FFT提取工频干扰分量在LabVIEW上的实现主要有两种方法,一种是直接使用FFT功率谱测量控件,该方法运算时间较长、效率较低;另一种方法是通过调用Mathscriot节点编程实现,该方法在实现过程中,可采用简化FFT算法实现工频分量的提取[3],大大降低了程序运算量。所以,本文选取后者来实现对工频分量的实时提取。

2.2 工频干扰滤除

工频干扰滤除程序包括建立工频模板、滤除工频干扰、修改工频干扰模板三步。为了达到快速、连续滤波的目的,需实时修改工频干扰模板,在LabVIEW实现过程中可采用逐点队列控件,通过合理设置队列长度,利用队列进栈和出栈进行模板快速修改。

假设采样频率fS为200 Hz,则 L值为4,即在一个工频干扰周期内有4个采样值。图4为工频干扰滤除的程序。

其中长度为3的逐点队列用于工频模板存放,反馈节点用于出栈数据的存放和累加。长度为1 024的逐点队列用于原始采集数据的存放。程序运行过程如下:

(1)工频模板建立:当采样点数达到1 024个时,工频模板队列及反馈节点中的存储正好为根据mod(n/4)(n=0,l,2,…,l 023)取值经过 256 次叠加的数据,即为初始工频模板。

(4)实现整个信号工频干扰滤除:重复(2)~(3)即可完成对整个信号的工频干扰滤除。

3 采集系统设计

采集系统主要包括前置放大及滤波电路模块、A/D模块、MCU模块、上位机模块。系统框图如图5所示。

其中A/D模块采用高性能Σ-Δ模数转换器AD7760,其为综合增量调制编码 Σ-Δ型转换器,不仅具有很高的精度(可高达24 bit),而且还具有很高的速度(高达2.5 MS/s)和宽的输入带宽,广泛地应用于高精度高速率的数据采集系统。

MCU采用飞思卡尔32位单片机MCF51QE128。为了进一步提高A/D精度,采用了过采样技术,提高了4 bit精度,算法原理在参考文献已有详细说明,在此不再赘述[5]。另外由于串口传输速率有限,在下位机进行下抽样,然后通过串口传输到上位机。

4 试验结果

为了测试算法对工频干扰的滤除效果,对频率为20 Hz、幅值为200 μV的正弦信号进行采集试验。结果如图6所示。图6(a)为未采用自适应相干模板法的波形图及幅频图,图6(b)为经过自适应相干模板法处理后的波形图和幅频图。

跟踪工频干扰的自适应相干模板法能够在有效滤除工频干扰的同时,保证滤波器具有良好的低频特性,但是在工频干扰频率变化较快时,工频跟踪实时性变差,从而导致滤波效果变差。为此,本文通过在LabVIEW上采用双线程模式,同时实现了工频干扰的快速实时跟踪和滤除。通过对采集频率20 Hz、幅值 200 μV的正弦信号进行试验,结果证明,即使在工频干扰频率变化较快时,也能快速、实时地实现滤波且滤除效果很明显。

[1]Wang Sanxiu,Jiang Shengtao.Removal of power line interference of ECG signal based on independent component analysis[C].2009 First International Workshop on Education Technology and Computer Science,2009:328-330.

[2]王兵,王魁,梁晓霖,等.脑电信号中工频干扰去除的综合研究[J].传感技术学报,2010,23(1):87-92.

[3]LI G,LI L,YU Q.A new algorithm of adaptive coherent modelfor removal of power-line interference[J].Chinese Journal of Biomedical Engineering,l997,16(3):281.

[4]于超,李刚,林凌.基于简化 FFT可跟踪工频干扰的自适应相干模板法的实现[J].生物医学工程学杂志,2007,24(4):780-784.

[5]李刚,张丽君,林凌,等.利用过采样技术提高 ADC测量微弱信号时的分辨率[J].纳米技术与精密工程,2009,7(1):71-76.

猜你喜欢
工频队列滤波器
队列里的小秘密
基于多队列切换的SDN拥塞控制*
从滤波器理解卷积
在队列里
开关电源EMI滤波器的应用方法探讨
丰田加速驶入自动驾驶队列
浅析工频过电压故障研究
浅议交流工频耐压试验
基于Canny振荡抑制准则的改进匹配滤波器
柔性石墨接地体与金属接地体工频接地性能对比