实现虚拟式FFT频谱分析仪的软硬件系统设计
2023-05-24 来源:elecfans
1 虚拟仪器概念和特点
虚拟仪器是虚拟技术在仪器仪表领域中的一个重要应用。它是日益发展的计算机硬件、软件和总线技术在向其他技术领域密集渗透的过程中,与测试技术、仪器仪表技术密切结合孕育出的一项新的成果。20世纪80年代,NI公司首先提出了虚拟仪器的概念,认为虚拟仪器是由计算机硬件资源、模块化仪器硬件和用于数据分析、过程通信及图形用户界面的软件组成的测控系统,是一种由计算机操纵的模块化仪器系统。虚拟仪器是以计算机作为仪器统一的硬件平台,充分利用计算机独具的运算、存储、回放、调用、显示以及与文件管理等基本智能化功能,同时把传统仪器的专业化功能和面板控件软件化,使其与计算机融为一体,构成了从外观到功能都完全与传统硬件仪器一致,同时又充分享用计算机智能资源的全新的仪器系统。由于仪器的专业化功能和面板控件都由软件形成,因此国际上把这类新型的仪器称为“虚拟仪器”。
目前在虚拟仪器技术领域,使用较为广泛的计算机语言是NI公司推出的LabVIEW。LabVIEW是一种图形化的编程语言开发环境,类似于C和BASIC开发环境,但较之不同的是,LabVIEW使用的是图形化的编辑语言,又称为“G”语言。这种编程语言的特点是用具有框图结构的VI代替繁琐的程序代码,产生的程序是框图的形式,同时它尽可能利用了技术人员、工程师、专家所熟悉的术语、概念和图标,因而广泛地被工业界、学术界和研究实验室所接受。LabVIEW逐渐成为一种标准的数据采集和仪器控制软件,在进行研究、设计、测试并实现仪器系统时,可大大提高工作效率。
2 DSP在虚拟仪器中的应用
在PC虚拟仪器领域,采用高速DSP和局部总线的结构将成为PC虚拟仪器的主流结构。虚拟仪器作为仪器发展的新阶段,虽然其专业化功能和面板控件都是以软件形式所表现出来,但其硬件采集仍需要硬件设备来完成。
DSP芯片是专门用于数字信号处理的芯片,它能独立于CPU单独运行,同时又有丰富的接口处理功能。更为重要的是,DSP芯片对数字信号的处理由其装载的程序控制,开发人员可根据实际的需求自行开发程序,再将程序装载入芯片,从而达到数字信号处理的目的。然而直接使用DSP来开发频谱分析仪有诸多不便,这主要是因为当系统运行在WINDOWS等多任务操作系统时,特别在处理如FFT等大容量、高精度运算时,CPU资源会造成严重不足,这给底层硬件系统的设计应用带来一定的不便。但使用虚拟仪器能很好地解决这个问题,虚拟仪器能借助DSP处理系统,将采集来的数据在DSP中进行预处理,然后再将数据传递给软件部分,这样不但没有增加系统的负担,相反,可以让系统资源用更多的时间来处理其他事情。数据的处理是由软件控制计算机系统来完成,虚拟仪器主要处理由USB数据采集器所采集到的数字信号,对其进行分析、运算和显示。
3 频谱分析仪的应用和发展
频谱分析是信号分析处理中常用的分析方法,主要是在频域上对信号进行处理、分析及显示。目前,频谱分析在生产实践与科学研究中获得了日益广泛的应用。例如,在声纳系统中,为了寻找海洋水面舰艇或潜艇,需要对噪声信号进行频谱分析,以提取有用信息,从而判断舰艇运动速度、方向、位置、大小;对飞机、汽车、电机、机床等主体或部件进行实际运行的频谱分析,可以提供设计数据、检验设计效果,或者寻找振源和诊断故障,以便及时排除潜在故障因素,保证安全运行。
早期的频谱分析仪实质上是一台扫频接收机,输入信号与本地振荡信号在混频器变频后,经过一组并联的不同中心频率的带通滤波器,使输入信号显示在一组带通滤波器限定的频率轴上。由于带通滤波器由电感、电容等多种无源、有源元件构成,频谱分析仪显得很笨重,且频率分辨率不高。随着电子电路技术的发展,出现了以傅里叶变换为基础的现代频谱分析仪,这类频谱分析仪以电子电路来实现傅里叶变换,从而实现频谱分析。但是,这类频谱分析仪仍然是以硬件电路来实现的传统意义上的频谱分析仪,存在复杂性、封闭性等自身无法克服的缺点。随着计算机技术的发展和普及,虚拟仪器技术应用到频谱分析仪中,克服了传统硬件化的频谱分析仪自身无法克服的缺点。
4 虚拟式FFT频谱分析仪的系统设计
4.1基于DSP的USB数据采集器开发
快速傅里叶变换FFT(FastFourierTransform)分析要求首先对被分析的信号进行数字采样,然后再进行FFT运算。在系统中,信号的采样和FFT计算全部在USB数据采集器上实现。为了保证时域信号和FFT处理后的数据能实时传递给系统CPU,USB数据采集器与主机之间采用USB接口设计。根据系统要求和实际条件,USB数据采集器的结构如图1所示。
(1)信号调理模块设计
信号调理模块实现信号的输入缓冲、放大和滤波。在系统中,信号的缓冲由集成运放组成同相跟随器来实现。放大器采用TI公司的可编程放大器PAG103U,放大倍数的改变由DSP和逻辑控制器共同实现,设计中可对输入通道信号分别进行放大倍数控制。调理模块中的滤波器为低通滤波,主要用于对信号进行抗混叠滤波,以确保信号的有效FFT分析。
(2)A/D转换设计
A/D转换的采样率和分辨率是进行数字采样系统设计的主要指标。在设计中,A/D芯片采用AD7685,单通道最高采样率可达250kS/s,输出为16位并行输出,比较电压为±5V。
(3)DSP芯片选用
DSP是该系统进行FFT运算的处理器,其精度、速度在很大程度上决定了FFT分析仪的性能。考虑到FFT运算中实时性和精度方面的要求,设计时选用TMS320VC33浮点型DSP芯片。
(4)存储器选用
存储器可用于存放大量的表格数据和一些临时数据。因为DSP在作FFT运算时要用到大量正弦及其他数据表格,而通常固化DSP程序的闪存和DSP的数据交换较慢,为保证FFT的运算速度,可在FFT运算前,将表格数据存储于DSP外的高速存储器内。
(5)USB接口芯片选用
USB接口芯片是连接PC机和底层硬件的通信纽带,USB总线有着严格的电气规范和时序要求,采用接口芯片可以减少电路设计的工作量,特别对于在实现5V与3.3VDSP的数据传递时,采用可同时兼容这两种电压的接口芯片,还省去转换电路的设计。设计中选用Philips的高速USB2.0芯片ISP1362。数据采集器工作时,各主要模块通过控制器后的基本流程如图2所示。
4.2虚拟式FFT频谱分析仪软件设计
该系统软件包括DSP软件的设计和应用程序的设计。
4.2.1DSP软件的设计
DSP软件由DSP主程序和中断服务程序组成。
DSP主程序主要完成以下任务:(1)初始化USB芯片,读入用户设置的采样频率参数,并根据这个参数初始化时钟,以产生正确的采样时间信号;(2)读入采样通道参数并初始化AD7685;(3)读入用户放大倍数,设置可编程放大器。这些参数读入完毕后,将采样通道采集的数据通过USB口发送给PC侧的LabVIEW软件分析处理。
中断服务程序主要用来响应A/D所产生的中断,在设计中,中断服务的任务主要是读取A/D转换后的数据,并判断其是否达到FFT点数,如没达到则返回,反之,进行FFT运算,并将数据传递给接口芯片。
4.2.2应用程序的实现
应用程序是实现人机交换的控制软件,数据结果的显示以及输入参数的改变都在此完成。要求应用程序既要有很好的稳定性,又要易于操作。系统的应用程序以及USB数据采集器的驱动程序都是在LabVIEW的基础上编写出来的,具有很好的稳定性和可移植性。图3所示为基于DSP技术的虚拟式FFT频谱分析仪面板图,检测输入信号为200Hz,交流正弦波为400Hz,可以看到在FFT上的频谱图(幅度谱和相位谱)。
虚拟式FFT频谱分析仪系统可在Windows环境下很好地运行和操作,符合项目设计要求。DSP技术引入到虚拟仪器系统中,使得虚拟仪器的性能突破了通用计算机的限制,并在实时性和精确性上为虚拟仪器广泛代替传统硬件平台仪器提供了保证。利用计算机提供的USB、PCI等高速数据接口,进一步拓宽了基于DSP的USB数据采集器的数据传输带宽。随着DSP技术的发展和其在虚拟仪器中的应用,虚拟仪器必将在仪器行业中大放异彩。