您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 采用Welch法作谱估计
《测试信号分析与处理》仿真实验实验二:采用Welch法作谱估计1.实验目的:a.掌握Welch算法的概念、应用及特点;b.了解谱估计在信号分析中的作用;c.能够利用Welch法对信号作谱估计,对信号的特点加以分析。2.实验内容:a.读入实验数据。b.编写一利用Welch法作谱估计的算法程序。c.将计算结果表示成图形的形式,给出信号谱的分布情况图。3.算法讨论及分析算法1:直接采用matlab中自相关函数[Px,F]=pwelch(x,,window,Noverlap,Nfft,fs)式中,x-随机信号,长度为NWindow-选用的窗函数Noverlap-估计x的功率谱时每一段叠合的长度Nfft-对x作FFT时的长度fs-抽样频率算法2:该算法为有偏估计,利用FFT计算相关函数,4.实验结果及分析实验结果如图2-1所示,图2-1中上图为采用算法2,数据点为0~2048,中图也是使用的算法2,但是图中只是绘出1024个点,下图使用算法1,即matlab自带的算法。图2-1实验结果图1不同的分段点数对Welch谱估计结果有何影响?分段数K增大,每组数据量M减小,则会造成谱估计的偏差增大,曲线平滑;反之,曲线起伏激烈,谱线的尖峰保留。从图2-2中的K值大于图2-3的K值,图2-2中的曲线比图2-3的曲线平滑,但是图2-3的尖峰效果比图2-2好。图2-2K=N/1100时的频谱图图2-3K=N/3000时的频谱图2不同的数据重叠长度Welch对谱估计结果有何影响?如果数据交叠使用,分段数K比平均周期图法增大,则估计方差比平均周期图法小,数据交叠长度越大,分段数K越大,则估计方差会越小,图形会变得平滑,如图2-4所示,上图数据重叠度大,K大,则曲线相对平滑。从式(1)也可以看出,式(1)为谱估计的方差。24sinˆvar1sinxxxMSKM(1)图2-4使用不同的重叠度得到的谱估计图(上:重叠度为97%,下:重叠度为3%)3不同的窗函数对Welch谱估计结果有何影响?使用窗函数,会使Welch谱估计的图形变得平滑,但是,不同的窗函数不同,则其主瓣宽度不同。主瓣宽度越窄,对信号的主瓣频率辨识效果越好,分辨率较高。从图2-5可以看出,使用矩形窗的分辨率高于汉宁窗。图2-5使用不同的窗函数得到的谱估计(上:矩形窗,下:汉宁窗)4周期图法与Welch法的谱估计结果有何不同?周期图法本身的误差就很大,不是无偏估计,而且偏差比较大;welch方法应该会准确一些,它频谱分辨率可能低一些,但估计的方差会小些,所以功率谱看起来平滑一些,另外一个原因是welch方法你是加了窗的。两个估计都是跟准确值有偏差的,只是后者统计方差更小一些,相对更加可靠一点。5.原程序清单loadQjt.dat%加载数据N=length(Qjt);%获得数据的长度L=1800;%确定每段数据的长度K=N/L;%在总数据中共取K段,没有重合%K=2*N/L-1;%在总数据中共取K段,有重合K=fix(K);fornum=1:1:K%使用循环,提取每段数据fori=1:1:LA(i,num)=Qjt((num-1)*L+i);%每段数据占据A阵的一列,没有重合%A(i,num)=Qjt((num-1)*L/2+i);%每段数据占据A阵的一列,有重合endfori2=L+1:1:2048%使用循环,补零A(i2,num)=0;endendfornum=1:1:K%使用循环,对每段数据使用矩形窗截取tempA=A(:,num);%tempw=boxcar(2048);%获取窗函数fori3=1:1:2048%对每段数据使用矩形窗截取A(i3,num)=tempA(i3)*tempw(i3);endendfornum=1:1:K%对截取之后的数据进行FFT变换,并获得傅里叶变换后的数据模tempA=A(:,num);tempFFT=fft(tempA);%对每一段数据进行FFT变换fori3=1:1:2048%获取数据FFT变换后的模Sxi(i3,num)=tempFFT(i3)*conj(tempFFT(i3))/2048;endend%循环结束U=dot(boxcar(2048),boxcar(2048))/2048;%获得修正系数UtempSUM=0*ones(2048,1);fornum=1:1:KtempSUM=Sxi(:,num)+tempSUM;%获得数据FFT变换后的功率谱和endSxx=tempSUM/(K*U);%调整系数subplot(3,1,1);Sxxi=ones(1024,1);forinum=1:1:1024Sxxi(inum)=Sxx(inum);endplot(Sxx);%绘制0~2048点的图[Px,F]=pwelch(Qjt,boxcar(2048),0,2048);%使用pwelch函数计算subplot(3,1,2);plot(Sxxi);subplot(3,1,3);plot(Px);%绘制pwelch所得的图6.实验后的体会和建议通过该实验,通过自己编程,掌握Welch算法的概念、应用及特点,初步了解谱估计在信号分析中的作用,同时能够利用Welch法对信号作谱估计,对信号的特点加以分析。此外,熟悉了matlab编程,掌握了一定的matlab的编程技巧。建议在matlab方面多给一些提示,在编程和了解matlab上投入了较多的精力,但是相比于实验1,在使用matlab上有了较大的进步。
本文标题:采用Welch法作谱估计
链接地址:https://www.777doc.com/doc-1492747 .html