基于LabVIEW的虚拟频谱分析仪

  1 引言



  信号处理几乎涉及到所有的工程技术领域,而频谱分析正是信号处理中一个非常重要的分析手段。一般的频谱分析都依靠传统频谱分析仪来完成,价格昂贵,体积庞大,不便于工程技术人员的携带。虚拟频谱分析仪改变了原有频谱分析仪的整体设计思路,用软件代替了硬件。使工程技术人员可以用一部笔记本电脑到现场就可轻松完成信号的采集、处理及频谱分析。



2 分析仪的一般分析功能



  2.1 时间域分析



  时间域(时域)分析是最直观也是第一步的分析。从时域分析中既可做出一些原始判断,又可确定进一步分析的方向和目标。



  2.2 幅值域分析



  幅值域分析一般用直方图表示。



  2.3 频率域分析之一——频谱分析



  将时域信号变换成频域信号再分析称为频谱分析。由于时域信号分为连续信号和离散信号,连续信号又可分为绝对可积、平方可积和均方可积;离散信号又可分为绝对可和、科方可和和均方可和,故对应的频谱也可分为多种。



  2.4 频率域分析之二——频响函数



  频率响应函数FRF(Frequency Response Function)是分析仪最常用的分析功能,它可作为原始数据提供给应用者作模态分析或在曲线拟合时使用。



  以上功能其原理及分析均较简单,限于篇幅,本文不作详细阐述。



3 分析仪的特殊分析功能



  3.1 倒频谱分析



  输入x(t)和输出y(t)的关系用公式y(t)=x(t)×h(t)表示。系统自然也包括传递途径,此时x(t)为信号源(振源或声源〉,h(t)为路径特性,y(t)为传递后失真的信号,失真包括衰减、频散、反射和回波等。



  倒频谱在力学、声学等各方面得到以下应用:



  1)把信号源和路径分离,得到信号源原始波和路径特性(例如传递路径的长度),有多个传递路径时还能加以区分。


  2)去除回波或回声。带多次回波的原始信号可理解为原始信号与一系列δ函数卷积,当传递路径较近时,回波与原始波形叠加,混淆了原始波形的形状,利用倒频谱可去掉回波。


  3)把复杂的频谱中各种信频分开。例如某种机器有两个不同转速的轴产生了两个不同的基频和大量倍频。设f1=30Hz,f2=31Hz,则谱图中将出现频率为30,31,60,62,90,93,...一大堆波峰,利用倒频谱就可将它们清晰地分离开来。同理,倒频谱也可分离各种边带频率。



  3.2 希尔伯特变换



  希尔伯特变换又简称希氏变换在信号的包络检测、系统的非线性分析、相关分析等方面都有重要的用途。希氏变换将信号从时域变到时域,或从频域变到频域,以时域变换为例,公式为:







时域单边信号,傅立叶谱的实部和虚部互为希氏变换。渐近稳定的LTI(线性非时变)系统,其单位脉响函数h(t)为绝对可积的单边函数,其傅立叶变换即频响函数的实部和虚部Rr[H(f)]和Im[H(f)]互为频域希氏变换。利用这个特性可以判断系统是否存在非线性。求出频响函数后,对其实部(或虚部)作希氏变换再与实测的虚部(或实部)做重叠比较,如两者有差异,则为非线性,差异越大,非线性越严重。



4 分析仪的辅助功能



  4.1 加窗



  时域加窗可减少泄漏,频域加窗可去除波形中毛刺(平滑),本文只介绍分析仪一些时域窗的功能,它除用于减少泄漏还有其他用途,加窗可加矩形窗,海窗、平顶窗、力窗和指数窗等,注意每种窗都是既有优点、又有缺点。



  4.1.1 矩形窗(也叫均匀窗、不加窗)它的功能仅为以采样时间为窗长度截断原始信号,它的泄漏较大,仅用于无泄漏场合。



  4.1.2 海窗 用于减少泄漏,缺点在于频域主瓣比矩形窗主瓣宽,确定峰值频率时误差较大。加海窗会降低峰值高度。



  4.1.3 平顶窗 平顶窗主要用于提高分析仪的幅值读数精度。输入一个峰值已知的正弦波,用平顶窗在频域读数,就可发现它的读数最接近于真正峰值。



  4.1.4 力窗和指数窗 用于瞬态测试中的锤击法,力窗去掉脉冲力持续时间以外的噪声,指数窗可使小自尼系统采样结束时尚未衰减完的响应变零以避免撞漏,它也对响应大处加大权,响应小处加小权以提高情噪比。



  4.2 平均



  平均的目的在于:


  1)随机噪声污染的确定性信号,通过平均提高倍噪比。


  2)对纯随机信号,通过平均提高置信度。



5 系统设计与编程



  5.1 系统主界面



  系统主界面如图1所示。






图1 主界面图



  5.2 虚拟频谱分析仪的功能框图



  图2为分析仪仪器框图。






图2 分析仪的分析功能



  5.3 系统编程



  本程序是在LabVIEW平台上设计编制的,由于改进傅立叶变换的算法很多,用LabVIEW中的数学运算模块完成比较繁杂,而现在如VC++,MATLAB等高级语言更适于编制复杂运算方法,运算更快,效果更理想。要想达到这个目的,必定要在LabVIEW中调用某种高级编程语言。图3为频谱分析模块程序图。






图3 频谱分析仪总程序框图


摘自《仪器仪表学报第3期增刊》

   

微信扫描分享本文到朋友圈
扫码关注5G通信官方公众号,免费领取以下5G精品资料
  • 1、回复“YD5GAI”免费领取《中国移动:5G网络AI应用典型场景技术解决方案白皮书
  • 2、回复“5G6G”免费领取《5G_6G毫米波测试技术白皮书-2022_03-21
  • 3、回复“YD6G”免费领取《中国移动:6G至简无线接入网白皮书
  • 4、回复“LTBPS”免费领取《《中国联通5G终端白皮书》
  • 5、回复“ZGDX”免费领取《中国电信5GNTN技术白皮书
  • 6、回复“TXSB”免费领取《通信设备安装工程施工工艺图解
  • 7、回复“YDSL”免费领取《中国移动算力并网白皮书
  • 8、回复“5GX3”免费领取《R1623501-g605G的系统架构1
  • 本周热点本月热点

     

      最热通信招聘

      最新招聘信息

    最新技术文章

    最新论坛贴子