虚拟频谱分析仪研究

2024-07-18

虚拟频谱分析仪研究(精选6篇)

虚拟频谱分析仪研究 篇1

摘要:由于虚拟仪器技术具有使用方便、成本低、开发性强等特点, 近年来在各个领域得到广泛应用, 文中针对雷达自动测试系统中对虚拟仪器的需求, 以及目前流行的虚拟仪器编程软件Labwindows/CVI在数值分析和信号处理方面的不足之处。提出了一种在Labwindows/CVI环境下利用ActiveX技术调用MATLAB工具箱中的函数从而实现混合编程构建虚拟仪器的简单易行的方法, 并用该方法实现了雷达信号分析虚拟仪器的设计。

关键词:虚拟仪器,Labwindows/CVI,MATLAB,混合编程,雷达信号分析,虚拟仪器

引言

雷达自动测试系统中使用传统的电子仪器实现雷达信号参数的提取不仅价格昂贵、系统集成难度大, 而且对于一些复杂信号的提取也难以实现。虚拟仪器技术充分利用计算机的软硬件资源, 以软件为核心, 人机界面形式来实现这些功能。虚拟仪器编程语言Labwindows/CVI是美国NI公司开发的面向计算机测控领域的软件, 它的集成化开发平台, 交互式编程方法, 丰富的功能面板和库函数大大增强了C语言的功能, 为开发检测、数据采集、过程监控等系统提供了一个理想的开发环境。但是它的数值计算功能还不够强大, 面对信号分析领域先进的理论和方法, 如在信号时频分析、神经网络、小波变换、遗传算法、模糊理论等问题上, 还没有形成可用的库函数。而MATLAB软件则拥有上述丰富的工具箱函数, 且具有强大的数值计算、矩阵计算、信号分析和处理、图像处理等功能, 它己经成为应用学科中的计算机辅助分析、设计、仿真等不可缺少的基础软件。因此用Labwindows/CVI与MATLAB混合编程的虚拟仪器技术来构建雷达信号分析仪, 使其有机结合、优势互补, 具有很强的使用价值。

Labwindows/CVI和MATLAB混合编程的方法

实现Labwindows/CVI和MATLA B混合编程的关键是其数据和命令的交换, 即软件接口技术。Labwindows/CVI和MATLAB都提供了与外部接口的组件, 技术的核心就是如何正确建立它们之间的联系。ActiveX方式是微软定义的一种应用程序接口, 由于其功能强大, 己成为事实标准。Labwindows和MATLAB之间的接口也可以采用这种方式实现, 即Labwindows/CVI作为ActiveX自动化控制器, MATLAB作为ActiveX的自动化服务器。

混合编程的实现方法

如图1所示, Labwindows/CVI与MATLAB混合编程就是通过Labwindows/CVI与MATLAB之间的接口函数实现Labwindows/CVI下调用MATLAB的功能函数或运行MATLAB环境下的程序。接口函数的建立分两步进行:第一步是ActiveX服务函数的创建, 第二步是在创建的ActiveX服务函数的基础上, 添加更高一级的接口应用程序 (matlabbutil.c) 。

ActiveX服务函数的创建

Labwindows/CVI环境中得到ActiveX服务函数有两种方法, 方法一:在Labwindows/CVI窗口中选择Tools—Create ActiveX Controller Wizard根据提示进行操作:但该方法得到的Active X服务函数由于涉及到了Labwindows/CVI的远程服务, 调用不方便, 并且要求用户机必须先安装MATLAB, 后装Labwindows/CVI。方法二:在Labwindows/CVI 5.0以上版本中的CVIsamplesactiveXmatlab中直接提供有Labwindows/CVI和MATL AB的ActiveX服务函数应用程序, 该服务函数应用程序仅适合于MATLAB 5.01。对于不同的MATLAB版本, 只需将其在注册表里的注册码改写成符合ActiveX服务函数要求的格式替代5.01版本的即可。本文采用第二种方法, 其具体修改示例如下:

这里以MATLAB6.5版本为例, 首先在注册表里查到Matlab Application (Version 6.5) 的注册码如下:

生成的ActiveX服务函数应用程序中包含了Labwindows/CVI环境下实现同MATLAB混合编程所要用到的最基本的功能函数, 这些函数包括打开MATLAB函数, 关闭MATLAB函数, 发送矩阵函数, 接受矩阵函数, 运行MATLAB功能函数, MATLAB窗口最大最小化等。

更高一级的接口应用程序的添加

ActiveX服务函数应用程序matlabsrvr.c中包含的混合编程的基本功能函数在实际调用中并不方便。为方便开发者实现在Labwindows/CVI环境下同MATLAB的混合编程, 可对matlabsrvr.c文件中的基本功能函数进行封装, 提供更高一级的接口函数应用程序 (matlabuti.lc) , 该程序位于Labwindows/CVI的CVIsamplesactivexmatlab目录下。这样我们只需在所创建的工程中添加该程序, 就可以方便地在Labwindows/CVI环境下调用表1中所示的功能函数, 从而实现二者的混合编程。

雷达信号分析中的混合编程

线性调频 (LFM) 信号和相位编码 (PSK) 调制信号是雷达中常用的两种脉冲压缩信号, 在雷达自动测试系统中对这两种信号的分析主要是提取其调制参数, 用传统仪器实现对这些参数的提取不仅价格昂贵, 系统集成难度大, 而且对PSK调制信号调制参数的提取较难实现。因此将利用自动测试系统中已有的高速采集设备采集需分析的雷达信号, 然后利用Labwindows/CVI和MATLAB两大软件各自的优点设计雷达信号参数分析的虚拟仪器。在该雷达信号分析仪中, LFM信号和PSK调制信号的分析是通过调用MATLAB时频工具箱和信号处理工具箱中的库函数来实现的。在本文分析中仅以PSK调制信号参数的分析为例加以说明。

PSK调制信号分析的原理

对雷达信号解调的过程实际就是求幅度和相位的过程, 通过希尔伯特变换 (hilbert) 可以得到信号的解析表达式, 而从解析式中我们可以得到其幅度和相位。因此提取相位编码 (PSK) 信号的相位调制信息, 可以通过希尔伯特变换 (hilbert) 求取。对任意时间序列X (t) , 可得到它的希尔伯特变换Y (t) 为:

通过这一定义, X (t) 与Y (t) 形成一个复共轭对, 从而得到一个解析信号。

式中:a (t) 是解析信号的瞬时幅度, θ (t) 是解析信号的瞬时相位。

在MATLAB信号处理工具箱中有已经封装好的希尔伯特变换函数hilbert () , 该hilbert变换可以直接得到时间序列X (t) 的解析形式Z (t) , 相应地根据上面的分析就可以提取出信号的瞬时相位。虽然我们无法得到信号绝对的初始相位, 但是可以根据各个码元间的相对相位来识别相位编码。在MATLAB环境下利用信号处理工具箱中的函数编写的PSK调制信号分析程序, 主要的原代码代码如下:

雷达信号分析虚拟仪器的实现过程

基于Labwindows/CVI和MATLAB混合编程的雷达信号分析仪的设计思路是:首先由Labwindows/CVI通过测试系统中现有的TDS5032B示波器采集被测的雷达信号, 将参数和采集到的数据通过表1中所列的接口函数 (具体见应用程序代码) 传递给MATLAB, 接下来信号的分析由MATLAB软件编写的分析程序来实现, 然后通过接口函数传回分析出的值, 并将其显示到雷达信号分析仪的面板中。

仪器面板的设计

该设计中雷达信号分析仪界面板具有数据采集、信号分析, 以及原始信号波形和分析出来的波形的显示等功能。雷达信号分析仪的面板如图2所示分为两个部分:一部分为波形的显示, 一部分为操作按钮部分 (包括分析信号模式的选择、参数的设定 (幅度、载波频率、采样时间) , 初始化仪器、配置仪器、关闭仪器、采集并显示波形、分析出的波形显示、线性调频信号的斜率、保存波形数据文件、退出系统等) 。

应用程序代码设计

在代码设计中使用了matlabbuti.lc中定义的接口函数, 在工程中应加入matlabbuti.lc和matlabbuti.lh以免无法找到函数原型。这里仅给出分析出的波形控件中添加在回调函数中的部分代码:

这些代码首先启动了MATLAB并将其窗口最小化, 然后调用MATLAB下的信号分析程序PSK_Analysis.m, 并将分析出的相位数据返回到Labwindows/CVI的数组指针中, 用PlotXY命令在G PH中画出其波形。

结语

虚拟仪器因其“软件即仪器”的重要特点, 有着传统仪器无法比拟的优势。为了更好地发挥虚拟仪器的优越性, 需要最大限度地利用各种软件的特长, Labwindows/CVI丰富的控件资源和较高的执行效率与MATLAB强大的数据处理函数库及丰富的工具箱的结合, 必将促进信号分析与处理新技术在虚拟仪器中的应用。该雷达信号分析虚拟仪器主要实现了对雷达中LFM信号和PSK调制信号的调制参数的分析和测量, 坐标轴的量程根据所得数值的大小自动调整并显示, 可以在面板上通过光标直接读取波形数值, 非常灵活。为雷达自动测试提供了经济方便的测试手段, 同时又可以实时进行移植、改进和功能扩展, 可以广泛地应用于测试分析领域。

参考文献

[1]刘华君.基于Labwindows/CVI的虚拟仪器设计[M].北京:电子工业出版社, 2003

[2]张毅刚, 乔立岩.虚拟仪器软件开发环境LabWindows/CVI6.0[M].北京:机械工业出版社, 2002

[3]郭志波, 林锦国.一类虚拟示波器及信号发生器的设计与实现[J].电子工程师, 2002, 28 (12)

[4]张志涌, 徐彦琴.MATLAB教程-基于6.x版本[M].北京:航空航天大学出版社, 2001

[5]郑力新.基于Labwindows/CVI和MATLAB控制系统网络的实现方法[J].电测与仪表, 2004, 41 (2)

[6]刘志俭.MATLAB应用程序接口指南[M].北京:科学出版社

[7]刘东霞, 赵国庆.脉内调制信号的分析[J].现代雷达, 2003, 25 (11)

虚拟频谱分析仪研究 篇2

1 虚拟仪器的系统构成

所谓虚拟仪器, 就是在通用计算机平台上, 用户根据自己的需求定义和设计仪器的测试功能, 其实质是将传统仪器的硬件和最新的计算机软件技术充分结合起来, 以实现并扩展传统仪器的功能。与传统仪器相比, 虚拟仪器在智能化程度、处理能力、性能价格比、可操作性等方面均有明显的技术优势。适用于模电数电、电工电子、电机、电力电子等领域[4,5]。

2 虚拟仪器平台下逻辑分析仪的设计与实现

在实验教学中, 传统逻辑分析仪的功能比较单一、测试准确度较差, 而目前的多通道便携式逻辑分析仪虽然测试准确度较好, 且具有较强的数字化处理能力, 但是这种逻辑分析仪价格昂贵, 仪器功能模块固定, 不具备用户对仪器进行定义和用户编程的功能。本文介绍根据实际教学的需要, 开发研制的虚拟逻辑分析仪。

2.1 系统的硬件组成

硬件部分包括:传感器、信号调理电路、数据采集卡、数据线、PC机, 其中数据采集卡选择NI公司的模拟采集卡WAVE-f卡, 采样速度为200 ks/s, 12bits, 16路模拟量输入;2路12位D/A输出;8路数字I/O线;2个24位计数器, NI-DAQ驱动软件再结合简单易用、功能强大的LabVIEW图形化开发环境使得在实际中配置和测量更简单, 系统硬件结构如图1所示。

2.2 系统的软件设计

在本设计中采用LabVIEW作为软件开发工具, LabVIEW是一种基于G语言的虚拟仪器软件开发工具, 应用于数据采集和控制、数据分析、数据表达等方面。虚拟逻辑分析仪软件设计主要包括前面板和框图程序的设计, 前面板是用来操作各种控件和观测输入信号的波形及频谱的用户界面;框图程序用来控制数据的流动方向, 完成系统的编程, 虚拟逻辑分析仪的软件结构框图如图2所示。

2.2.1 框图程序设计

利用一个Flat Sequence Structure循环以及Usbwrite.Vi将采集到的数据不停地从设备的缓存中读出;通过LabView的Waveform Chant控件实现波形的实时显示;利用Open/Creat/Filename.Vi建立存放数据文件的路径、格式、名称, Write File控件把采集的数据写入事先建好的数据文件内;Replace Array To Subset控件是把采集卡采集的数据进行格式整理, 输出到Array Subset控件内, 在此控件内把采集的数据再次整理, 形成可回放显示的字符串, 为回放测量模块做准备;打印输出模块主要对图形曲线打印。该模块主要有DWDT Boolean Array to Digital.Vi, Print Report.Vi两个Sub.Vi实现。虚拟逻辑分析仪程序流程图如图3所示。

2.2.2 前面板设计

前面板设计模仿传统逻辑分析仪形式, 利用软件生成了显示窗、调节按钮、拨动开关等部件, 但仪器的操作、调节均由鼠标操作完成, 逻辑分析仪的前面板如图4所示。

3 结果分析

本文中的虚拟逻辑分析仪设计参考美国安捷伦Agilent惠普HP公司的16806A逻辑分析仪的功能, 并在仪器分析和处理功能上有所扩展。本系统中的虚拟逻辑分析仪与HP16806A的功能比较如附表所示。本虚拟逻辑分析仪不仅具有一般独立式逻辑分析仪的功能, 而且充分发挥了计算机强大的功能和软件设计的灵活性, 在定时分析、状态分析等方面优于传统逻辑分析仪。其具有很好的扩展性, 可以通过修改或增加软件模块, 形成新的仪器功能。

参考文献

[1]张宏群, 蔡国英.基于虚拟仪器技术的信号测量分析仪的设计[J].计算机技术与发展, 2008 (2) :18

[2]胡亚琦, 夏宝华.虚拟仪器平台下示波器的设计与实现[J].虚拟仪器与应用, 现代电子技术, 2008 (2) :181

[3]张爱平.LabVIEW在电子测量教学中的应用[J].国外电子测量技术, 2004 (5) :38

[4]王雪梅, 施洪昌.基于PCI总线的数据采集卡的设计[J].微计算机信息, 2005, 21 (4) :96~97

虚拟频谱分析仪研究 篇3

本文针对软件无线电的基带信号处理部分, 结合虚拟仪表技术, 在通用平台VC++6.0上实现了专门针对无线通信信号的虚拟频谱仪, 为软件无线电的测量提供了强大的软件平台支持。与真实频谱仪相比, 本设计的虚拟频谱仪操作简单易学, 且功能可以根据用户需求进行扩展, 灵活性很强。

1 虚拟频谱仪设计

1.1 软件无线电虚拟频谱仪框架

软件无线电虚拟频谱仪框架结构如图1所示。软件无线电体系结构主要划分为射频前端 (含天线) 、高速模数/数模转换器以及数字信号处理单元[5]三大部分。 (1射频 (RF) 是软件无线电不可替代的硬件入口, 主要功能是完成对空中信号的获取, 以及信号的放大、滤波和混频; (2) 中频主要实现对模拟信号与数字信号的转换、数字信号的预处理, 以及完成中频与基带的数据交互; (3) 数字信号处理单元主要完成对信号的接收、分析和处理。在信号分析处理中, 分析仪器是不可或缺的设备, 而传统的仪器仪表功能固定, 价格昂贵, 因而在软件无线电系统中, 对数字处理单元部分进行软件编程实现是本文设计的核心内容。

1.2 软件功能模块设计

根据软件无线电虚拟频谱仪架构, 本文的虚拟频谱仪软件功能模块设计如图2所示。

数据输入部分分为PCIe输入和文件输入两种方式。数据存储部分负责对数据进行存储操作, 以.txt格式将数据保存到文本中。命令控制部分负责对软件无线电系统前端进行控制。数据处理及分析部分包括窗函数选择和FFT变换。交互界面部分模仿真实仪器的工作面板, 其功能包括:提供用户直观的图形显示;在显示窗口中显示信号的参数信息, 如幅值、频率、分辨率等;进行参数设置以及图形显示变换等。

2 虚拟频谱仪实现

根据虚拟频谱仪的软件功能设计, 具体的实现过程如下所述:各模块经过系统初始化后, 开始根据不同数据输入方式分别进行处理, 并显示波形。

2.1 系统初始化

虚拟频谱仪软件通过窗口分割界面, 设计了3个视图窗口:波形显示窗口、频谱显示窗口和操作窗口。为了能方便地改变波形频谱的显示方式, 在软件界面中添加了一个工具条。程序中菜单页面主要分为菜单栏上的设置按钮加载和波形、频谱视图中响应鼠标右击的页面加载。

2.2 命令控制

命令控制的主要目的是保证FPGA与上位机的实时通信。本软件采用网口通信方式, 以实现FPGA与上位机的交互和命令控制。

通过系统初始化、参数设置、PCIe初始化等步骤后, 点击操作视图上的“Connection”按钮, 在消息响应函数中进行套接字的初始化, 连接FPGA服务器端。首先调用函数socket () 创建TCP套接字, 并设置地址结构体SOCKADDR_IN, 其中结构体成员变量中需要设置服务器端的IP地址和交互的端口号。然后再调用connect函数请求链接。当成功链接到FPGA后, 程序中调用Set Timer函数开启定时器, 系统会每隔一定时间发送WM_TIMER消息, 在消息响应函数On Timer中进行数据的发送与接收。

2.3 数据接收

数据接收过程主要包括参数设置、数据接收方式选择以及数据提取。图3为数据接收流程图。

由于串口、网口、USB等接口无法满足移动信号的高速率传输要求, 故本文采用PCIe接口对数据进行接收。其中, 数据接收采用PCIe总线传送, 在参数配置完成后, 首先对PCIe设备进行初始化, 成功打开PCIe设备后再准备数据接收。在FPGA端, 信号经过数字下变频后分为I、Q两路信号。此外, 根据单个数据的位宽为16 bit, 定义了short型变量real和image来分别提取I路和Q路数据。然后, 根据上位机命令控制接收相应的数据, 并对其进行处理与分析, 以最终实现对时域和频域波形图的显示。

2.4 数据存储

数据存储也是虚拟频谱仪软件的主要功能之一, 主要用于保存用户接收到的有用数据, 并为后续工作提供实时数据源, 且对研究无线通信信号的基带数据特征具有很大帮助。

2.5 数据处理与分析

该模块的主要功能是对软件输入信号进行数据处理与相应分析。该软件目前采用了FFT信号处理方式, 并同时使用加窗函数和重叠分段FFT优化频谱显示效果。此项功能主要在频谱视图类中处理实现, 此方法在对实时数据进行频谱分析时具有比较明显的改善效果。而窗函数的设置选择项进一步优化了频谱图。程序中主要加入了常用的矩形窗、三角窗、海明窗3个窗函数供用户选择。

2.6 图形显示

图形显示包括时域与频域波形显示。时域波形主要在具有示波器功能的CWaveform View类中实现;频域的频谱图则在CFre Spectrum View类中进行处理。

图形显示的位置由视图坐标系中的坐标值决定。为了能够正确地将波形绘制在视图中的网格坐标内, 需要把波形数据值转化为视图坐标值, 如图4所示。

在图4中, 外方框区域为视图区域, 左上角为视图区域的起始点 (0, 0) , 内方框为绘制的网格区域, 左上角的视图坐标起始点值为 (lefttop_x, lefttop_y) , 右下角的视图坐标值为 (rightbottom_x, rightbottom_y) , 且视图坐标值沿X轴、Y轴方向增大。程序中, 在频谱显示时只显示前N/2个点。

3 测试结果及分析

本文数据测试过程在软件无线电硬件测试平台上完成。利用SMJ100A信号发生器生成了一个频率为100 k Hz的正弦信号, 并以此为虚拟仪表软件的输入数据。然后用DS1102E示波器、FSL频谱分析仪进行显示, 并与软件产生的波形图、频谱图进行对比, 如图5所示。其中图5 (a) 、图5 (c) 分别为真实仪器的时域与频域显示, 图5 (b) 、图5 (d) 为本设计实现软件对应的显示图。

图6为参与测试的WCDMA信号在真实频谱仪上的显示结果。通过菜单栏下的设置功能选择文件输入项, 显示保存的WCDMA文本数据如图7 (a) 所示;通过动态设置X、Y坐标, 对信号的局部波形进行放大, 如图7 (b) 所示。图7 (a) 的时域参数显示结果为min=-0.36 m V, max=21.29 m V;频域参数显示结果为min=-33.55 d Bm, max=20.69 d Bm, 频率分辨率为7 500.00 Hz。而图8 (b) 的时域参数显示结果为min=0.80 m V, max=19.78 m V;频域显示结果为min=-33.55 d Bm, max=20.69 d Bm, 频率分辨率为7 500.00 Hz。

图8给出了通过PCIe和网口配置 (传送采样率为5.1 2 MHz, FFT点数为16 384, 设置无重复点, 且选择矩形窗) 的TD-SCDMA基带数据的波形频谱图。

在图5中, 图5 (a) 为示波器显示结果, 其峰值约为40 m V, 图5 (b) 显示结果峰值为43.20 m V;图5 (c) 为示波器显示结果, 其峰值约为40 m V, 图5 (d) 显示结果峰值为43.20 m V;图5 (c) 显示结果可知其信号频率为100 k Hz, 在图5 (d) 中显示的结果为100 000.29 Hz。对比以上结果可知, 本软件测试精度约为±0.30 d B, 完全符合频谱仪的性能指标。

当为文本输入时, 对比图6和图7可知, 本软件可以正确显示WCDMA信号, 且能观测其局部特征;当为PCIe输入时, 由图8的显示结果可知, 其波形显示结果与TD-SCDMA信号本身特征一致。综合说明, 本文设计的虚拟频谱仪软件能够正确、稳定地显示通信信号的波形。

与真实的频谱仪相比, 本设计的虚拟频谱仪不仅能够正确快速地显示常用简单波形, 而且可以准确地接收和测量通信信号, 测量精度为0.01 d B。与真实仪器相比, 能够直接接收实时数据, 不需要中间处理过程就能显示复杂的通信信号, 大大减少了工程工作量。

本文设计并实现了一种基于软件无线电的虚拟频谱仪软件, 实现了对文件的读取与数据存储功能并对它们进行了频谱分析。此外, 通过对网口传递参数配置, 利用PCIe接口对实时数据进行接收, 并完成对波形、频谱的正确、稳定显示。测试结果表明, 该软件可以有效满足软件无线电在数字信号处理与分析模块中的功能需求, 并且在课题要求范围内符合各个不同无线通信系统的实时接收数据需求, 能够完成测试要求。

参考文献

[1]张勇, 董浩斌.基于STM32和LabVIEW的地震数据采集卡的设计[J].电子技术应用, 2012, 38 (10) :72-74.

[2]马志飞, 张亚, 李波, 等.SLD光源可靠性试验数据采集系统设计[J].电子技术应用, 2013, 39 (9) :96-98.

[3]陈明星, 朱灵, 张龙, 等.基于LabVIEW的光纤傅里叶变换光谱仪数据处理技术[J].仪器仪表学报, 2010, 31 (3) :488-492.

[4]程乃平, 席有猷, 赵阳.基于Labwindows/CVI的虚拟频谱分析仪设计[J].电子测量技术, 2009, 32 (7) :109-111.

虚拟频谱分析仪研究 篇4

随着电子技术和计算机技术的发展,逻辑分析仪与PC机相结合,从而出现了虚拟逻辑分析仪。研发虚拟逻辑分析仪成为近年的一个新的发展方向,虚拟逻辑分析仪扩展了逻辑分析仪的分析和计算能力,提高了性价比,且增强了仪器的通用性。现场可编程逻辑器件FP-GA,是一种可由用户根据所设计的数字系统的要求,在现场由自己配置、定义的高密度专用数字集成电路。它具有设计方便、灵活、校验快和设计可重复改变的特点。本文讨论了一种基于FPGA的虚拟逻辑分析仪的设计,通过采用高性能的FPGA器件,再利用PC机的强大处理功能,配合LabVIEW图形化语言开发实现。

1 总体设计

本文设计的虚拟逻辑分析仪主要由数据采样存储、数据显示处理和接口三部分组成,其结构框图如图1所示。其中FPGA内部功能电路有数据锁存器、指令识别电路、采样时钟电路、触发识别电路、数据存储电路等。

虚拟逻辑分析仪的工作原理为:来自外部的多路被测数字信号通过电压比较器,与门限电平比较,得到标准数字信号,连接到FPGA的I/O口。用户根据分析数据的需求,通过PC机上的软面板,设置初始化指令(触发方式、采样频率和存储深度指令等),PC机将初始化指令通过串口发送给单片机的P1口,再由单片机传给FP-GA。然后FPGA中的指令识别电路检测指令,当检测到命令字后,将命令存入各自的指令寄存器中。采样频率控制信号输出到采样时钟电路,由采样时钟电路生成各种频率的时钟信号提供给数据获取单元,数据获取单元根据时钟信号进行数据采样并锁存。同时,采样回来的数据经过触发识别电路,与触发字比较,若匹配则发出存储命令,数据存储电路收到存储命令之后控制SRAM进行数据存储。数据存储达到存储深度,则通过串口返回存满信号给PC机。此时PC机发出数据读取指令,将SRAM中的数据读到PC机,由PC机对数据分析和处理后,以二进制数字或波形图的方式显示在PC机屏幕上。

2 主要硬件模块的设计

2.1 电平判别电路

电平判别电路由数字电位器和高速电压比较器组成。由于被测电路可能工作在TTL、ECL或CMOS等不同的门限电平电路,本设计采用Xicor公司的32档数字电位器X9511,对基准电压5V进行精确分压,通过增量按键/PU和减量按键/PD的操作,实现不同的门限电平输出。本设计高速电压比较器采用Linear Technology公司的四运放集成芯片LT1721实现。为了信号的稳定性和可靠性,在电压比较器之前,先对被测信号进行电压跟随。电平判别电路如图2所示。

图中只给出了2个通道的信号电平判别,其中V-REF为门限电平,放大器A作电压跟随器,放大器B作电压比较器,INO、IN1分别为第0、第1通道的被测输入信号,D0-IN、D1-IN为第0、第1通道输出的标准数字信号,提供给FPGA的数据锁存器。

2.2 FPGA系统

本设计选用的FPGA是Altera公司Cyclone系列的EPIC3T144C8。FPGA器件的内部逻辑电路的设计,采用可编程逻辑器件的开发语言Verilog HDL和开发环境Quartus II来实现。通过JTAG接口可以对FPGA在线编程、调试和测试。FPGA内部实现的功能电路有数据锁存器、指令识别电路、采样时钟电路、触发识别电路和数据存储电路等。各功能电路的关系如图3所示。

(1)指令识别电路

指令识别电路的功能是按照预先定义FPGA和单片机之间的通信协议,识别由PC机发出的指令,当识别到初始化指令时将指令进行解析,并分别存入各指令寄存器中,产生采样频率控制信号、触发方式控制信号、存储深度控制信号等去控制FPGA其他功能电路。

(2)采样时钟电路

采样时钟电路用于选择采样频率。本文设计的异步采样提供四种采样频率,由40MHz有源晶振提供基准时钟送到FPGA的可编程分频器,经过可编程分频电路之后产生40MHz、20MHz、10MHz和5MHz四种时钟,输出到时钟选择器。时钟选择器相当于一个单刀四掷的模拟开关,根据采样频率控制命令来控制某一路时钟接通,输出给采样存储模块。

(3)触发识别电路

触发识别电路的作用是识别触发并产生标志信号。本设计提供了四种常用的触发方式:随机触发、字触发、通道触发及延迟触发。

触发识别电路工作过程为:指令识别电路产生的触发方式控制信号,提供给触发方式选择器,触发方式选择器相当于一个2-4译码器,根据触发方式字使能对应的触发模块,输入的数据流在各功能触发识别模块中与用户设置的触发条件进行比较,若数据流中出现所设定的触发条件,则模块会输出触发有效信号,四个触发模块当中,只要其中任意一个产生了触发有效信号,经过与门都可以生成触发标志,控制数据采样存储。

(4)数据存储电路

数据采样回来之后,先经过锁存器锁存,一旦触发标志有效,就根据采样时钟的频率将锁存器数据输出到外接的SRAM。数据存储电路控制SRAM的数据写入有效,同时地址计数器的输出递增,这样可以在时钟到来时,将数据存入SRAM的地址,当下一个时钟到来的时候,就进行下一个数据的存储。计数器的值递增,达到系统所规定的存储深度之后,返回一个中断信号。PC机收到数据存满的信号之后,便可以将数据读回,再进行相应的分析、处理。

2.3 单片机及接口电路

FPGA芯片本身不带有RS-232标准串行通信接口,本设计采用了ATMEL公司的单片机AT89S52作为PC机和FPGA之间的桥梁。它接收来自PC机的命令,如果是参数初始化和数据采集命令,则将其解释给FPGA模块;如果是数据读取命令,则将SRAM中的数据读回,并根据串口协议打包之后发给PC机。单片机和FPGA之间的数据传输根据单片机和FPGA之间的自定义通信协议执行。

单片机与PC通信中,由于AT89S52的串行口输入/输出为TTL逻辑电平,而PC机内部的RS-232C串行口用+12V和-12V电平方式,本文采用Maxim公司的MAX232芯片实现RS-232电平转换。

3 上位机软件设计

虚拟逻辑分析仪的数据处理和显示功能由上位机通过虚拟仪器软件开发平台LabVIEW实现。

上位机的软件设计分为三个模块:控制模块、数据传输模块和显示模块。软件设计框图如图4所示。

控制模块主要完成对逻辑分析装置的数据采集参数进行设置。工作过程为:首先进行初始化,并打开计算机串口;然后在参数设置部分设置采样参数;参数设置完成后点击参数下载对应的按钮,程序将转入数据传输模块。

数据传输模块将设置好的参数通过串口传给硬件部分,然后再接收由硬件返回的采样数据。工作过程为:首先对串口进行设置,再根据预先规定的协议对所传输的数据进行配置,并将每个参数按照协议进行二进制编码,然后用LabVIEW控件发送命令字。下位机单片机部分接收到命令字后进行解析,并完成采样工作。上位机发出指令之后处于检测状态,当检测到串口收到数据时就开始接收返回数据,将下位机传来的数据全部接收存储在RAM内,然后将数据传输到显示模块。

显示模块对PC机接收到的数据进行分析,然后将其二进制数据列表或者显示成通道波形的形式。二进制数据序列表直接将存储区的数据按顺序显示,可利用LabVIEW中的Bundle函数来实现。波形显示方式要求把每个通道的数据独立显示,因此要求在数据处理时,把每个存储单元的数据按通道逐位取出,再把同一通道的数据合并,然后进行波形显示。可利用LabVIEW中的Digital Waveform Graph来实现。

4 性能指标及功能

在综合考虑应用需要和成本的前提下,本文设计的虚拟逻辑分析仪的主要性能指标为:有8个高速采样通道,最高可达40MHz采样率,存储深度达1 024KB,触发方式有随机触发、通道触发、延迟触发及字触发四种。其中多级字触发具备四级序列字触发和组合字触发功能。对不同的被测系统,提供相应的门限电平。RS-232串行接口配合LabVIEW开发的虚拟操作平台,可实现数据在PC机上的实时显示。

实现的主要功能包括:对所采集到的数据进行波形和二进制数据列表显示;保存用户所需要的显示图形;初始化命令,让系统复位准备;控制触发方式和触发字;控制采样速率;控制存储深度;选择采样时钟。

经测试表明,本文设计的虚拟逻辑分析仪具备了较强的逻辑分析能力,能满足信号分析的要求。由于数据存储部分中的数据锁存器、指令识别电路、采样时钟电路、触发识别电路、数据存储电路等采用可编程逻辑器件FPGA来实现,使硬件电路大为简化,提高了逻辑分析仪的可靠性,降低了成本,且功能易于扩展,具有一定的教学和科研价值。

参考文献

[1] 刘君华.基于 LabVIEW 的虚拟仪器设计[M].北京:电子工业出版社,2003.

[2] 窦振卓.用 FPGA 实现虚拟逻辑状态分析仪多种功能[J].电子测量技术,2006,(2) :121-122.

[3] 何海婷,王召巴.基于 FPGA 的嵌入式逻辑分析仪设计[J].长沙电力学院学报(自然科学版),2006,(2) :46-50.

虚拟频谱分析仪研究 篇5

自动测试与控制系统是Lab VIEW的主要应用领域之一, 信号分析与处理是测试技术工作的重要组成部分, 是虚拟信号分析仪器的核心部分。通过对信号进行时间域、频率域, 幅值域等不同域中的分析与处理, 可以将蕴含在信号中的有用信号识别、提取出来。本文具体介绍了利用Lab VIEW作为软件开发环境, 开发的虚拟测试分析仪中的信号分析处理功能。

1 开发语言概况

用于虚拟仪器开发的语言有文本式编程语言, 如Visualbasic, C++, Vis ual Labw indow s/CVI等, 虚拟信号发生器所使用的软件有Lab VIEW, HPVEE。其中影响最大的要数Lab VIEW语言, 被称为“仪器仪表界面”。Lab VIEW是美国NI公司开发的一套基于C语言, 专为数据采集与仪器控制、数据分析和数据表达而设计的开发软件。Lab VIEW具有丰富的库函数供用户调用。Lab VIEW应用程序的设计包括前面板及程序框图。前面板是用户可以见到的, 类似传统仪器的操作面板, 利用工具模板添加输入控制器输出指示器。控制器和指示器种类可以选择。程序框图是支持虚拟仪器实现其功能的核心。对程序框图的设计涉及节点、数据端口和连线的设计。连线代表数据走向, 节点则是函数、VI子程序、结构或代码接口。

2 信号分析系统的构成

本文开发的虚拟测试分析仪是基于数据采集卡的PC-DAQ系统。其构成主要由硬件平台和应用软件两大部分构成。硬件平台的核心是一台PC机, I/O接C7设备采用wwlab的外置MP27口数据采集卡。应用软件部分主要有应用程序和I/O接口仪器驱动程序。应用程序, 即虚拟仪器功能实现程序, 由六大功能模块续成:信号示波功能模块、数据采集功能模块、信号发生模块、信号分析处理、功能模块、模态分析功能模块、其它功能模块。其中信号分析处理功能模块是本虚拟测试分析仪的基础模块, 包含传统的各种时域分析及频域分析功能, 并且是模态分析的基础。

3 Lab VIEW下信号分析功能模块的设计

信号分析处理功能模块是虚拟测试分析仪的重要组成部分。信号分析处理主要在时域和频域两个域内进行, 所以系统采用模块化编程方式, 将时域分析和频域分析两个功能模块分别编制成为独立的子VI。在Lab VTEW中, 一个VI由两部分组成:前面板和流程图。前面板的功能等效于传统测试仪器的前面板, 流程图等效于传统测试仪器与前面板相联系的硬件电路。相应的虚拟仪器的设计也要从前面板的设计和流程图的设计两方面进行。

3.1 信号分析功能模块流程的设计

仪器流程的设计是根据仪器功能要求, 利用虚拟仪器开发平台所提供的子模板, 确定程序的流程图、主要处理算法和所实现的技术方法。不同的处理算法构造出不同的虚拟仪器, 流程设计是虚拟仪器设计的重点。

信号分析功能模块需要完成频谱分析、功率谱分析、频响函数、相干分析、脉冲响应等诸多功能, 因此也特别复杂, 其中包含许许多多的Cas e选择结构, 使得无论是程序的分析还是程序的维护都比较困难。

3.2 信号分析功能模块前面板的设计

时域分析模块的前面板设置了两个Wavegraph控件进行波形显示, 上面的Wavegraph用来显示由数据采集卡采集来的振动信号, 下面的用来显示对该信号进行各种时域分析的结果。

在Lab VIEW中, Wavegraph的功能十分丰富, 可以通过Plotle ge nd实现线型、颜色、数据点的表示方法等的选择。利用这一功能, 我们可以任意调整仪器时域波形的显示颜色, 改变数据点的显示方式。Gragh Palette可以实现图形的整体移动、局部缩放等功能。利用Gragh Palette可以实现对虚拟仪器波形显示区域内的波形横向、纵向缩放, 从而实现对感兴趣的波形段的观察分析。另外利用Cursor Le ge nd的游标功能, 仪器实现了对数据点的读数功能, 使用户能够从波形图上获得一些幅值、相位、频率等的直观信息。在时域分析模块的前面板除了波形控件之外, 还设置了若干个布尔控件, 分别控制每种时域分析功能 (包括时域波形、自相关函数、互相关函数和概率密度函数) , 通过点击不同的布尔控件实现不同的时域分析功能的选择。同时前面板还设置了一个时域数据统计信息显示区, 用来显示振动信号的均值、方差、均方值、有效值等信息。最后, 用一个布尔控件实现程序退出控制。

4 结语

在LABVIEW环境下, 通过前面板设计及流程图的编辑, 开发完成了基于虚拟仪器的测试分析仪。仪器能够完成数据采集、信号分析等测试分析仪的基本功能。信号分析仪功能模块分为时域分析和频域分析两部分。

时域分析模块能够实现时域波形显示、自相关、互相关以及统计信息等多种时域分析功能。

频域分析模块能够实现幅值谱、自功率谱等多种频域分析功能。

中国分类号:TM93文献标识码:A

摘要:本文论述了一种自行开发的以LabVIEW为基础的虚拟测试分析仪和信号分析功能的具体设计过程。实验测试表明, 仪器基本功能已经实现, 信号分析结果正确, 具有很好的工程应用性。

关键词:LabVIEW,虚拟仪器,信号分析

参考文献

[1]刘君华, 郭会军, 赵向阳等.基于LabVIEW的虚拟仪器设计[M].北京:电子工业出版社, 2003.

[2]李壮云, 葛宜远.LabVIEW基础教程[M].北京:电子工业出版社, 2002.

[3]范云宵, 刘桦.测试技术与信号处理[M].北京:机械工业出版社, 1997.

虚拟频谱分析仪研究 篇6

蜂窝错频组网存缺陷

根据Gartner的观点,Wi-Fi的发展主要经历了三代:第一代是在802.11正式成为Wi-Fi标准之前,那时没有统一的Wi-Fi标准,各个厂商根据自己的私有协议做胖AP;随着1999年802.11成为Wi-Fi标准,Wi-Fi进入了第二代,各厂商在802.11标准下做胖AP,但是不同的AP在同一个频段工作,集中管理不方便,同频干扰严重;为了解决同频干扰的问题,人们想出了错频组网的方法,采用微蜂窝架构组网,从而将Wi-Fi带入了第三代。错频组网的主要原理是2.4GHz频带可以划分出三个相互独立的信道(即信道1、信道6和信道11),让相邻的AP工作在不同的信道上,这样就可以解决干扰问题。

在Meru Networks大中华区总经理司马聪看来,第三代微蜂窝组网也存在缺陷。由于只有3个完全独立的信道,因此要使相邻的信道错频,AP的设计就要花费一番功夫,设计施工难度较大,而且在组网方案设计好之后,一旦要改动某个AP,相邻的AP就需要变动,可谓是“牵一发而动全身”。此外,由于只有三个独立信道,因此很可能某两个相同信道的AP之间只有一个不同信道的AP来进行分隔,而信号是逐渐衰减的,所以同频干扰问题依然存在。也有一些厂商通过降低功率的方法来减少干扰,不过它的负作用也显而易见:每个AP覆盖的终端数量降低,满带宽覆盖面积缩小,需要增加更多的AP才能保证信号质量,这无疑增加了网络覆盖成本。另一个影响是,增加更多的AP,再加上很多运营商、企业都在部署Wi-Fi网络,往往使得人们在任何一个地方都有多个AP可以选择,接入哪个AP成为一个费时的选择。

此外,802.11在设计之初没有考虑数据的连续传输,允许终端在不同的AP之间切换时会有3毫秒到3秒的中断,不能满足高端应用的需求。

虚拟化技术实现同频无干扰

为解决微蜂窝组网的缺陷问题,Meru Networks推出了虚拟化同频组网的技术。其核心原理是,采用同频组网的方式,在后台控制器上增加一个算法,保证同一时间没有一个以上的装置同时说话。“尽管同频有干扰,但是干扰是可以防止的,通过虚拟化的方式,实现了同频无干扰。”司马聪表示。

采用同频组网方式后,在设计施工时不用考虑不同信道错频,设计难度得以降低,每个AP的功率也不用降低,从而可以确保服务质量,降低网络部署成本。采用虚拟化技术,所有的AP组成了一个虚拟化的大AP,这样就降低了设备接入AP的难度,减少了在不同AP之间切换的时间,从而大大提升了网络服务效率。

上一篇:产品危害下一篇:广播电视网络发展介绍