资源描述:
《谱估计基础及仿真分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、谱估计基础及仿真分析0引言现代信号分析中,对于常见的具有各态历经的平稳随机信号,不可能用清楚的数学关系式来描述,但可以利用给定的N个样本数据估计一个平稳随机信号的功率谱密度叫做功率谱估计(PSD)。它是数字信号处理的重要研究内容之一。功率谱估计可以分为经典功率谱估计(非参数估计)和现代功率谱估计(参数估计)。功率谱估计在实际工程中有重要应用价值,如在语音信号识别、雷达杂波分析、波达方向估计、地震勘探信号处理、水声信号处理、系统辨识中非线性系统识别、物理光学中透镜干涉、流体力学的内波分析、太阳黑子活动周期研究等许多领域,发挥了重要作用。一相关的数学基础
2、1.1概率论:1.1.1多维高斯分布高斯分布公式:(1)准则为:内68.26%;:95.44%;:99.74%。向量的形式的公式为:(2)其中;(3)1.1.2mont-carlo仿真为指数分布,瑞利分布,还有正交的高斯分布等。1.2随即过程平稳随即过程:多维联合概率密度和时间起点无关,狭义的平稳。数字特征:相关函数:(4)协方差:(5)广义的平稳:,(6)各态历经性:时间平均代替集平均。平稳的功率谱:维纳-辛钦定理(7)(8)能量有限;有限不连续点等条件才能傅立叶变换成立。下面给出几种随即过程:白噪声;只跟自己相关。随相正弦波;(9)高斯随机过程完
3、备表达式。平稳白高斯的(10)1.3数理统计1.3.1参数估计无偏性:有效性:CRB:(11)一致性:1.3.2方法1数字特征法(12)(13)2最大似然估计使似然函数最大的估计方法:(14)(15)从理论出发,渐近无偏;渐近有效;渐近高斯;不变性。最大似然估计高斯分布的均值和方差:(16),有偏的,渐近无偏的。1最小二乘估计已知样本模型和样本解方程:准则:,可以看作广义逆。2线性最小均方误差估计线性样本组合求(17)二:经典谱估计傅立叶变换(18)时间离散化:DTFT(19)离散DFT(20)功率谱估计经典的功率谱估计是将数据工作区外的未知数据假设
4、为零,相当于数据加窗。经典功率谱估计方法分为:相关函数法、周期图法以及改进的周期图估计法即平均周期法和平滑周期图法;2.1相关函数法该方法先由序列估计出自相关函数R,然后对其进行傅立叶变换,得到功率谱估计。当延时和数据长度相比很小的时候可以有良好的估计精度。Fs=500;%采样频率n=0:1/Fs:1;%产生含有噪声的序列xn=cos(2*pi*40*n)+3*cos(2*pi*90*n)+randn(size(n));nfft=512;cxn=xcorr(xn,'unbiased');%计算序列的自相关函数CXk=fft(cxn,nfft);Pxx
5、=abs(CXk);index=0:round(nfft/2-1);k=index*Fs/nfft;plot_Pxx=10*log10(Pxx(index+1));figure(1)plot(k,plot_Pxx);图1相关函数功率谱估计2.2周期图法把随机序列x(n)的N个观测数据视为一能量有限的序列,直接计算x(n)的离散傅立叶变换,得X(k),然后再取其幅值的平方,并除以N,作为序列x(n)真实功率谱的估计。Fs=600;%采样频率n=0:1/Fs:1;%产生含有噪声的序列xn=cos(2*pi*40*n)+3*cos(2*pi*90*n)+0
6、.1*randn(size(n));window=boxcar(length(xn));%矩形窗nfft=512;[Pxx,f]=periodogram(xn,window,nfft,Fs);%直接法plot(f,10*log10(Pxx));window=boxcar(length(xn));%矩形窗nfft=1024;[Pxx,f]=periodogram(xn,window,nfft,Fs);%直接法figure(1)plot(f,10*log10(Pxx));图2周期图法功率谱估计2.3平均周期图法和平滑平均周期图法对于周期图的功率谱估计,当
7、数据长度N太大时,谱曲线起伏加剧,若N太小,谱的分辨率又不好,因此需要改进。两种改进的估计法是平均周期图法和平滑平均周期图法。Bartlett法:Bartlett平均周期图的方法是将N点的有限长序列x(n)分段求周期图再平均。fs=600;n=0:1/fs:1;xn=cos(2*pi*20*n)+3*cos(2*pi*90*n)+randn(size(n));nfft=512;window=hamming(nfft);%矩形窗noverlap=0;%数据无重叠p=0.9;%置信概率[Pxx,Pxxc]=psd(xn,nfft,fs,window,no
8、verlap,p);index=0:round(nfft/2-1);k=index*fs/nfft;plot