用最大似然估计的方法来估计频率

用最大似然估计的方法来估计频率

ID:11760265

大小:31.43 KB

页数:4页

时间:2018-07-13

用最大似然估计的方法来估计频率_第1页
用最大似然估计的方法来估计频率_第2页
用最大似然估计的方法来估计频率_第3页
用最大似然估计的方法来估计频率_第4页
资源描述:

《用最大似然估计的方法来估计频率》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、用最大似然估计的方法来估计频率本作品采用知识共享署名-非商业性使用-相同方式共享3.0Unported许可协议进行许可。允许非商业转载,但应注明作者及出处。作者:xialulee最初发布于:2010年5月31日,最近对频率估计感兴趣。之前阅读了Matlab的rootmusic.m(参见《读Matlab7.7SignalProcessingToolbox的rootmusic函数(一)--rootmusic是怎么估计信号频率的》),后来又试了LS-ESPRIT算法(参见《Python的LS-ESPRIT》)。今天看资料,说最大似然估计的方法也可用于频率的估计。

2、想想这也是理所当然的事情,最大似然法本来就可以用来估计参数,而频率也是信号的重要参数。但是资料中说如果直接用最大似然法估计频率会有很多困难。看看其表达式,想想也是。所以可能实际中还是MUSIC,ESPRIT比较好用吧。曾经还在IEEE上看过一篇讲解用MUSIC估计DTMF频率的文章。纵然实际中不方便使用最大似然法来估计频率,还是稍微看看它的性能吧。在《Python的LS-ESPRIT》中贴出的代码的基础上,写了如下的代码(paramestimate.py):from__future__importdivisionimportscipyimportitert

3、oolsfromnumpyimporttracefromscipy.linalgimportdet,eigvals,pinv,svdfromscipy.optimizeimportfminfromscipyimportangle,arange,atleast_1d,complex128,conjugate,convolve,exp,eye,mat,multiply,pi,r_,randn,zerosfromnumpy.matlibimportrepmat#--paramestimate.py--#--2010.05.26Createdbyxialule

4、e--#--2010.05.31Modifiedbyxialulee--defRxx(x,m=None):'''Estimateautocorrelationmatrixofvectorxx:signalvector;m:sizeofRxx;returnvalue:autocorrelationmatrix'''N=len(x)ifm==None:m=Ntemp=mat(arange(0,m))#generateaindicesmatrix,as#0-1-2-3.#10-1-2.#210-1.#3210.#.indices=repmat(temp.T,1,

5、m)-repmat(temp,m,1)#calcuatesamplesofautocorrelationfunctionsusingconvolutionacsamples=convolve(x,conjugate(x[:-1]))#usingautocorrelationsamplesandindicesmatrixtocreateRxx#Rxx=#r[0]r[-1]r[-2]r[-3].#r[1]r[0]r[-1]r[-2].#r[2]r[1]r[0]r[-1].#r[3]r[2]r[1]r[0].#.returnacsamples[indices+N

6、-1]/Ndefls_esprit(Rxx,p):'''EstimatesignalfrequenciesusingLS-ESPRITalgorithmRxx:autocorrelationmatrixofsignal;p:numberofcomplexsinusoidsreturnvalue:normalizedfrequencies.'''Rxx=mat(Rxx)N=Rxx.shape[0]U,S,Vh=svd(Rxx)#getsignalsubspacefromUUsig=U[:,0:p]#subarrayU0=mat(Usig[:N-1,:])U1

7、=mat(Usig[1:,:])#calcuateeigenvaluesofU1U0return-angle(eigvals(pinv(U1)*U0))/2./pidefgen_x(n,freqs,amps,sigma):'''Generateatestingsignal.n:sampleindices;freqs:normalizedfrequenciesofcomplexsinusoids;amps:amplitudesofcomplexsinusoids;sigma:standarddeviationofgaussiannoise;returnva

8、lue:signalvector.'''x=complex128(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。