实验一利用FFT做快速相关估计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《测试信号分析与处理》仿真实验实验一:利用FFT做快速相关估计1.实验目的:a.掌握信号处理的一般方法,了解相关估计在信号分析与处理中的作用。b.熟悉FFT算法程序;熟练掌握用FFT作快速相关估计的算法。c.了解快速相关估计的谱分布的情况。2.实验内容:a.读入实验数据。b.编写一利用FFT作相关估计的程序。c.将计算结果表示成图形的形式,给出相关谱的分布情况图。3.算法讨论及分析算法1:直接采用matlab中自相关函数Rx=xcorr(x,SCALEOPT)式中,x-随机信号,长度为NSCALEOPT-比例系数选项‘biased’-1/N,有偏.‘unbiased’-1/(N-|m|),无偏.‘coeff’-1/R(0),归一化.‘none’-无比例系数(缺省)算法2:该算法为有偏估计,利用FFT计算相关函数,Step1:对原序列补N个零,得新序列x2N(n)Step2:作FFT[x2N(n)]得到X2N(𝑒𝑗𝜔)或X2N(k)2,0,1,......,212kkkNNStep3:取X2N(k)的共轭2()NXk,得221()NXkNStep4:作2201ˆ()()NIFFTXkRmNStep5:调整0ˆ()Rm与ˆ()Rxxm的错位。4.实验结果及分析使用FFT做相关估计,得到的结果如图1-1所示,在图1-1中的上图表示的R0,下图为调整后的R0。1该信号可近似为平稳信号吗?可以,数字特征与时间没有关系。取N=8196,分别取间隔m=500,m=1000,所得到的均值均为0.9232,方差为94074,与时间无关。该部分程序见程序清单。图1-1自相关函数图2该信号是否具有周期性?信噪比如何?抛去几个极值点,从图1-2可以看出,数据具有一定的周期性,但是由于噪声的干扰,所以不是十分明显,借助它的频谱,如图1-3所示,频谱表现出了离散性,因此,可以判定该信号是具有周期性的,数据周期大约为1.3×104。图1-2数据图图1-3自相关函数和频谱图3数据量N对估计结果有何影响?在实验中,所使用的FFT做相关估计,其实际用的式子是101ˆ()()()NmxxnRmxnxnmN,均值的表达式为ˆ()()xxxxNmERmRmN(1-1)方差的表达式如下22ˆ()1()()()xxxxxxxxRmiRiRimRimN(1-2)由上述两式(1-1)(1-2)可得,N越大,方差越小,均值越趋于()xxRm,ˆ()xxRm为无偏渐进一致估计,估计效果好。4采用有偏估计和无偏估计的结果有何不同?哪一种结果更好?式(1-3)(1-4)分别为无偏估计的均值和方差,从式子中可以看出,均值为无偏估计,但是当m增大时,方差大,估计值分散,综合质量差,式(1-2)中的方差就没有这样的问题,估计值比较集中,故有偏估计更适合实际应用。101ˆ()()NmxxxxnERmRmNm(1-3)22ˆ()()()xxxxxxRmiNRiRimNm(1-4)图1-4无偏估计(下)和有偏估计(上)5.原程序清单%%计算数据的自相关函数的程序loadQjt.dat;%加载数据N=16384;%数据长度%N=8192;fori=1:1:N%提取数据X(i)=Qjt(i);endnum=2*N;%补零措施fori=N+1:1:num%X(i)=0;endXfft=fft(X);%x2N(n)进行FFT变换X2N(k)conXfft=conj(Xfft);%求X2N(k)的共轭R0=ifft((Xfft.*conXfft)/N);%求自相关函数Rxx=0*R0;%fori1=1:1:N%Rxx(i1)=R0(i1+N);%Rxx(i1+N)=R0(i1);%endn=1:1:num;%subplot(2,1,1);%stem(n,R0);%绘制R0的图subplot(2,1,2);%axison%stem(fftshift(R0));%调整后的R0%%计算数据的均值和均方差的程序loadQjt.dat;%加载数据%N=16384;N=8192;%选取数据量fori=1:1:NX(i)=Qjt(i);%选取数据,数据范围1~8192endold_mean=mean(X)%求数据的均值,数据范围1~8192old_var=var(X)%求数据的方差,数据范围1~8192%选取数据,与原数据的间隔为m=500,数据范围500~8692fori=500:1:(N+500)X(i)=Qjt(i);endnew500_mean=mean(X)%求数据的均值,数据范围500~8692new500_var=var(X)%求数据的方差,数据范围500~8692%选取数据,与原数据的间隔为m=500,数据范围1000~9192fori=1000:1:(N+1000)X(i)=Qjt(i);endnew1000_mean=mean(X)%求数据的均值,数据范围1000~9192new1000_var=var(X)%求数据的方差,数据范围1000~91926.实验后的体会和建议通过该实验,通过自己编程,掌握了FFT的算法程序,掌握用FFT作快速相关估计的算法,了解快速相关估计的谱分布的情况。同时,熟悉了matlab编程,掌握了一定的matlab的编程技巧。建议在matlab方面多给一些提示,在编程和了解matlab上投入了较多的精力。

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功