收藏 分销(赏)

采用Welch法作谱估计.docx

上传人:仙人****88 文档编号:11731197 上传时间:2025-08-11 格式:DOCX 页数:5 大小:150.55KB 下载积分:10 金币
下载 相关 举报
采用Welch法作谱估计.docx_第1页
第1页 / 共5页
采用Welch法作谱估计.docx_第2页
第2页 / 共5页


点击查看更多>>
资源描述
《测试信号分析与处理》仿真实验 实验二:采用Welch法作谱估计 1.实验目的: a. 掌握We l c h算法的概念、应用及特点; b. 了解谱估计在信号分析中的作用; c. 能够利用We l c h法对信号作谱估计,对信号的特点加以分析。 2.实验内容: a. 读入实验数据。 b. 编写一利用We l c h法作谱估计的算法程序。 c. 将计算结果表示成图形的形式,给出信号谱的分布情况图。 3.算法讨论及分析 算法1:直接采用matlab中自相关函数[Px, F]=pwelch(x,, window,Noverlap,Nfft, fs) 式中,x -随机信号,长度为N Window -选用的窗函数 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-2 K =N/1100时的频谱图 图2-3 K=N/3000时的频谱图 2 不同的数据重叠长度Welch对谱估计结果有何影响? 如果数据交叠使用,分段数K 比平均周期图法增大,则估计方差比平均周期图法小,数据交叠长度越大,分段数K越大,则估计方差会越小,图形会变得平滑,如图2-4所示,上图数据重叠度大,K大,则曲线相对平滑。从式(1)也可以看出,式(1)为谱估计的方差。 (1) 图2-4 使用不同的重叠度得到的谱估计图 (上:重叠度为97%,下:重叠度为3%) 3 不同的窗函数对Welch谱估计结果有何影响? 使用窗函数,会使Welch谱估计的图形变得平滑,但是,不同的窗函数不同,则其主瓣宽度不同。主瓣宽度越窄,对信号的主瓣频率辨识效果越好,分辨率较高。从图2-5可以看出,使用矩形窗的分辨率高于汉宁窗。 图2-5 使用不同的窗函数得到的谱估计 (上:矩形窗,下:汉宁窗) 4周期图法与Welch法的谱估计结果有何不同? 周期图法本身的误差就很大,不是无偏估计,而且偏差比较大;welch方法应该会准确一些,它频谱分辨率可能低一些,但估计的方差会小些,所以功率谱看起来平滑一些,另外一个原因是welch方法你是加了窗的。两个估计都是跟准确值有偏差的,只是后者统计方差更小一些,相对更加可靠一点。 5.原程序清单 load Qjt.dat %加载数据 N=length(Qjt); %获得数据的长度 L=1800; %确定每段数据的长度 K=N/L; %在总数据中共取K段,没有重合 %K=2*N/L-1; %在总数据中共取K段,有重合 K=fix(K); for num=1:1:K %使用循环,提取每段数据 for i=1:1:L A(i,num)=Qjt((num-1)*L+i); %每段数据占据A阵的一列,没有重合 % A(i,num)=Qjt((num-1)*L/2+i); %每段数据占据A阵的一列,有重合 end for i2=L+1:1:2048 % 使用循环,补零 A(i2,num)=0; end end for num=1:1:K %使用循环,对每段数据使用矩形窗截取 tempA=A(:,num); % tempw=boxcar(2048); % 获取窗函数 for i3=1:1:2048 %对每段数据使用矩形窗截取 A(i3,num)=tempA(i3)*tempw(i3); end end for num=1:1:K %对截取之后的数据进行FFT变换,并获得傅里叶变换后的数据模 tempA=A(:,num); tempFFT=fft(tempA); %对每一段数据进行FFT变换 for i3=1:1:2048 %获取数据FFT变换后的模 Sxi(i3,num)=tempFFT(i3)*conj(tempFFT(i3))/2048; end end %循环结束 U=dot(boxcar(2048),boxcar(2048))/2048; %获得修正系数U tempSUM=0*ones(2048,1); for num=1:1:K tempSUM=Sxi(:,num)+tempSUM; %获得数据FFT变换后的功率谱和 end Sxx=tempSUM/(K*U); %调整系数 subplot(3,1,1); Sxxi=ones(1024,1); for inum=1:1:1024 Sxxi(inum)=Sxx(inum); end plot(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.实验后的体会和建议 通过该实验,通过自己编程,掌握We l c h算法的概念、应用及特点,初步了解谱估计在信号分析中的作用,同时能够利用We l c h法对信号作谱估计,对信号的特点加以分析。此外,熟悉了matlab编程,掌握了一定的matlab的编程技巧。 建议在matlab方面多给一些提示,在编程和了解matlab上投入了较多的精力,但是相比于实验1,在使用matlab上有了较大的进步。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服