基于labview的频谱分析
摘要
信号处理几乎涉及到所有的工程技术领域, 而频谱分析正是信号处理中一个非常重要的分析手段。一般的频谱分析都依靠传统频谱分析仪来完成, 价格昂贵, 体积庞大, 不便于工程技术人员的携带。虚拟频谱分析仪改变了原有频谱分析仪的整体设计思路, 用软件代替了硬件。使工程技术人员可以用一部笔记本电脑到现场就可轻松完成信号的采集、处理及频谱分析。
关键字:Labview ;信号处理;频谱分析。
目 录
1 目的及基本要求 ............................. 错误!未定义书签。 2 频谱分析仪程序设计原理 . .............................................. 错误!未定义书签。 3频谱分析仪设计和仿真........................................... 2
3.1 总体程序设计................................................................................................................... 2 3.2各功能模块详细设计........................................................................................................ 8 3.3 程序存在的不足............................................................................................................. 11
4 结果及性能分析 ............................................ 12
4.1 运行结果 ....................................................................................................................................... 12 4.2性能分析 ........................................................................................................................................ 13
参考文献 ................................................... 14
1 目的及基本要求
熟悉LabVIEW 开发环境,掌握基于LabVIEW 的虚拟仪器原理、设计方法和实现技巧,运用专业课程中的基本理论和实践知识,采用LabVIEW 开发工具, 实现梦幻钢琴程序游戏的设计和仿真。要求通过本课程设计使学生熟悉LabVIEW 开发环境,掌握基于LabVIEW 的虚拟仪器设计原理、设计方法和实现技巧,使学生掌握通信系统设计和仿真工具,为毕业设计做准备,为将来的学习及今后从事科学研究、工程技术工作打下较坚实的基础。
利用LabVIEW 强大的虚拟仪器开发功能,可实现基于快速傅里叶变换(FFT)的现代频谱分析仪功能,采用数字方法直接由模拟/转换器(ADC)数字对输进信号取样,再经滤波,加窗函数处理后获得频谱图。
2频谱分析仪设计原理
采用数字处理式频谱分析原理设计虚拟频谱分析仪. 工作流程如下:连续时间信号经过采样变为离散时间信号, 利用LabVIEW 强大的数字信号处理功能, 对数据进行滤波、加窗、FFT 运算处理, 得到信号的幅度谱、相位谱及功率谱等. 采样过程中, 对不同的频率信号, 选用合适的采样速率, 以满足采样定理, 防止频率混叠. 进行傅里叶变换的数据在理论上应为无限长的离散数据序列. 实际上, 只能对有限长的信号进行分析与处理, 所以必须对无限长的离散序列进行截断, 只取采样时间内的有限数据, 从而存在着频谱泄漏问题. 本文设计中分别用矩形窗、汉宁窗、哈明窗、布来克曼窗等窗函数减少频谱泄漏. 由于取样信号中混叠噪声信号, 因此为了消除干扰, 在进行FFT 变换前, 应先进行滤波处理. 本文设计采用巴特沃斯(Butterworth)、切比雪夫(Chebyshev)、椭圆(Ellipse)、贝塞尔(Bessel)等滤波器进行滤波.
3 频谱分析仪设计与仿真
3.1总体程序设计
本文设计的虚拟频谱分析仪由周期性信号发生器和频谱分析器两个子模块组成。信号发生器子模块模拟产生正弦波,方波,三角波等信号并进行噪声叠加,偏移量调节。频谱分析和滤波器子模块利用LabVIEW 强大的数字信号处理功能,对这组数据进行滤波、加窗得到信号的幅频特性曲线和相频特性曲线。
(1) 主程序前面板
图1 主程序前面板
图2 主程序前面板
(2) 主程序后面板程序
图3 主程序后面板
图4 主程序后面板
图5 主程序后面板
3.2 各功能模块详细设计
(1)频谱分析模块
将时域信号变成频域信号再分析称为频谱分析. 多数情况需要观察频谱图进行频率分析. 图3为频谱分析功能程序框图, 程序采用复数至极坐标转换函数将FFT 的输出分解为幅值和相位, 其中相位的单位为弧度(rad )。
图6 频谱分析框图
(2)幅频相频特性模块
当一个测试系统输入任意信号为x(t),输出为y(t)时, 输出和输入间的傅里叶变换比是一个关于频率的复变函数, 称为频率响应函
数
. 在实际应用中
,
常用其模
和相角
表示, 称为测试系统的幅频特性和相频特性. 幅频相频特性曲线可由幅频
相频特性分析程序获得, 相应曲线绘制于程序的前面板。
图7 幅频相频特性模块框图
(3)谐波失真度分析模块
利用谐波失真度分析, 可以实现正弦波的失真度测量.AutoCorrelatuon.vi 输出的互相关序列为: Rxyj= !Xk X j+k ,j=-(M-1),-(M-2),∀,-1,0,1, ∀,M-2,M-1,k#[0,N-1], 其中,Xj=0(j
图8谐波失真度分析模块框图
3.3程序存在的不足
可能是时间太过仓促,本程序在设计上存在一些不足。我把自己看到的一些不足列举如下:
由于对LabVIEW 的掌握不够充分,在刚开始经历了许许多多失败,始终无法领会LabVIEW 的精髓,没有掌握其开发软件的思想。LabVIEW 其实跟C 语言在本质上是一样的,只是它们的表现形式不同。
我不知道子VI 是如何运用的。在程序中常用子VI ,这虽然便于简化程序框图,却给我读程序造成很大的不便。不便的原因主要是在上课实践过程中没有运用过子VI 完成作业或者做练习,虽然我在潜意识里知道子V I的用途很大。看着遍布程序框图的子VI 我不知道它怎么运用、为什么这样运用,练习子VI 的原程序框图了解该子VI 后我还是不知道如何运用
4 结果及性能分析
4.1运行结果
1. 频谱分析结果
图9 频谱分析结果前面板显示
图10 幅频—相频特性结果前面板显示
4.2 性能分析
综上可见, 我们设计的虚拟频谱分析仪具有操作界面友好、可靠性高、价格低廉、实用性强等优点, 它基于计算机的强大处理能力, 采用软件替代硬件实现了频谱分析, 用加窗的方法减少频谱泄漏并可以按要求存储数据, 实现了存储波形回放等功能, 具有广阔的发展前景。
参考文献
[1]张华,管红根,桂成兵. 基于 LabVIEW 的火炮振动测试分 析系统[J ]. 兵工自动化,2012(4):75 -77.
[2]陈勇,洪传文. 基于 LabVIEW 的水轮机振动信号采集与处 理[J ]. 水电与新能源,2010(5):17 -29.
[3]张玉华,蒋书波,程明霄,等. 基于虚拟仪器的振动测试系 统的设计[J ]. 传感器与仪器仪表,2007(23):170 -171. [4]彭勇,潘晓烨,谢龙汉. LabVIEW 虚拟仪器设计及分析 [M ]. 北京:清华大学出版社,2011.
[5]韩捷,张瑞林. 旋转机械故障机理及诊断技术[M ]. 北京: 机械工业出版社,2007.