1、基于LABVIEW周期信号频谱分析1 引言傅立叶变换是数字信号处理领域一种很重要的算法。要知道傅立叶变换算法的意义,首先要了解傅立叶原理的意义。傅立叶原理表明:任何连续测量的时序或信号,都可以表示为不同频率的正弦波信号的无限叠加。而根据该原理创立的傅立叶变换算法利用直接测量到的原始信号,以累加方式来计算该信号中不同正弦波信号的频率、振幅和相位。和傅立叶变换算法对应的是反傅立叶变换算法。该反变换从本质上说也是一种累加处理,这样就可以将单独改变的正弦波信号转换成一个信号。因此,可以说,傅立叶变换将原来难以处理的时域信号转换成了易于分析的频域信号(信号的频谱),可以利用一些工具对这些频域信号进行处理
2、、加工。最后还可以利用傅立叶反变换将这些频域信号转换成时域信号。本课程设计利用Labview软件对信号进行频谱分析。本课程设计主要是通过对周期信号的研究和分析,掌握信号的频谱分析方法,理解信号有时域转换到频域的原理及方法,尤其对于周期信号可进行傅里叶变换,理解傅里叶变换的求解方法。本课程设计通过对周期性信号及任意信号的频谱分析,加深对快速傅里叶变换(FFT)的理解。2 虚拟仪器开发软件LabVIEW8.2入门2.1 LabVIEW简介2.1.1 LabVIEW概念LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机
3、语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。 与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。 虚拟仪器(virtual instrumention)是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。粗略地说这种结合有两种
4、方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器主要是指这种方式。2.1.2 虚拟仪器的主要特点 尽可能采用了通用的硬件,各种仪器的差异主要是软件。 可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。 用户可以根据自己的需要定义和制造各种仪器。 虚拟仪器实际上是一个按照仪器需求组织的数据采集系统。虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。目
5、前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW。 虚拟仪器的起源可以追溯到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。PC机出现以后,仪器级的计算机化成为可能,甚至在Microsoft公司的Windows诞生之前,NI公司已经在Macintosh计算机上推出了LabVIEW2.0以前的版本。对虚拟仪器和LabVIEW长期、系统、有效的研究开发使得该公司成为业界公认的权威。 普通的PC有一些不可避免的弱点。用它构建的虚拟仪器或计算机测试系统性能不可能太高。目前作为计算机化仪器的一个重要发展方向是制定了VXI标准,这是一种插卡式的仪器。每一种仪
6、器是一个插卡,为了保证仪器的性能,又采用了较多的硬件,但这些卡式仪器本身都没有面板,其面板仍然用虚拟的方式在计算机屏幕上出现。这些卡插入标准的VXI机箱,再与计算机相连,就组成了一个测试系统。VXI仪器价格昂贵,目前又推出了一种较为便宜的PXI标准仪器。 虚拟仪器研究的另一个问题是各种标准仪器的互连及与计算机的连接。目前使用较多的是IEEE 488或GPIB协议。未来的仪器也应当是网络化的。2.1.3 LabVIEW作用LabVIEW(Laboratory Virtual instrument Engineering)是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个
7、标准的数据采集和仪器控制软件。LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。这是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。 图形化的程序语言,又称为“”语言。使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系
8、统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。 利用LabVIEW,可产生独立运行的可执行文件,它是一个真正的位编译器。像许多重要的软件一样,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多种版本。2.2利用LabVIEW编程完成习题设计2.2.1第二章习题程序代码程序结果及前面板2.2.2第三章习题程序代码程序结果及前面板程序代码 程序结果及前面板2.2.3第四章习题1.程序代码 程序结果及前面板2.程序代码 程序结果及前面板3程序代码 程序结果及前面板4.程序代码 程序结果及前面板 2.2.4第五章习题1.程序代码 程序
9、结果及前面板2程序代码 程序结果及前面板3程序代码 程序结果及前面板4.程序代码 程序结果及前面板2.2.5第六章习题1.程序代码 程序结果及前面板2程序代码 程序结果即前面板 3.程序代码 程序结果及前面板 4.程序代码 程序结果及前面板 2.2.6第七章习题1.程序代码 程序结果及前面板2.程序代码 程序结果及前面板3.程序代码 程序结果及前面板4.程序代码 程序结果及前面板3 利用LabVIEW 实现信号的频谱分析-周期信号的频谱3.1 周期信号频谱分析的基本原理3.1.1频谱仪的介绍 频谱分析是信号频域分析中的重要方法,它对信号频率成分的识别、故障点的查找、直至机电设备故障原因的分析都
10、具有重要意义。在信号被采集、记录之后,通过对其进行频谱分析处理,以了解信号内所包含的频率成分,为对信号作进一步分析打下基础。通过本课程设计使学生掌握频谱分析的意义、基本原理及基于 LabVIEW的频谱分析仪的设计,同时使他们能综合运用所学知识解决实际问题,掌握分析、处理、解决问题的方法、步骤并为毕业设计打下基础。 频谱分析仪对于信号分析来说是不可少的。它是利用频率域对信号进行分析、研究,同时也应用于诸多领域,如通讯发射机以及干扰信号的测量,频谱的监测,器件的特性分析等等,各行各业、各个部门对频谱分析仪应用的侧重点也不尽相同。下面结合我台DSNG卫星移动站的工作特点,就电视信号传输过程中利用频谱
11、分析仪捕捉卫星信标,监控地面站工作状态等方面,简要介绍一下频谱分析仪的工作原理。3.1.2 频谱分析仪的工作原理 科学发展到今天,我们可以用许多方法测量一个信号,不管它是什么信号。通常所用的最基本的仪器是示波器,观察信号的波形、频率、幅度等。但信号的变化非常复杂,许多信息是用示波器检测不出来的,如果我们要恢复一个非正弦波信号F,从理论上来说,它是由频率F1、电压V1与频率为F2、电压为V2信号的矢量迭加。从分析手段来说,示波器横轴表示时间,纵轴为电压幅度,曲线是表示随时间变化的电压幅度。这是时域的测量方法如果要观察其频率的组成,要用频域法,其横坐标为频率,纵轴为功率幅度。这样,我们就可以看到在
12、不同频率点上功率幅度的分布,就可以了解这两个(或是多个)信号的频谱。有了这些单个信号的频谱,我们就能把复杂信号再现、复制出来。这一点是非常重要的。对于一个有线电视信号,它包含许多图像和声音信号,其频谱分布非常复杂。在卫星监测上能收到多个信道,每个信道都占有一定的频谱成份,每个频率点上都占有一定的带宽。这些信号都要从频谱分析的角度来得到所需要的参数。从技术实现来说,目前有两种方法对信号频率进行分析。其一是对信号进行时域的采集,然后对其进行傅里叶变换,将其转换成频域信号。我们把这种方法叫作动态信号的分析方法。特点是比较快,有较高的采样速率,较高的分辨率。即使是两个信号间隔非常近,用傅立叶变换也可将
13、它们分辨出来。但由于其分析是用数字采样,所能分析信号的最高频率受其采样速率的影响,限制了对高频的分析。目前来说,最高的分析频率只是在10MHz或是几十MHz,也就是说其测量范围是从直流到几十MHz。是矢量分析。这种分析方法一般用于低频信号的分析,如声音,振动等。另一方法原理则不同。它是靠电路的硬件去实现的,而不是通过数学变换。它通过直接接收,称为超外差接收直接扫描调谐分析仪。我们叫它为扫描调谐分析仪。 在工作中通常所用的HP-859X系列频谱仪都是此类的分析仪。其优点是扫描调谐分析法受器件的影响,只要我们把器件频率做得很高,其分析能力就会很强。目前的工艺水平,器件可达到100GHz,最高甚至可
14、做到325GHz。其频率范围要比前一种分析方法大很多。只是在达到较高分辨率时,其分析测量的时间会有所增加。 在实际工作中,无线信号卫星信号的监督,由于其频率很高,都是采用扫描调谐的方式。它所能给我们的信息没有相位参数,只有幅度、频率。它是一种标量的分析方法。另外,这种方法有很高的灵敏度,它受到前端扫描调谐器件的控制,还有很高的动态范围。 测试技术中的谱分析是指把时间域的各种动态信号通过傅里叶变换转换到频率域进行分析,内容包括:(1)频谱分析:包括幅值谱和相位谱、实部频谱和虚部频谱; (2)概率谱分析:包括自谱和互谱分析; (3)频率响应函数分析:系统输出信号和输入信号之间谱的相关程度; 上述这
15、些谱分析技术在计算机中实现的基础就是离散傅里叶变换,在LabVIEW中有些谱分析有相应的Express VI可以直接计算,下面将介绍频谱分析中的幅频谱分析。设模拟信号x(t)的傅里叶变化为X(f)。为了利用数字计算机来计算,必须使x(t)变换成有限长的离散时间序列。为此,必须对x(t)进行采用好截断。采用就是用一个等时距地周期脉冲序列s(t)(即comb(t,Ts )),也称采用函数去乘x(t)。时距Ts 称为采用间隔,1/Ts=fs成为采用频率。s(t)的傅里叶变换也是其周期脉冲序列,其频率间距fs=1/Ts。根据傅里叶变换的性质,采样后频率应是X(f)和S(f)的卷积:X(f)*S(f),
16、 将相当于X(f)乘以1/Ts,然后将其平移,使其中心落在S(f)的脉冲序列的频率点上,若X(f)的频带大于1/2Ts,平移后的图像会发生叠加,如图2中虚线所示。采样后的频谱是这些平移后图形的叠加,如图中实线所示。 由于计算机只能进行有限长序列的运算,所以必须从采样后信号的时间序列截取有限长的一段来计算,其余部分视为零二不予考虑。这样等于把采用后信号(时间序列)乘上一个矩形窗函数。窗宽为T。所截取的时间序列数据点数N=T/Ts。N称为序列长度。窗函数w(t)的傅里叶变换W(f)。时域相乘对应的频域卷积,因此进入计算机的信号为x(t)s(t)w(t),是长度为N的离散信号。它的频谱函数是W(F)
17、S(f)W(f),是一个频域连续函数。在卷积中,W(f)的旁瓣引起新频谱的皱波。计算机按照一定算法,比如离散傅里叶变换(DFT),将N点长的离散时间序列x(t)s(t)w(t)变换成N离散频率序列来,并输出来。注意到,x(t)s(t)w(t)的频谱是连续的频率函数,而DFT计算后的输出则是离散的频率序列。可见DFT不仅算出x(t)s(t)w(t)的“频谱”而且同时对其频谱X(f)*W(f)*S(f)实施频域的采样处理,使其离散化。现在,DFT是在频域的一个周期fs=1/Ts中输出N个数据点,故输出的频率序列的频率间距f=fs/N=1/(TsN)=1/T。频域采样函数是计算机的实际输出时与其相对
18、应的时域函数d(t)是D(f)的时域函数。应当注意到频域采样形成的频域函数离散化,相应的把其时域函数周期化,因而X(t)p是一个周期函数。3.1.3 调用FFT进行频谱分析3.1.3.1时间抽取(DIT)基2FFT算法设N点序列x(n),N=,将x(n)按奇偶分组,有改写为:一个N点DFT分解为两个 N/2点的DFT,继续分解,迭代下去,其运算量约为3.1.3.2频率抽取(DIF)2FFT算法频率抽取2FFT算法是按频率进行抽取的算法。社N=,将x(n)按前后两部分进行分解,按K的奇偶分为两组,即得到两个N/2 点的DFT运算。如此分解,并迭代,总的计算量和时间抽取(DIT)基2FFT算法相同
19、。3.1.3.3任意整数的FFT时,可采取补零使其成为,或者先分解为两个p,q的序列,其中p+q=N,然后进行计算。3.1.4 调用公式波形发生器产生任意波形以及特定函数发生器产生波形偏移量指定信号的直流偏移量。默认值为0.0。 重置信号如值为TRUE,时间标识重置为0。默认值为FALSE。 频率是波形频率,以赫兹为单位。默认值为100。 幅值是波形的幅值。幅值也是峰值电压。默认值为1.0。 公式是用于生成信号输出波形的表达式。默认值为sin(w*t)*sin(2*pi(1)*10)。 下表为已经定义的变量名称。 f频率等于频率输入a幅值等于幅值输入w2*pi*fn目前生成的采样数t已经过去的
20、秒数fs采样频率等于采样信息Fs错误输入表明该节点运行前发生的错误条件。该输入提供标准错误输入。 采样信息包含采样信息。 Fs是每秒采样率。默认值为1000。 #s是波形的采样数。默认值为1000。 信号输出是生成的波形。 错误输出包含错误信息。该输出提供标准错误输出。 3.2 周期信号频谱分析的编程设计及实现3.3 运行结果及分析3.3.1典型波频谱结果3.3.2 任意波频谱结果3.3.3 结果分析 对于条用FFT进行频谱分析,其特点是速度快,占用资源少,效率高。分别做了任意波频谱分析和典型信号的频谱分析。其中典型信号频谱分析又三角波,正弦波,方波,锯齿波的频谱分析,其产生用的是相应的函数发
21、生器。任意波用的是公式函数发生器,只要输入相应的函数,就能进行频谱分析。其中,在实验过程中,我又加入了任意波形发生器,而导致输出波形和频谱的频率不想对应,经过老师指正后,若输入信号的频率为10,则输出频谱的幅值的峰值出现在10处,若输入信号为sin(w*t)+sin(2*w*t)则频域幅值峰值分别出现在10处和20处。4 结论本次课设设计的是周期信号频谱分析,利用了快速傅里叶变换就行频谱分析。频谱分析的意义是很明确的,就是分析信号的频率构成。更确切的就是用来分析信号中含有那几中频率成分,反过来说,可以看出信号用哪几种频率来合成。通过本次课设,经过学习和查阅资料以及实际应用,对LabVIEW软件
22、有了一定的了解,可以自己独立的设计一些简单的实际应用程序,对于LabVIEW软件以后还要继续学习和研究,有了本次课设的基础,对以后的学习会有很大的帮助。而且关于数字信号处理方面的知识得到了丰富和提高,尤其是数字信号处理从理论到实践操作提升了一个平台,熟悉了课题研究的整体思路和方法,认识到进行课题研究应具思路和设计方法。第二,理论基础知识的重要性。课设涉及许多算法,会用到很多备的素质。第一,对一个课题的研究必须要阅读大量的文献和书籍来获得一定的感性认识,然后才会有一定的理论知识,需要日积月累、不断的学习。第三,掌握各种设计软件的必要性。应用功能强大的软件来进行计算、设计和仿真,可使研究工作得到事半功倍的效果。研究工作要有信心,要虚心,要不畏困难、不断进取,这样才可以保证课题研究工作的圆满完成。5 参考文献【1】作者:陈锡辉LabVIEW 8.20程序设计从入门到精通【2】作者:杨乐平.LabVIEW程序设计与应用【3】作者:郑君里.信号与系统
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1