网络化虚拟频谱分析仪的设计.docx
- 文档编号:7534702
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:23
- 大小:475.49KB
网络化虚拟频谱分析仪的设计.docx
《网络化虚拟频谱分析仪的设计.docx》由会员分享,可在线阅读,更多相关《网络化虚拟频谱分析仪的设计.docx(23页珍藏版)》请在冰豆网上搜索。
网络化虚拟频谱分析仪的设计
摘要
随着科技的发展,信号处理几乎涉及到所有的工程技术领域,而频谱分析正是信号处理中一个非常重要的分析手段。
频谱分析仪是对无线电信号进行测量的必备手段,是从事电子产品研发、生产、检验的常用工具,应用十分广泛。
本论文就是致力于研究虚拟频谱分析仪的设计,旨在实现虚拟频谱分析仪的远程测控。
通过设计构建了一个基于USB-6251数据采集卡和PC机的虚拟频谱分析仪,在LabVIEW开发环境下编写了数据采集、频谱分析、网络发布、频率测量程序。
该仪器具有频谱分析(包括幅值谱、相位谱、功率谱等)的功能,而且还有通过网络允许远程控制的功能等。
该虚拟频谱分析仪通过数据采集卡将模拟信号采集到计算机内存,然后用FFT对其运算,完成频谱分析,包括幅值谱、相位谱、功率谱,以及频率测量。
最后用DataSocket技术在客户机将各个面板上的控件与本机面板上频谱分析的控件直接建立DS联接即可实现数据共享,或者将频谱分析结果和频率测量结果用DataSocket函数来实现远程测控。
关键词:
虚拟仪器;LabVIEW;频谱分析;FFT;网络化;DataSocket
ABSTRACT
Withthedevelopmentoftechnology,signalprocessing,involvingalmostallengineeringfields,andspectralanalysisisaveryimportantsignalprocessinganalysistools.Spectrumanalyzerisanessentialmeansofmeasuringradiosignals,iscommonlyusedtoolswhichengageinelectronicproductdevelopment,production,test,awiderangeofapplications.
Thispaperisdedicatedtotheresearchdesignofthevirtualspectrumanalyzer,whichisdesignedtoachieveavirtualremotemonitoringandcontrol.
ByaPCbasedonUSB-6251dataacquisitioncard,avirtualspectrumanalyzerisbuiltanddataacquisition,spectrumanalysis,networkpublishing,frequencymeasurementareprogrammedintheLabVIEWdevelopmentenvironment.Theinstrumenthasspectralanalysis(includingtheamplitudespectrum,phasespectrum,powerspectrum,etc.)functions,andalsoallowedremotecontrolfunctionsbythenetwork.
Thevirtualspectrumanalyzerusesthedataacquisitioncardtogettheanalogsignaltothecomputermemory,andthenusesFFTtocalculateit,completethespectrumanalysis,includingtheamplitudespectrum,phasespectrum,powerspectrum.ThentheDStechnologyisappliedtoconnecttheclient’sentirecontrolpanelwiththehost'scontrolpanelonthespectrumanalysis.AtlastDSdatasharingisgottentoestablish,orthespectrumanalysisandfrequencymeasurementresultscanberemotemonitoringandcontrolwithDS.
Keywords:
Virtualinstruments;LabVIEW;FFT;spectrumanalysis;network;DataSocket
摘要
Abstract
2.2虚拟频谱分析仪原理..............................................................................................................5
2.3.3频率测量模块..................................................................................................................8
3.3异地传输数据编程................................................................................................................15
第1章绪论
1.1研究背景
一般的频谱分析都依靠传统频谱分析仪来完成,传统频谱分析仪的硬件电路复杂,生产技术要求较高,价格昂贵,体积庞大,不便于工程技术人员的携带。
但是随着微电子、计算机、网络通信和软件技术的高速发展,一些传统仪器开始向计算机化方向发展,虚拟仪器应运而生[1]。
虚拟仪器可借助PC机强大的计算及处理能力,以软件替代硬件,由用户自定义和扩展功能,用软件代替硬件,使得价格低廉,使用方便,并且应用也十分广泛,利用它工程技术人员可轻松完成现场信号的采集、处理及频谱分析。
然而虚拟仪器技术与网络技术的融合,使虚拟仪器系统更加突破了传统的测量理念,使测量数据得到了真正意义上的共享,使远程测量得以实现[2]。
虚拟仪器在国际上早已进入实用阶段,它能实现基于快速傅里叶变换(FFT)的现代频谱分析仪的功能,采用数据采集卡对输入信号取样,再经FFT处理后获得频谱图,在我国虽然只是刚起步阶段,但发展却十分迅速,在电子测量、物理探伤、电子工程、振动分析、物矿勘测,故障分析及教学科研等方面的数据采集和分析中虚拟仪器已经被广泛应用[3]。
虚拟仪器可以说是21世纪发展的必然趋势,具有极大的市场潜力和应用前景。
1.2本课题的设计要求与论文的主要工作
1.2.1本课题的设计要求
本课题将运用数据采集卡和计算机构建一个虚拟频谱分析仪,软件开发环境采用LabVIEW。
该虚拟频谱分析仪通过数据采集卡将模拟信号采集到计算机内存,然后用FFT对其运算,完成频谱分析,包括幅值谱、相位谱,功率谱等。
该虚拟频谱分析仪还有对周期信号的频率自动测量并加以显示的功能,然后选择一种利于网络发布的方法,使远程频谱分析仪接收的数据误码率少、传输效率高,将有上述功能的虚拟频谱分析仪通过网络进行发布,能让远程计算机控制并使用本地基于计算机的虚拟频谱分析仪。
1.2.2论文的主要工作
通过LabVIEW软件分模块编写虚拟频谱分析仪的程序。
利用USB6251数据采集卡采集信号,经USB上传后,在PC机中利用LabVIEW所构建的虚拟频谱仪,对信号进行分析处理,最后在频谱仪的前面板中显示出信号的频谱特性,然后再利用DATASOCKET的读、写子模块,进行本地数据上传,以及异地数据下载,从而最终实现虚拟频谱仪的远程显示及控制。
图1-1总框架
1.3课题研究工具(LabVIEW)
本课题是基于LabVIEW平台开发完成的,LABVIEW是由美国国家仪器(NI)公司研制开发的,类似于C语言,但是LabVIEW与其他计算机语言的显著区别是:
其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式[4]。
与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。
LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。
LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果,单步执行等等,便于程序的调试。
虚拟仪器(virtualinstrumention)是基于计算机的仪器。
计算机和仪器的密切结合是目前仪器发展的一个重要方向。
粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。
随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。
另一种方式是将仪器装入计算机。
以通用的计算机硬件及操作系统为依托,实现各种仪器功能。
虚拟仪器主要是指这种方式。
LabVIEW是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。
LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。
它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。
利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣[5]。
图形化的程序语言,又称为G语言。
使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。
它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。
它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。
使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。
2.1FFT变换的介绍
FFT即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。
FFT方法可直接用来处理离散信号的数据,也可用于对连续信号分析的逼近[6]。
离散傅里叶变换(DFT)和卷积是信号处理中两个最基本也是最常用的运算,它们涉及到信号与系统的分析与综合这一广泛的信号处理领域。
实际上卷积与DFT之间有着互通的联系:
卷积可化为DFT来实现,其它的许多算法,如相关、滤波和谱估计等都可化为DFT来实现,DFT也可化为卷积来实现。
在DFT运算中包含大量的重复运算。
FFT算法利用了蝶形因子WN的周期性和对称性,从而加快了运算的速度。
在实际计算中,可以采用在原来序列后面补0的加长方法来提高FFT的分辨率;可以采用在原来序列后面重复的加长方法来增加FFT的幅度。
设x(n)为N项的复数序列,由DFT变换,任一X(m)的计算都需要N次复数乘法和N-1次复数加法,而一次复数乘法等于四次实数乘法和两次实数加法,一次复数加法等于两次实数加法,即使把一次复数乘法和一次复数加法定义成一次“运算”(四次实数乘法和四次实数加法),那么求出N项复数序列的X(m),即N点DFT变换大约就需要N2次运算。
当N=1024点甚至更多的时候,需要N2=1048576次运算,在FFT中,利用WN的周期性和对称性,把一个N项序列(设N=2k,k为正整数),分为两个N/2项的子序列,每个N/2点DFT变换需要(N/2)2次运算,再用N次运算把两个N/2点的DFT变换组合成一个N点的DFT变换。
这样变换以后,总的运算次数就变成N+2(N/2)2=N+N2/2。
继续上面的例子,N=1024时,总的运算次数就变成了525312次,节省了大约50%的运算量。
而如果我们将这种“一分为二”的思想不断进行下去,直到分成两两一组的DFT运算单元,那么N点的DFT变换就只需要Nlog2N次的运算,N在1024点时,运算量仅有10240次,是先前的直接算法的1%,点数越多,运算量的节约就越大,这就是FFT的优越性[7]。
2.2虚拟频谱分析仪原理
1.系统结构
现在投入实用的虚拟频谱分析仪一般由信号调理器、数据采集卡组成的外部采集系统加上软件构成的分析处理系统组成,它的系统结构如图2-1所示。
被测信号传送到信号调理电路,由信号调理电路对它进行放大、滤波、隔离等处理,调理后的信号经数据采集卡进行A/D转换,将模拟信号转换为数字信号,最后由控制软件对测试信号进行频谱分析和处理,得到测试结果,并按要求显示或存储结果。
虚拟频谱分析仪结构图如图2-1。
图2-1虚拟频谱分析仪系统结构图
2.软件组成
虚拟频谱分析仪的软件模块图如图2-2所示:
图2-2软件模块图
各模块功能如下:
(1)操作类型选择
操作类型选择用来确定操作类型:
是进行实时数据采集,还是进行存储的历史数据图形回放。
如果是进行实时数据采集,则需要进行设备和通道的初始化设置。
可以选择设为默认值的设备号和通道号,也可以根据需要设置新的设备号和通道号。
如果进行图形回放,则从历史文件库里选择即可。
(2)数据采集
数据采集部分在整个程序中有很重要的地位。
数据采集部分的参数设置正确与否,直接影响到后面的分析、处理、显示等功能能否实现。
这部分的参数设置主要包括:
设备与通道设置、缓冲区大小设置、触发控制、扫描速率设置、电压范围设置。
(3)频谱分析
频谱分析模块可以进行滤波窗口的选择,可以选择矩形窗、三角窗、汉宁窗、汉明窗、布莱克曼窗等窗口中的一种,或是选择不要进行窗口操作。
频谱分析功能包括幅度谱分析、功率谱分析、相位谱分析。
(4)波形显示
波形显示类型可选择频谱曲线显示或时域信号显示,还可以根据需要进行线性或对数显示。
此外,波形显示时还有标尺,可以用它方便的读出任意点的坐标值。
(5)测量
用函数实现找出波形的最大值和最小值、频率、幅值等数值,并在面板上用数字显示。
2.3基于LABVIEW的虚拟频谱分析仪的构建
本论文采用的是NIUSB-6251采集卡来实现单通道单信号采集一路信号实现频谱分析。
输入模拟信号的产生:
输入模拟信号由一个DAQmxCreateVirtualChannel.vi模块的电压模式及DAQmxTiming.v2个模块来采集。
其中DAQmxCreateVirtualChannel.vi模块使用AIVoltage的选项,DAQmxTiming.vi模块使用SampleClock 的选项,输入模拟信号采集模块流程图如图2-3。
单通道模拟输入
在LabVIEW中,数据采集VI主要位于NIMeasurements子模板中,在这子模板中有传统的数据采集VI和数据采集DAQmx类型的数据采集VI。
本设计采用数据采集DAQmx类型的数据采集VI。
此类型可以面向多个数据采集卡,我们需设置信号的输入的通道、采样率等,然后采集信号数据并读取。
在读取数据的模块中也需设置模拟采集、采集的方法及所需设置的一些参数。
主要的软件设计过程为:
(1)利用AIVoItage.Vi模块对DAQ设备进行配置。
(2)SampleClock.Vi模块设置采样时钟和采样率。
(3)AIStart.Vi模块启动DAQ设备的数据采集功能。
(4)用DAQmxRead(Analog1DWfm1ChanNSamp).Vi读取缓冲区的数据显示并进行频率测量。
(5)完成读取后,利用AIClear.Vi模块停止DAQ设备的数据采集,并删除相关配置,释放DAQ设备的相关资源。
频谱分析程序将采用“复数至极坐标转换”函数将FFT的输出分解为幅值和相位。
以下为所求三个谱的原理。
1.功率谱原理:
一个信号可以从时域描述,也可以从频域来描述,这两种描述是互相唯一对应的。
功率谱分析能够提供信号的频域信息,是研究平稳随机过程的重要方法。
由加了白噪声的仿真信号,被采样后得到的一个样本序列其实只是无穷多个可能的随机序列的一个,因此这个序列实际上不能代表这个随机过程。
但是不过选取哪个序列,通过该序列算得的过程的自相关函数总是相同的,即由某一个样本序列计算出来的自相关函数能够作为对过程本质的描述。
因此,从自相关函数出发考虑信号的功率谱问题。
信号x(t)的自功率谱密度定义为其自相关函数的傅里叶变换。
设x(t)的自相关函数为
,则x(t)的自功率谱密度为
(2-1)
同时有
(2-2)
在实际应用中,由于只能获得测量信号的有限长观察序列,因此只能用所得的有限长序列来估计信号的功率谱,就产生了谱估计这概念。
经典谱估计的方法其中之一是直接法。
直接法又称周期图法。
设x(n)为时域信号的N点采样序列,X(k)是采样序列的傅里叶变换,则用周期图法估计的信号功率谱为
(2-3)
由于X(k)可以通过FFT求出,所以
也可以方便地求出。
但是LabVIEW所使用的功率谱计算公式为
(2-4)
所以这里求功率谱可采用LabVIEW里现有的PowerSpectrum.vi模块
来实现功率谱分析的功能。
2.幅值谱原理:
傅里叶变换是数字信号处理中最重要的变换之一,其意义在于将时域信号与频信号联系在了一起。
一些在时域中难以分析的信号,在频域中它的特征可以看的一目了然。
使用计算机完成信号处理工作的需要,导致了离散傅里叶变换的产生。
计算机只能处理离散且有限长度的数据,要用计算机完成频谱分析和其他方面的工作,通常的处理方法是对模拟信号x(t)采样得到离散序列x(n)。
实际信号可能是有限长的,也可能是无限长的。
若x(n)为有限长序列,则令其长度为n,若x(n)是无限长序列,可用矩形窗将其截成N点,然后将这N点序列视为周期序列x(n)的一个周期,即x(n)是由x(n)作为周期延拓而得的。
离散傅立叶变换的定义为
=
(k=0,1,…,n-1)(2-4)
逆变换为
=
(2-5)
x(n)、x(k)是一个傅里叶变换对,x(k)称为x(n)的傅立叶变换,而x(n)称为x(k)傅里叶反变换。
如果x(k)是确定的,则x(k)与频率变量k的关系称其为x(n)的频谱。
它的幅值为
(2-6)
则|x(k)|与频率变量k的关系称为幅值谱
它的相位
(2-7)
则
与频率变量k的关系称为相位谱。
对于离散傅立叶变换,使用快速傅里叶算法。
然后根据上述原理计算输入信号的幅值谱和相位谱。
所以这里求功率谱可采用LabVIEW里现有的FFTSpectrum(Mag-Phase).vi模块
来实现FFT谱分析的功能,取幅度输出端可得幅值谱。
3.相位谱原理:
相位谱特性原理已在幅值谱原理中说明,即
与频率变量k的关系称为相位谱。
这里用取FFTSpectrum(Mag-Phase).vi模块
的相位输出端可得相位谱。
FFT的实质是DFT的一种快速推算法它的基本原理就是把长序列的DFT逐次分解为较短序列的DFT,从而达到高效计算[8]。
DFT应用于频谱分析需要注意两个问题:
1、采样可能导致信号混叠2、截断信号引起的频谱泄漏。
可以通过选择适当的采样频率消减混叠。
选择适当的序列长度并加窗可以抑制频谱泄漏。
由DFT的定义式2-4,得到幅值谱
,则通过幅值谱,得到所测周期信号的频率。
若模拟信号为单频信号,则得到的幅值谱的谱峰最大值对应的频率即为所求频率:
(2-8)
频谱分辨率为
(2-9)
根据2-8式,编写的LabVIEW程序如图2-4所示。
其中FFTSpectrum(Mag-Phase).vi模块输出的幅值谱为单边谱,
数组大小为被分析信号大小的一半,所以为了得到N,还需乘以2。
图2-4周期信号频率测量程序
2.4虚拟频谱分析仪的实现
虚拟频谱分析仪的频谱分析和频率测量可以在本机实现,也可以在客户机实现。
1.本机虚拟频谱分析仪
由信号采集模块、测量频率模块和频谱分析模块组成的本机虚拟频谱分析仪的编程实现如图2-5所示。
图2-5本机虚拟频谱分析仪程序
图2-5的程序中可以实现对模拟信号的功率谱、幅值谱、相位谱分析,和周期信号的频率测量。
其中初始化程序实现对各按钮的初始化。
然后通过采集模块采集信号,用测频模块测量频率,或者用频谱分析模块实现频谱分析。
本机虚拟频率分析仪进行网络发布后,在客户机可共享本机的测量结果。
2.客户机虚拟频谱分析仪
实现网络化仪器时,也可以选择在客户机完成频谱分析等。
为了实现网络化,让远程电脑可以显示与控制本地电脑的分析结果,因此必须分两个部分建立频谱分析仪模块,一部分是本机上的信号采集程序,另一部分为客户机上的频谱分析和测频程序。
图2-6为客户机频谱分析程序。
图2-6客户机虚拟频谱分析仪程序
其中,客户机中的被分析信号是通过网络从本机传输过来的采集信号,与图2-6对应的本机程序如图2-7所示。
网络数据的传输采用DataSocket技术。
图2-7与客户机虚拟频谱分析仪对应的本机程序
在虚拟仪器中,将其网络化的技术常规的有四种:
分别为1.TCP技术,2.UDP技术,3.DataSocket技术,4.RemotePanels技术[9]。
1.TCP协议提供的是可靠的、面向连接的传输控制协议,即在传输数据前要先建立逻辑连接,然后再传输数据,最后释放连接3个过程。
TCP提供一种面向连接的、可靠的字节流服务。
面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。
在一个TCP连接中,仅有两方进行彼此通信[10]。
TCP是因特网中的传输层协议,使用三次握手协议建立连接。
当主动方发出SYN连接请求后,等待对方回答SYN,ACK。
这种建立连接的方法可以防止产生错误的连接,TCP使用的流量控制协议是可变大小的滑动窗口协议。
第一次握手:
建立连接时,客户端发送SYN包(SEQ=x)到服务器,并进入SYN_SEND状态,等待服务器确认。
第二次握手:
服务器收到SYN包,必须确认客户的SYN(ACK=x+1),同时自己也送一个SYN包(SEQ=y),即SYN+ACK包,此时服务器进入SYN_RECV状态。
第三次握手:
客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ACK=y+1),此包发送完毕,客户端和服务器时入Established状态,完成三次握手[11]。
2.UDP协议使用端口号为不同的应用保留其各自的数据传输通道。
UDP和TCP协议正是采用这一机制实现对同一时刻内多项应用同时发送和接收数据的支持。
数据发送一方(可以是客户端或服务器端)将UDP数据报通过源端口发送出去,而数据接收一方则通过目标端口接收数据。
有的网络应用只能使用预先为其预留或注册的静态端口;而另外一些网络应用则可以使用未被注册的动态端口。
因为UDP报头使用两个字节存放端口号,所以端口号的有效范围是从0到65535。
一般来说,大于49151的端口号都代表动态端口。
UDP协议使用报头中的校验值来保证数据的安全。
校验值首先在数据发送方通过特殊的算法计算得出,在传递到接收方之后,还需要再重新计算。
如果某个数据报在传输过程中被第三方篡改或者由于线路噪音等原因受到损坏,发送和接收方的校验计算值将不会相符,由此UDP协议可以检测是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络化 虚拟 频谱 分析 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)