GHz高频信号的LabVIEW和MATLAB混合处理新方法
- UID
- 871057
- 性别
- 男
|
GHz高频信号的LabVIEW和MATLAB混合处理新方法
随着技术力量的不断提升,被处理的信号的频率越来越高。例如,手机的信号便是上GHz的超高频信号。在采集这类超高频信号的过程中,系统很容易受到各种电磁波的干扰,从而使有用信号夹带各式各样的谐波成分,这就给后续的信号处理带来了很大的麻烦,诸如数据量过大,计算复杂等。因此设计一套效率高,可用性强的系统来对高频信号进行采集及处理显得尤其重要。
1 设计思路
在这篇文章中,作者讨论一种可行的方法,即是使用LabVIEW来进行数据采集,使用MATLAB作为数据处理的平台。那么如何高效的将两者结合将成为设计的关键。本文将对不同的结合方法进行实验,具体执行步骤如下:首先使用LabVIEW将高频信号采集回来并暂时保存;鉴于MATLAB强大的计算能力,作者使用它来产生一个用于比较的高采样率的波形,并将这个波形通过3种不同的技术引入LabVIEW;最后通过均方差与相关性,可行性与速度的对比,分析哪一种方法才是最好的。
2 文献调查
在文献中,作者介绍了在LabVIEW平台如何运用DAQ工具进行基本采集的相关操作。文献中的作者介绍了在MATLAB上对信号进行各种处理的基本方法。在文献中,作者展示了在NI平台上如何运用Math Script RT模块来开发MATLAB代码。文献介绍了在LabVIEW中使用MATLABscript模块进行接口设计。
3 软件介绍说明
LabVIEW是一种基于数据流的编程语言,而MATLAB是第四代编程语言,用来执行数字计算的任务。
LabVIEW的数据流编程是一种基于图标的,因而常被人们称为G语言。用这些图标连成的程序叫做VIs(虚拟仪器)。程序的接口是基于前面板的,它能够接收输入和提供输出,在前面板中各部分模块以图标连线的方式组成一个结构框架。前面板中的另外一个重要的特性是连线板,它的作用是在一个VI中以图标的方式使用另一个VI。
人们最初使用LabVIEW只是用来测量,自动化控制,但是随着LabVIEW集成了越来越多的特性,它逐渐转变成了一种完善的开发环境。G语言最大的优势就在于他并行执行的能力。
MATLAB常被人们称为第四代语言。它具有严谨的数字化矩阵操作,如果用一些简单的语言,如:C,C++,来执行这些操作的话,那不论对编程者还是计算机来说都将是非常困难的。MATLAB起初是用来计算复杂的矩阵的。它也集成了不同的特性来满足各种各样的要求。例如,添加的Simulink就是MATLAB朝图形模块化发展的重要的一步。
使用LabVIEW还是MATLAB来完成特定的功能,取决于编程者的个人爱好。但是由于某些原因,作者需要将一种编程环境的特性使用在另一种环境中,比如:将一个使用MATIAB写的代码使用在并行执行的环境中。本文主要研究了LabVIEW与MATLAB相结合的3种解决方法,并通过一个用来标度的信号发生器来分析使用3种不同方法的优劣。
4 系统
所设计的系统结构如图1所示。
4.1 产生信号
当要对一个高频信号(比如高达2 GHz的信号)进行采集和处理的时候,通常会设计一个高速或者超高速硬件采集电路。包括放大部分、滤波部分;A/D和D/A转换部分等,这对电路的要求非常高,要求边采集边存储,电路速度高,而且要考虑各种辐射干扰等,同时,目前市场上的高频信号发生器价格普遍昂贵。因此作者使用LabVIEW的DAQmx工具包,产生虚拟高频信号。
DAQmx产生的虚拟高频信号可调参数多,且能够产生诸如正弦波,方波,锯齿波等波形。作者使用不同参数的信号,以使得结果更具有说服力。例如:频率范围:500 M~10 GHz,分辨率为10 Hz。
4.2 LabVIEW进行采集及显示
先在DAQmx定时VI中设定好采样模式及采样率,这里作者设定的是连续采样模式和1 000的采样率;接着在DAQmx读取VI中,作者设定为模拟多通道多采样2D DBL,超时设为2;最后将DAQmx开始任务VI、DAQmx停止任务VI、DAQmx清除任务VI与前面两个VI连接,这样就完成了基本的采集设计。将产生的模拟信号直接连接到波形图表VI可以很直观的看到波形。
前面板设计如图2所示。
其主要部分是显示采集波形的图表,和内部产生波形数据的图表。表盘和其左方的波形图是均方差的相关表述,数字控件描述的是均方差和相关系数的值。
相比起其他的信号比较法,如:基线信号比较法、信噪比和有效数据位比较法等,采用均方差来比较波形显得更加的简便,可靠。而相关性揭示了2个波形的相似度,即是2个数据间的线性关系。
采集的数据在LabVIEW中被保存为一个txt文档,这只需要将数据连线到写入文本文件VI即可。保存的数据可以被用来进行处理、分析或者是其它用途,同时这也提供了备份以防止不可遇见的事故发生。
4.3 MATLAB进行处理
MATLAB被用来执行数据计算来比较2个波形。 |
|
|
|
|
|