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