>
首页 » 技术文章 » 波谱分析滤波器的算法研究及LabVIEW实现

波谱分析滤波器的算法研究及LabVIEW实现

作者:宋晓梅  时间:2007-04-17 09:55  来源:

摘要:通过对波谱滤波器的分析,提出了波谱滤波器组的优化算法。在LabVIEW环境下对算法进行了仿真,结果表明了该算法的正确性。该算法使运算量大大减少,为设计实际系统提供了依据。

关键词:波谱分析;带通滤波器;算法;LabVIEW

纱条波谱分析是纺织高质量纱线所必需的检测手段。传统的波谱分析是通过用模拟多组滤波器对纱条传感器信号滤波完成的。由于多路滤波器所需硬件复杂,实现波谱分析的电路必然复杂和庞大,可靠性及稳定性都无法保证。随着电子技术的发展,尤其是DSP技术的发展,用数字滤波器来实现波谱分析已成为必然趋势。用DSP来实现多路滤波必须既要保证硬件电路的简捷,又要满足算法的正确性和实时性,所以在有限的DSP资源内如何实现高效的多路滤波器的算法就成为必须研究的核心问题。本文对此问题分析之后,提出一种波谱分析滤波器的优化算法。为验证算法的正确性,将该算法在LabVIEW环境下仿真,用虚拟的波谱分析仪验证了算法的有效性。该虚拟波谱仪通过计算机界面对输入信号设置,得到信号的波谱(频谱),它可用于波谱分析研究,也可作为纺织专业教学和试验。

波谱分析的原理及算法

波谱分析的方法最早是由乌斯特公司提出的。在以后的发展中,乌斯特仪采用的方法逐渐成为行业标准。按照乌斯特仪的要求将波谱分析仪分成55个不同的频段,最高频段为299.525Hz~292.393Hz,最低频段为0.168Hz~0.164Hz,总的频段为300Hz。每个频段的带宽不相同,两个相邻的频段间隔为52倍。所谓波谱是指纱条波长和振幅(直径)的关系,对纱条信号波谱分析实质是频谱分析。让纱条信号同时通过55个带通滤波器,记录各滤波器的输出可得到纱条信号的频谱分布图,这就是纱条频谱,然后转换成波谱输出并显示。这55个频段不同的带通滤波器,频带窄,精度要求高,用模拟器件实现波谱分析困难很大。如果采用数字滤波器,用DSP实现这55个带通滤波器,要花去大量的机时,实时性无法保障且DSP的利用率太低。

分析乌斯特仪对滤波器频段分法的特点,可以发现各滤波器之间的规律,从而实现整个滤波器的优化算法。根据乌斯特仪的标准,各相邻滤波器的频率之比为比如,某个滤波器的频率为f1,频率减小方向下一个滤波器的中心频率为f1×2-1/5,再下一个频率为f1×2-2/5。这样,相邻第5个滤波器的中心频率即为f1×2-1,即每隔5个滤波器频率就变化一倍。由于这样的规律,可以把这55个滤波器每5个分成一组,共分11组,相邻频率组间的频率正好差一倍。根据数字滤波的理论,只需要计算第一组滤波器,第二组滤波器采用重抽样技术对第一组进行1/2重抽样即可实现。第三组滤波器进行1/4重抽样,以后按1/8,1/16,…,1/2n-1规律对第一组进行重抽样,则55个滤波器就可完全实现,如图2所示。


图1 传统算法              


图2 优化算法

按照上述算法该滤波器可以大大节省运算时间。如果按照常规算法首先要设计55个不同的带通滤波器,且带宽要求非常严格。每个滤波器需要计算每个采样点,一次循环要计算55次,对N个采样点则需要N×55次运算。采用优化算法后,只要设计5个不同的带通滤波器(5个最高频率)作为第1~11组的基础滤波器,第一次循环第一组要计算5次。由于采用重抽样,则下一组滤波器只需隔一次计算一次,第三组滤波器只需每4个点计算一次。以此类推,每组滤波器的计算次数都仅仅是前一组滤波器的一半。所以,对N次采样点的计算次数应该为次,优化后的算法次数仅仅是原始算法18‡。由于只设计了5个不同的带通滤波器,降低了滤波器设计的难度,体现了算法的优越性,见图2。

关于此算法有两点需要注意:一是采样频率的选择,二是滤波输出的平滑。

根据采样定理,如果改变采样频率则必须保证滤波器能够正常地工作,也就是说要有足够高的采样频率,否则可能产生混叠,使滤波器无法正常工作,见图3。当采样频率足够高时,由于数字滤波器频谱以采样频率为周期,故各周期间的频谱相互独立,没有混叠。但是当采样频率变小时,频谱周期变短,一旦两个周期之间的频谱发生混叠,滤波器的频率特性就被改变。由于带通滤波器的带宽为300Hz,系统在模拟信号输入时需要采用抗混叠滤波器进行抗混叠处理。在每组滤波器重采样时,也必须进行数字抗混叠处理。由于滤波器实际幅频特性存在过渡带,故采样频率的选择和系统采用的A/D精度有关。比如若A/D为12位,则最高表示精度为2-11,这样就要求滤波器的最小衰减必须大于A/D所表示的最小信号即20log2-11=-66dB。对于四阶滤波器,过渡带以-80dB/10倍频程变化,要保证阻带衰减大于66dB。由图4可算出阻带频率为2500Hz左右,故为避免采样混叠取采样频率为5000Hz。

经过数字滤波器的处理,输入信号经过平滑处理并由不同频段的滤波器输出到显示器,得到纱条信号的频谱。从滤波器的设计来看,以上算法需要设计5个不同的带通滤波器。这里主要关心的是纱条信号的幅频特性,而纱条信号的相频特性对分析其性能影响并不大,所以这5个滤波器可采用阶数较低的IIR滤波器,为保证良好的频率特性亦可选用切比雪夫滤波器。

滤波器的LabVIEW实现

为了验证算法,可利用虚拟仪器技术来实现纱线波谱分析仪。这里用LabVIEW作为软件平台可以实现虚拟的波谱分析仪。如果给计算机配置A/D转换器进行纱条信号的数据采集,用虚拟波谱分析仪就可以实现现场的纱条信号的波谱分析。LabVIEW软件提供了多种可编程软件,其中有各种形式的模拟和数字滤波器。基本滤波器都采用数字化切比雪夫滤波器完成,滤波器的阶数、类型(带通)、采样频率、波纹系数、截止频率等参数可预先设置。图4给出了最高5个带通滤波器的设计,经过第2级的巴特沃什滤波器的平滑和一个切比雪夫抗混叠滤波器,构成滤波器组的子程序VI,主程序由图5确定,该程序由13组(可设11组)相同的滤波器组确定,见图5。程序由输入信号、滤波器组、状态机(确定哪一组工作)、波谱显示器等组成,见图6。


图5 最高5个频段滤波器的子程序(子程序VI)


图6 纱条波谱分析仪的LabVIEW实现的主程序(主程序VI)

在主程序中,对输入信号(纱条信号)采样的最高频率为5000Hz。第一个滤波器组,每个采样数据都会通过;第二个滤波器组,每隔一个采样数据通过,相当于1/2采样频率;第三个滤波器组,每隔3个采样数据通过一次,相当于1/4采样频率,以此类推。采用间隔不同的数据通过不同的滤波器组,实现了不同的采样频率。控制采样数据进入不同的滤波器是由状态机完成的,经过一定的逻辑关系运算产生出一个二进制代码,这个代码的每一位的变化规律对应着前面所讲的变化规律。

将这个二进制代码转换成一个数组的元素,并用每个元素作为每个滤波器组的开关信号,给每组滤波器发出“true”或“false”的指令,确定数据是否通过。最后,所有通过滤波器的数据都由显示器显示出来,不过这时显示出来的是频谱数据,若要显示波谱关系,还需要将频率换算成波长(K=2P/X)。显示器的横坐标必须转化成对数坐标。由于纱条信号的频谱范围为300Hz,要分为55个通道输出,波谱的形状不是连续平滑的而是“烟囱”状的,见图7所示。


图7 纱条波谱分析仪LabVIEW控制面板

仿真结果

根据上述分析和设计,实现了虚拟的波谱分析仪(见图6,7)。在该波谱分析仪中,为测试波谱分析的效果,程序中提供了一个0~300Hz的单频信号源。如果改变信号的频率,则可以看到信号的波长在屏幕上移动。纱条的波谱分布反映了纱条信号的不匀情况和机器运转的状态[1]。但由于乌斯特波谱分析只有55个通道,且已成为同类产品的生产标准,在实际上它并不能完全反映纱条的实际波谱。因为按照乌斯特波谱通道的规定,这55个通道构成的滤波器组实际上是一个梳状滤波器,有许多频率点信号很难通过甚至根本无法通过。这就要求每个带通滤波器的设计应有足够的过渡带,这一点与一般滤波器设计有所不同。由于是生产标准,只能照此执行。该波谱分析仪只要通过A/D转换将实际纱条信号接入计算机,即可得到实时的纱条波谱图,用来进行产品分析。但是,虚拟的波谱分析仪主要用在设备调试时,产品化的波谱分析仪可以通过DSP实现波谱滤波器的算法和控制。

相关推荐

LabVIEW天下会广召天下英雄

NI  LabVIEW  2012-04-16

NI携手FIRST共同推出第二届FTC科技挑战赛

NI  FTC  LabVIEW  2012-03-14

NI与清华大学精密仪器与机械学系共建教学创新基地

NI  LabVIEW  2011-11-23

开发一款用于锥形球磨机的预防性维护监视系统

LabVIEW  传感器  2011-09-21

使用LabVIEW与PXI进行蓝光播放机视频和音频测试

蓝光播放机  LabVIEW  2011-09-13

NIWeek 2011展示NI如何加快工程效率

NI  LabVIEW  2011-09-09
在线研讨会
焦点