Matlab-fft函数培训讲学.doc

上传人:1595****071 文档编号:51590131 上传时间:2022-10-18 格式:DOC 页数:46 大小:1.48MB
返回 下载 相关 举报
Matlab-fft函数培训讲学.doc_第1页
第1页 / 共46页
Matlab-fft函数培训讲学.doc_第2页
第2页 / 共46页
点击查看更多>>
资源描述

《Matlab-fft函数培训讲学.doc》由会员分享,可在线阅读,更多相关《Matlab-fft函数培训讲学.doc(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Good is good, but better carries it.精益求精,善益求善。Matlab-fft函数-摘要本文介绍了Matlab数学工具箱中fft函数及LabVIEW自带VI算法在谐波分析中的具体应用。同时,实现了Matlab和LabVIEW的混合编程及谐波分析。本文设计了RC测试电路及毫欧电阻测量电路,并介绍了电路原理,通过调试,可以实现毫欧电阻的精确测量,及RC测量电路中测量R,C的工作。关键词:谐波分析;MATLAB与LabVIEW混合编程;数字式毫欧级电阻测量仪;RC测量电路ABSTRACTThisarticledescribesthemathematicaltoolb

2、oxMatlabfftfunctionandtheLabVIEWVIalgorithminharmonicanalysiscomeswiththespecificapplication.Atthesametime,toachieveamixofMatlabandLabVIEWprogrammingandharmonicanalysis.RCpaperdesignedtotestthecircuitandmilliohmsresistancemeasurementcircuit,andcircuittheoryintroducedthroughdebugging,youcanachieveacc

3、uratemeasurementofmilli-ohm,andtheRCmeasurementcircuittomeasureR,Cswork.Keywords:Harmonicanalysis;HybridMATLABandLabVIEWprogramming;DigitalcentsEuropeanlevelresistancemeasuringinstrument;RCmeasurementcircuit目录摘要扉页ABSTRACT1一、基于matlab进行谐波分析3二、基于Labview(VI)算法进行谐波分析9三、LabVIEW和MATLAB的混合编程16四、毫欧级电阻测量电路的设计

4、24五、RC测量模块的设计28结语32参考文献32第一章基于MATLAB(FFT函数)进行谐波分析离散傅里叶变换:任何系统的相应都可以看作是一个输入对系统各个频率响应的加权和,这就是数字信号处理理论中的离散时间傅里叶变换(DTFT)。离散傅立叶变换(DFT)是数字信号处理中最核心的数学工具。它可以实现信号在频域的离散化,从而使利用计算机在频域进行信号处理成为可能。特别是由于DFT有多种快速算法,又可以使信号处理的速度大大提高。同时,它又与信号处理的另两个重要工具:傅立叶变换和Z变换之间有着紧密的联系。因此,理解并熟练掌握离散傅立叶变换(DFT)这个工具,对于数字信号处理有着至关重要的意义。设x

5、(n)是一个长度为M的有限长序列,则x(n)的N点离散傅里叶变换为:由DFT变换,任一X(m)的计算都需要N次复数乘法和N-1次复数加法,而一次复数乘法等于四次实数乘法和两次实数加快速傅里叶变换法,一次复数加法等于两次实快速傅里叶变换数加法,即使把一次复数乘法和一次复数加法定义成一次“运算”(四次实数乘法和四次实数加法),那么求出N项复数序列的X(m),即N点DFT变换大约就需要N2次运算。当N=1024点甚至更多的时候,需要N2=1048576次运算,在FFT中,利用WN的周期性和对称性,把一个N项序列(设N=2k,k为正整数),分为两个N/2项的子序列,每个N/2点DFT变换需要(N/2)

6、2次运算,再用N次运算把两个N/2点的DFT变换组合成一个N点的DFT变换。这样变换以后,总的运算次数就变成N+2(N/2)2=N+N2/2。继续上面的例子,N=1024时,总的运算次数就变成了525312次,节省了大约50%的运算量。而如果我们将这种“一分为二”的思想不断进行下去,直到分成两两一组的DFT运算单元,那么N点的DFT变换就只需要Nlog2N次的运算,N在1024点时,运算量仅有10240次,是先前的直接算法的1%,点数越多,运算量的节约就越大,这就是FFT的优越性。在MATLAB信号处理工具箱中,提供了实现快速傅里叶变换(FFT)的函数fft。主要调用格式为:X=fft(x,N

7、)-采用FFT算法球离散序列的DFT编写的代码以x(n),xx(n)为谐波分析所处理的初始函数.首先,我们先测试正弦波,三角波,方波.步骤:1打开matlab2点击左上角FileNewMFile.弹出窗口.3将程序写入.4运行5得出三张频谱图6分析比较后,得出结论模拟的三个波形如下:%正弦波:xn=exp(j*pi/8*n);(for:n=0to15)%三角波:xxn=0,3(1/2),6(1/2),9(1/2),12(1/2),9(1/2),6(1/2),3(1/2),0,-3(1/2),-6(1/2),-9(1/2),-12(1/2),-9(1/2),-6(1/2),-3(1/2);%方波

8、:xxxn=-12(1/2),-12(1/2),-12(1/2),-12(1/2),-12(1/2),-12(1/2),-12(1/2),-12(1/2),12(1/2),12(1/2),12(1/2),12(1/2),12(1/2),12(1/2),12(1/2),12(1/2)编写M脚本文件:clear,closeallN=16;%共采集16点n=0:N-1;xn=exp(j*pi/8*n);%正弦波序列xxn=0,3(1/2),6(1/2),9(1/2),12(1/2),9(1/2),6(1/2),3(1/2),0,-3(1/2),-6(1/2),-9(1/2),-12(1/2),-9(

9、1/2),-6(1/2),-3(1/2),;%三角波序列xxxn=-12(1/2),-12(1/2),-12(1/2),-12(1/2),-12(1/2),-12(1/2),-12(1/2),-12(1/2),12(1/2),12(1/2),12(1/2),12(1/2),12(1/2),12(1/2),12(1/2),12(1/2)%方波序列Xk=fft(xn,N);%调用FFT函数XXk=fft(xxn,N);XXXk=fft(xxxn,N);figure(1)subplot(2,2,1);stem(n,xn,k.);title(2011-05-2016:3616点正弦波序列),xlabe

10、l(n),ylabel(x(n)subplot(2,2,3);k=0:N-1;stem(k,abs(Xk),k.)title(2011-05-2016:3616点DFTx(n),xlabel(k),ylabel(|X(k)|)figure(2)subplot(2,2,1);stem(n,xxn,k.);title(2011-05-2016:3616点三角波序列),xlabel(n),ylabel(xx(n)subplot(2,2,3);k=0:N-1;stem(k,abs(XXk),k)title(2011-05-2016:3616点DFTxx(n)),xlabel(k),ylabel(|XX

11、(k)|)figure(3)subplot(2,2,1);stem(n,xxxn,k.);title(2011-05-2016:3616点方波序列),xlabel(n),ylabel(xxx(n)subplot(2,2,3);k=0:N-1;stem(k,abs(XXXk),k)title(2011-05-2016:3616点DFTxxx(n)),xlabel(k),ylabel(|XXX(k)|)程序截图:频谱图:正弦波三角波方波由图可看出,正弦波只存在基波,其幅值与信号发生器所输入得振幅是相同的用信号发生器输出方波与三角波所产生的谐波就丰富了。我们用的是同幅同频波形,所产生的基波幅值是不相

12、同的。从三个图中,我们还可以看出高次谐波的幅值趋势,这与理论所得基本吻合。周期信号频谱具有如下三个特点:a.离散性,即周期信号的频谱是离散的,有一系列不连续的谱线组成。b.谐波性,即周期信号的谱线只出现在原周期信号角频(基波频率)w的整数频率点上,且谱线间的间隔等于w。c.收敛性,即谐波的幅度随谐波次数的增高而减小。第二章基于LabVIEW(VI算法)进行谐波分析LabVIEW提供了一组方便我们调用的VI。它的自功率谱VI-AutoPowerSpectrum用FFT求出时域信号的自功率谱。谐波分析VI-HarmonicAnalyzer在这个基础上给出各次谐波的频率和幅值。谐波分析面板设计进行傅

13、立叶变换的数据在理论上应为无限长的离散数据。但是实际上,我们只能对有限长的信号进行分析处理,对采样离散数据进行截取。而如果只取采样时间内有限数据,这样就存在频率泄漏。在本设计中所利用的加窗的方法就是用来减少频率泄漏。这里用到的加窗函数有:汉宁窗、海明窗、BLACKMAN窗、矩形窗等。谐波分析程序框图的设计图2-2加窗使无限长采样信号就变成了有限长的信号数据。然后只对加窗后的数据进行FFT快速傅立叶变换,然后计算出信号的幅值频。谐波分析主要有两部分组成对应框图程序分为两部分:一是数据采集和数字信号的处理,二是显示部分。数据采集以前已经完成,接着两个子函数分别为加窗函数和自功率谱计算函数。2-3加

14、窗函数图标与连线方式其中ScaledTimeDomain加窗函数图标为如上图2-3所示,它有两输入参数分别为要加窗的Waveform(即要进行加窗处理的波形数据)输入和Window(窗函数)输入,用户根据不同的需求来选择不同的窗函数输入。并通过一个条件结构来实现选择。为Chebyshev滤波器,调用Chebyshev系数VI后,Chebyshev滤波器VI将调用IIR级联滤波器VI,获取一个Chebyshev滤波后X序列,然后进行捆绑输出波形。图2-4幅值频谱程序框图图2-4中是幅值频谱程序框图,在这里使用“AutoPowerSpectrum”函数来完成功率谱计算,计算结果通过“Harmoni

15、cAnalyzer”模块进行谐波分析后形成幅值频谱。“AutoPowerSpectrum”函数的具体功能是:输入的加窗离散采集数据,进行自相关运算,再把运算结果进行FFT快速傅立叶变换,得到采样波形信号的幅值频谱。“HarmonicAnalyzer”模块是用于对幅值谱显示的数据处理。如图2-5所示,为频谱分析程序框图频谱,这里采用的分析方法是直接利用LABVIEW中的realFFT模块化子VI进行快速傅立叶变换,再将FFT变换所输出的复数分成实数和虚部两部分,它们分别是幅值和相位。为复数至极坐标转换,利用其实部即(幅值)和频率便构成了频谱。图2-5频谱分析程序框图调试及运行在实际应用中,数据采

16、样频率对最终谐波分析结果的准确性有决定性的影响,依据采样定理,应使2。另外,通过数学推导可知,若采样点数不大于被分析的谐波次数,在大于采样点数的相应谐波次数的谐波值将出现循环,例如,若采样点数为12,则第13次以后谐波值将不正确。在谐波分析中波形周期的确定,即对周期波形过零点的判断,对谐波分析结果的准确性也有非常大的影响。实际应用中,元件和回路的选取和设计,也对最终谐波分析结果的准确性产生影响。用信号发生器分别产生频率为50HZ的正弦波,方波及三角波,关闭低通滤波,不加窗,在线分析,通过USB2008板卡,连入电脑,运行所设程序,得到谐波分析后的数据,以下为三种波形的谐波分析图。由图2-6可看

17、出,正弦波只存在基波,其幅值与信号发生器所输入得振幅是相同的。图2-7和2-8中,用信号发生器输出方波与三角波所产生的谐波就丰富了。我们用的是同幅同频波形,所产生的基波幅值是不相同的,方波的基波幅值最大,三角波最小。同时从以下三个图中,我们还可以看出高次谐波的幅值趋势,这与理论所得基本吻合。周期信号频谱具有如下三个特点:a.离散性,即周期信号的频谱是离散的,有一系列不连续的谱线组成。b.谐波性,即周期信号的谱线只出现在原周期信号角频(基波频率)w的整数频率点上,且谱线间的间隔等于w。c.收敛性,即谐波的幅度随谐波次数的增高而减小。LabVIEW正弦波的谐波分析图图2-6Matlab谐波分析图L

18、abVIEW三角波的谐波分析图2-7Matlab三角波谐波分析图LabVIEW方波的谐波分析图图2-8Matlab方波谐波分析图本设计在谐波分析中的幅值频谱分析部分是基本正确的。顺利完成调用LabVIEW自带VI算法完成谐波分析的工作。但基于Labview自带算法处理的谐波畸变率很高.所以在接下来的混合编程中,我选择调用matlab的FFT函数替换LabVIEW自身算法处理谐波分析.第三章LabVIEW和MATLAB的混合编程LabVIEW是LaboratoryVirtualInstrumentEngi2neeringWorkbench(实验室虚拟仪器集成环境)的简称,是由美国国家仪器公司(N

19、ationalInstruments,NI)推出的一个功能强大而又灵活的仪器和分析软件应用开发工具。LabVIEW程序称为虚拟仪器或简称为VI,每个VI都由前面板和框图程序以及图标/连接端口三部分组成。LabVIEW不同于基于文本的编程语言(如Fortran和C),它是一种图形编程语言通常称为G编程语言,其编程过程就是通过图形符号描述程序的行为。LabVIEW使用的是科学家和工程师们所熟悉的术语,还使用了易于识别的构造G语言的图形符号。即使具有很少编程经验的人也能学会使用LabVIEW,并能够发现和了解一些有用的基本编程原则1。LabVIEW是工程人员开发虚拟仪器常用的一种软件工具。它有以下特

20、点:(1)图形化的编程方式,设计者无需写任何文本格式的代码,是真正的工程师的语言;(2)提供丰富的数据采集、分析及存储的库函数;(3)既提供了传统的程序调试手段,如设置断点,单步运行,同时提供独到的高亮执行工具,使程序动画式运行,利于设计者观察到程序运行的细节,使程序的调试和开发更为便捷;(4)32bit的编译器编译成32bit的编译程序,保证用户数据采集,测试和测量方案的高速执行;(5)囊括了PCI、GPIB.PXI、VXI、RS2232/485在内的各种仪器通信总线标准的所有功能函数,使得不懂得总线标准的开发者也能够驱动不同总线标准的接口设备与仪器;(6)提供大量与外部代码或软件进行连接的

21、机制,诸如DLL(动态连接库)、DDE(共享库),ActiveX等;(7)强大的Internet功能,支持常用的网络协议,方便网络、远程测控仪器的开发。MATLAB(MATrixLABoratory,矩阵实验室)是由美国MathWorks公司于1984年推出的一套数值计算软件,分为总包和若干个工具箱,可以实现数值分析、优化、统计、偏微分方程数值解、自动控制、信号处理、图像处理等若干个领域的计算和图形显示功能。它将不同数学分支的算法以函数的形式分类成库,使用时直接调用这些函数并赋予实际参数就可以解决问题,快速而且准确。MATLAB自1984年正式推出后,其功能越来越强大,知名度也越来越大,已成为

22、国际公认的最优秀的数学软件之一,其应用范围涵盖了工业、电子、医疗以及建筑等领域。其主要特点大致如下:(1)MATLAB的基本单位为矩阵,其表达式与数学、工程计算中常用的形式类似。并且矩阵的行和列无需定义,可随时添加或修改;(2)MATLAB语言以解释方式工作,对每条语句进行解释后即运行,键入算式即得结果,无需编译,对错误可立即做出反应,大大减少了编程和调试的工作;(3)具有非常友好的人机界面。MATLAB语言规则与人们长期以来使用的在演算纸上进行演算的书写习惯十分相似,易学易读适于交流;(4)具有强大的作图和数据可视化功能。可以把数据以多种形式加以表现,非常简单、直观、方便;(5)具有很强的可

23、扩展性。MATLAB软件包括MATLAB主程序和许多日益增多的工具箱,工具箱实际就是用MATLAB的基本语句编写的各种子程序集,用于解决某一方面的专门问题或实现某一类的新算法。MATLAB还提供了与其他应用语言的接口,以实现数据的共享和传递。综上,虚拟仪器编程软件LabVIEW和数学软件MATLAB是目前工程技术领域中比较流行的两种软件,功能强大,但是各自在某些方面存在着不足和缺点,对于一些需要进行大量数据运算处理的复杂应用,LabVIEW显得有些力不从心。因此如果在LabVIEW中实现MATLAB的调用,把LabVIEW软件平台与MATLAB相结合使用,无疑可以很好地补充LabVIEW的开发

24、功能,大大的拓宽虚拟仪器的开发范围。具体调用原理:LabVIEW的脚本节点允许用户执行外部脚本。具体地讲,使用脚本节点可以执行MATLAB脚本。由于许多人都曾经开发和使用过MATLAB脚本(称为m文件),本论文将集中讨论使用MATLAB脚本节点来执行MATLAB脚本文件,其具体实现过程如下:访问MATLAB脚本节点:可从AllFunctions选项板上访问MATLAB脚本节点,其调用方法:FunctionsAllFunctionsAna2lyzeMathematicsFormulaMATLABScript,打开MATLABScript节点即可进行操作。在框图上放置脚本节点的方法是首先从选项板中

25、选择MATLAB脚本节点并将其放置在框图上,然后使用Positio2ning工具将脚本节点调整到所希望的大小。向MATLAB脚本节点输入脚本:有两种方法可以向脚本节点中输入MATLAB脚本。(1)使用Operating或Labeling工具直接向MATLAB脚本节点中输入脚本;(2)可以直接导入写好了的脚本,方法是使用鼠标右健单击MATLAB脚本节点,从快捷菜单中选择Import,从打开的Chooseascript(选择脚本)对话框中选择要导入的文件并单击Open,MATLAB脚本文本将出现在脚本节点中。为了便于调试,建议在导入脚本到LabVIEW之前,先在MATLAB环境内编写并运行。输入和

26、输出变量:需要为MATLAB脚本节点的变量添加输入输出变量。添加输出变量的方法是右击MATLAB脚本节点帧并从快捷菜单中选择AddOutput。同样,添加输入变量的方法是右击MATLAB脚本节点帧并从快捷菜单中选择AddInput.当输入输出变量出现在节点上后,可以给它们添加名字,当然在任何时候都可以使用Labeling工具编辑变量的名字。默认情况下,MATLAB脚本节点分别为errorin和errorout参数设置了一个输入和一个输出。为了利用错误检查参数获取调试信息,建议在运行VI前为MATLAB脚本节点上的errorout端子创建指示器,以观察运行时产生的错误信息。保存MATLAB脚本:

27、有时要将MATLAB脚本保存为文本文件,这样以后可从LabVIEW中打开该文件,从而将MATLAB脚本导入LabVIEW.保存MATLAB脚本的方法是右击MATLAB脚本节点并从快捷菜单中选择Export,打开Namethescript对话框,输入希望的新文件名或选择要覆盖的现存文件,然后单击save.MATLAB脚本文件是文本文件,尽管文本文件通常有.txt扩展名,但MATLAB文件使用.m扩展名。这与MAT2LAB的m文件命名约定一致。调用时注意事项:在LabVIEW中调用MATLAB时必须注意以下几点:(1)LabVIEW使用ActiveX技术来实现MAT2LAB脚本节点,因此MATLA

28、B脚本节点只能用于Windows平台上。(2)计算机上必须安装MATLAB5.0以上的版本才能使用MATLAB脚本节点,因为执行脚本节点时要调用MATLAB脚本服务器。(3)LabVIEW虽然认可MATLAB数据类型,但是必须注意变量数据类型匹配要正确,否则LabVIEW运行时将产生错误或产生错误的信息。所以应该经常检查脚本节点的输入、输出数据类型。在MATLAB中,对于任何新的输入或输出,其默认类型为Real.为了改变脚本节点上输入输出端子的数据类型,首先右击输入或输出端子并从快捷菜单上。具体应用:调用MATLABScript节点来处理谐波分析部分.Code:n=1:N;%范围fori=1.

29、0:1.0:NX(i)=B(1,i);end%序列X(i)y=fft(X(i),N);%快速变换y1=abs(y);%去绝对值figure(1);%画出曲线图plot(n,y1,k)%n为X坐标,y1为y坐标f1=fs*n/N;h1=y1/N;程序框图:测试及结果:以下为三种波形的谐波分析图。可看出,正弦波只存在基波,其幅值与信号发生器所输入得振幅是相同的。用信号发生器输出方波与三角波所产生的谐波就丰富了。我们用的是同幅同频波形,所产生的基波幅值是不相同的,方波的基波幅值最大,三角波最小。同时从以下三个图中,我们还可以看出高次谐波的幅值趋势,这与理论所得基本吻合。周期信号频谱具有如下三个特点:

30、a.离散性,即周期信号的频谱是离散的,有一系列不连续的谱线组成。b.谐波性,即周期信号的谱线只出现在原周期信号角频(基波频率)w的整数频率点上,且谱线间的间隔等于w。c.收敛性,即谐波的幅度随谐波次数的增高而减小。正弦波三角波方波结论:对比LabVIEW和混合编程所做的谐波分析.可以清楚地看出混合编程所得到的THD%(谐波失真率)明显下降,是此前的十分之一.精确度大为提高.所以混合编程基本得到实验目的.第四章毫欧级电阻测量电路的设计毫欧级电阻测量电路实际工作中往往需要测量一些毫欧级电阻的阻值,常用数字万用表最小测量范围一般为:0-200欧,对于三位半数字表,最小分辨率只能达到0.1欧,又由于两

31、表笔引线电阻和接触电阻通常在数百毫欧且不稳定因此一般数字式万用表难以准确测试毫欧级电阻。而我们采用四段测试法,有效地消除了引线电阻和接触电阻的影响;信号放大采用高精度低漂移的仪表放大器INA114,电路工作稳定、可靠。本毫欧电阻测量电路的基本原理是采用在被测电阻上通过已知恒定的43.8mA电流,取出被测电阻上的压降,经高精度仪表放大器INA114放大转换直流电压,然后通过带有A/D转换功能的USB2008数据采集卡采集到虚拟仪器labvIEW上,再对该信号进行编程处理从而得到较为准确的被测电阻值。原理框图:测试时采用了四线测试法,有效地消除了引线电阻和接触电阻的影响,如原理图虚线框内所示。端子

32、1、2是恒流源电流输出端口,端子3、4是放大器的输入端,测量时用四根专用导线与被测电阻Rx连接。当Rx两端的输出电压较小时可以通过仪表放大器的增益提高分辨率,大大降低了电路的功耗。提高分辨率可以采取改变数字表头的参考电压和增大恒流源电流两种方式。但是改变数字表头的参考电压需要更换自校零电容、积分电阻、以及模拟公共端与V+端的电阻和电位器。增大恒流源电流,功耗大,取样电阻发热,温度漂移大。为提高系统抗干扰和噪声的能力,保证测试的精度,设计了10mA高精度恒流源,信号放大采用高精度仪表放大器INA114。电路图:由于要实现对微小电阻的测量,所以要求放大器的分辨率高,线性度好,输入阻抗高,并要求漂移

33、低、低噪声和抗干扰能力强,为此选用了仪表放大器INA114。当R分别为无穷大(1、8端开路)、5.62K欧、511欧、49.9欧时,可以得到1、10、100、1000增益,从而实现仪表的四个测量量程。调试及实验结果1将USB2008信号采集卡接入计算机。并按照图5-2的电路图接好电路。给电路接入信号。其中电压信号U0由通道ch1采集。地统一接入AGND端(模拟地)。此外,由于USB2008板卡只有两个模拟输出通道可用,分别是DA2和DA3。通过阿尔泰测控演示系统来设置输出的通道口,在这里我们选择DA2和DA3通道分别为INA114放大器提供+5V和-5V的直流电压。方法是把板卡DA2和DA3的

34、引出线的以及接地线接到测量电路的INA114放大器的7端和4端上。2打开LabVIEW,进入毫欧电阻测量模块,先选择相应的量程。3做好面板选择后,LabVIEW运行相应程序框图。得出结果在面板上的相应区域显示出来。我们主要观察被测电阻Rx显示框中的显示值。实验结果接好实验线路。设置USB2008型数据采集卡的属性:连续采集、内触发、单端方式。根据设计需要在LabVIEW面板中设计输入通道U0:ch1。同时,还设定了采样频率和组间间距值。另外,用阿尔泰测控演示系统的DA输出测试的DA2和DA3分别给电路提供+5V和-5V电压。通过毫欧电阻测量电路分别测量10m、15m、20m的被测电阻。运行程序

35、,采样所得的波形如图1、2、3所示。面板上所显示波形的值和被测电阻实际阻值大致一致。基本达到设计要求。图15m电阻测量结果图210m电阻测量结果图315m电阻测量第五章RC测量模块的设计RC参数测试程序的设计1.RC参数测试仪原理如下:测试接线图如图5-1-1所示:图5-1-1RLC测试接线图在图5-1-1中,为被测阻抗,RS为采样电阻。U为幅值可调信号源(频率固定为50Hz)。由图5-1-1可知:令被测混合阻抗,则有:于是:式中,为U和Us的相位差。例如,若已知阻抗为电阻、电容、电感的串联阻抗,即:则通过以上的测量运算,可获得被测电阻和被测电容的值:(5-1)(5-2)(5-3)开始l 启动

36、数据采集卡l 进行两路数据采集、A/D转换l 将采集转换换后的序列值u1(n)及u2(n)存入指定的存储单元l 分别求出u1(n)及u2(n)的幅值l 在求出他们之间的相位差把相应的值代入式5-1,5-2,5-3并计算显示计算结果5-1-2虚拟RC测试仪主程序流程框图RC测试方法与实验结果RC测试方法与步骤1将USB2008信号采集卡接入计算机。并按照图5-1-2的电路图接好电路。给电路接入信号。其中电压信号U由通道ch1采集,电压信号Us由通道ch2采集。地统一接入AGND端(模拟地)。2打开LabVIEW,进入功率测量模块,启动程序。点击“开始测量”,并根据电路中Zx的类型,在“R、C”三

37、个复选框中做相应的选择。3做好面板选择后,LabVIEW运行相应程序框图。得出结果在面板上的相应区域显示出来。我们主要观察R、C显示框中的显示值。4如果需要记录当前数据以及处理结果,在面板的报表路径框中输入保存路径,点击“生成报表”按钮,该按钮会显示“报表生成中”字样。表明程序此时正在生成.xls格式的文件。再点击“记录”按钮,程序便将此时生成的报表保存至刚才输入的路径下。调试及实验结果1、按图5-1-1连接实验线路。图5-1-1中,为被测阻抗,采样电阻(可以任意调节,采用滑动变阻器),U为信号源输出,为两端的电压。注意两通道要共地。2、将滑动变阻器的电阻调到40.1,用一阻值为60的电阻代替

38、,把采集方式拨到两路采集,首通道选择为“1”、末通道选择为“2”,然后选中R、L、C三个对话检验栏的R,调节前面板上的值与实际电路中的的值(40.1)相等,运行,输入报表保存路径。然后先按下“生成报表”按纽,程序便生成数据报表,再按下“记录”按钮,将生成的报表按照输入的路径保存。生成的报表如图5-2-1所示。从表中可一看出最大测量误差为在工程误差为5%以内,所以这种方法完全可行。注意表中的有效值0和有效值1分别指电源输出电压和滑动变阻器两端的电压,所以电路电流应为有效值1除以滑动变阻器的阻值的商,而不是直接等于有效值1。图5-2-1=60,=40.1时生成的报表3、再用电容值为624pF的电容

39、替换被测电阻,保持采样电阻Rs不变。选中C选项,运行,并按下生成报表按钮及记录按钮,生成的报表如图5-2-2所示。从表中可以看出最大测量误差为,误差偏大。结论:整体看来,频率在几百赫兹内R的测量结果较符合设计要求,频率太大,测量误差就会增大,正常情况下,所得R数据是不随频率变化的。C部分在频率较小(50Hz)时,其数据严重偏小只有500pF。随着频率的增大,C也随着增大。当频率为200Hz时C的实验数据稳定590-603.pF之间。而随着频率的继续增大,C值在实际电容值上下波动且波动范围逐渐增大。至于L部分由于能力有限,未能达到目标。总的来说,该模块设计尚有许多不足之处。结语在本次毕设的谐波分

40、析模块中,我们实现了基于matlab及LabVIEW俩款软件独立进行谐波幅值频谱的分析,同时也实现了matlab和LabVIEW混合编程进行谐波幅值频谱的分析,并把其数据保存及以表格形式直观的显示出来。所得分析结果基本符合理论知识。该模块设计的不足之处在于毛刺的存在,可能原因是泄漏效应和信号长度的选择等因素的影响,以及数据采集卡的采样数据存在失真,也可能是在测量中引入了误差。对于毫欧电阻的测量,我们基本达到了设计要求,但是实验数据出现零点漂移是本次设计最大的不足。RC测量模块的设计在一定范围的频率下,波形显示、电压幅值显示、阻值计算等部分都达到设计要求,设计中存在的问题是,当频率较大时,C值在

41、实际电容值上下波动且波动范围逐渐增大。最后,由衷地感谢陈培民老师对我们的帮助.参考文献1蒋珉MATLAB程序设计及应用.北京:北京邮电大学出版社,20102JetffreyTravis、JimKrin著,乔瑞萍等译LabVIEW大学实用教程(第三版).北京:电子工业出版社,20083王晓东算法设计与分析(第2版.北京:清华大学出版社,20084范寿康等LabVIEW、MATLAB及其混合编程技术.北京:机械工业出版社,2011.5谭浩强C语言程序设计(第三版).北京:清华大学出版社,20056陈生潭等信号与系统(第二版).西安:西安电子科技大学出版社,20017华侨大学图书馆数字资源8USB2008数据采集卡软硬件使用说明书-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁