微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于LabVIEW的多功能虚拟频谱分析仪的设计

基于LabVIEW的多功能虚拟频谱分析仪的设计

时间:01-05 来源:互联网 点击:
0 引言

传统频谱分析仪器硬件结构复杂,体积笨重,价格昂贵,而且功能和规模固定、不可进行再开发,使其在高校实验教学中很难普及。虚拟仪器是现代仪器技术与计算机技术结合的产物,利用计算机软件代替传统仪器的硬件实现信号分析、数据处理和显示等多种功能[1]。本设计在研究了传统频谱分析仪的基本结构和工作原理后,提出了一种基于虚拟仪器技术的频谱分析仪设计方案,该系统不仅能够实现频谱分析仪的一般功能——幅相谱分析、功率谱分析、频谱分析,还能实现对信号的时频分析和倒频谱分析。

1 系统的总体结构设计

本系统采用模块化的构建方式,主控制卡和模块采集卡均插在系统背板上进行数据传输,实现即插即用功能,提高了系统的灵活性和仪器的可重构性;硬件采用FPGA技术,使其具有开放性,有利于功能的扩展;软件采用LabVIEW图形化编程语言,其开发效率高,可维护性好,自定义功能强大。图1为系统总体结构。

上层软件采用LabVIEW语言进行编程,通过驱动把控制命令传递到主控制卡上,主控制卡与模块采集卡通过利用FPGA实现的双口RAM 保持通信、传递命令。采集到的信号数据存储到模块采集卡的FIFO存储器中,之后再通过背板总线把数据传送到主控制卡中,主控制卡再把数据传送到上层软件LabVIEW中,通过LabVIEW编写程序来实现对信号的分析处理[2],完成多功能虚拟频谱分析仪的功能开发。

2 频谱分析仪的硬件结构设计

虚拟频谱分析仪的硬件部分负责数据采集和数字化,由总线接口通信模块、信号调理模块、触发电路模块和A/D转换模块四部分构成。图2为硬件设计原理图。

(1)总线接口通信模块:MCU通过利用FPGA实现的双口RAM与系统总线接口进行通信。MCU主要负责系统的初始化、处理总线发送过来的命令、控制相应的电路单元。

(2)信号调理模块:对大信号进行衰减、小信号进行放大,保证将信号调整到合适的电压范围内。由输入耦合电路、衰减电路、驱动放大电路等组成,单片机控制各个功能电路。

(3)触发电路模块:触发电路的作用是控制每次信号采集的起始位置,保证用户能够观察到稳定的波形,MCU通过控制多路选择器来选择触发信号源,之后经过信号整形电路输入给FPGA,从而进行时序控制[3]。

(4)A/D转换模块:选用ADI公司的双通道数模转换器AD9288,每通道最高采样率为40 MS/s。该模块是多功能虚拟频谱分析仪的核心模块,实现模数转换功能,并将转换后的数据存放到FPGA内部的FIFO中。

3 频谱分析仪的软件设计与功能实现

本文设计的虚拟频谱分析仪结合虚拟仪器技术,采用模块化的设计思想,每个功能模块实现一个功能分析。首先在前面板进行数据采集的各项设置,上层软件通过调用DLL(动态链接库)与系统总线进行通信,经数据采集卡采集到的数据通过USB总线上传到上位机,之后通过LabVIEW软件编程处理,最后实现频谱分析仪的功能分析。

3.1 一般功能分析

3.1.1 幅相谱分析

在测量信号的幅值和相位时,主要利用快速傅里叶变换,得出信号的FFT谱,然后根据FFT谱计算出幅值谱和相位谱[4]。幅相谱定义:假设x(n)是一个功率有限的输入,它的傅里叶变换为:

称X(?棕)为x(n)的频谱。当x(n)为离散信号时,幅值谱的计算公式:

图3为幅相谱分析程序图。

3.1.2 功率谱分析

功率谱表示随机信号频域的统计特性,有明显的物理意义。本文采用直接法,通过对原始数据直接进行快速傅里叶变换,求得DFT谱后再求功率谱密度[5]。功率谱密度公式为:

式中P(k)为输出序列的功率谱,X(k)为输入序列的傅里叶变换;N信号序列的点数。图4为功率谱分析程序图。

3.1.3 频谱分析

本设计采用快速傅里叶变换算法来实现信号的频谱分析。LabVIEW软件包含FFT控件,调用该控件对采样后的离散序列进行 FFT即可得到信号的频谱。当用LabVIEW中的实数 FFT 控件对从数据采集卡中传上来的实数序列进行信号处理时,需要保证采样序列长度是2n;考虑到实数序列通过FFT控件处理后的幅度是对称的,仅需对信号进行单边傅里叶变换;需注意直流序列可直接输出,而交流输出序列的幅值翻倍后输出才是最终结果[6]。图5为频谱分析程序图。

3.2 特殊功能的分析

3.2.1时频分析

传统的分析方法是信号单独在时域或频域中进行分析,而联合时频分析可以同时在时域和频域中对信号进行分析,确定在某一时刻频率成份的分布情况。

本文利用短时傅里叶变换基本原理进行时频分析,其基本思想是:将信号加窗,加窗后的信号再进行傅里叶变换,窗函数可根据的位置变化在整个时间轴上平移,利用窗函数可以得到任意位置附近的时间段频谱实现时间局域化,e-jwt起频限作用

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top