1 / 26
文档名称:

Matlab频谱分析程序.doc

格式:doc   大小:288KB   页数:26页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Matlab频谱分析程序.doc

上传人:文库旗舰店 2019/9/15 文件大小:288 KB

下载得到文件列表

Matlab频谱分析程序.doc

文档介绍

文档介绍:Matlab信号处理工具箱谱估计专题频谱分析Spectralestimation(谱估计)的目标是基于一个有限的数据集合描述一个信号的功率(在频率上的)分布。功率谱估计在很多场合下都是有用的,包括对宽带噪声湮没下的信号的检测。从数学上看,一个平稳随机过程的powerspectrum(功率谱)和correlationsequence(相关序列)通过discrete-timeFouriertransform(离散时间傅立叶变换)构成联系。从normalizedfrequency(归一化角频率)角度看,有下式注:,其中。其matlab近似为X=fft(x,N)/sqrt(N),在下文中就是指matlabfft函数的计算结果了使用关系可以写成物理频率的函数,其中是采样频率相关序列可以从功率谱用IDFT变换求得:序列在整个Nyquist间隔上的平均功率可以表示为上式中的以及被定义为平稳随机信号的powerspectraldensity(PSD)(功率谱密度)一个信号在频带上的平均功率可以通过对PSD在频带上积分求出从上式中可以看出是一个信号在一个无穷小频带上的功率浓度,这也是为什么它叫做功率谱密度。PSD的单位是功率()每单位频率。在的情况下,这是瓦特/弧度/抽或只是瓦特/弧度。在的情况下单位是瓦特/赫兹。PSD对频率的积分得到的单位是瓦特,正如平均功率所期望的那样。对实信号,PSD是关于直流信号对称的,所以的就足够完整的描述PSD了。然而要获得整个Nyquist间隔上的平均功率,有必要引入单边PSD的概念:信号在频带上的平均功率可以用单边PSD求出频谱估计方法Matlab信号处理工具箱提供了三种方法PSD直接从信号本身估计出来。最简单的就是periodogram(周期图法),一种改进的周期图法是Welch'smethod。更现代的一种方法是multitapermethod(多椎体法)。Parametricmethods(参量类方法)这类方法是假设信号是一个由白噪声驱动的线性系统的输出。这类方法的例子是Yule-Walkerautoregressive(AR)method和Burgmethod。这些方法先估计假设的产生信号的线性系统的参数。这些方法想要对可用数据相对较少的情况产生优于传统非参数方法的结果。Subspacemethods(子空间类)又称为high-resolutionmethods(高分辨率法)或者super-resolutionmethods(超分辨率方法)基于对自相关矩阵的特征分析或者特征值分解产生信号的频率分量。代表方法有multiplesignalclassification(MUSIC)method或eigenvector(EV)method。这类方法对线谱(正弦信号的谱)最合适,对检测噪声下的正弦信号很有效,特别是低信噪比的情况。NonparametricMethods非参数法下面讨论periodogram,modifiedperiodogram,Welch,和multitaper法。同时也讨论CPSD函数,传输函数估计和相关函数。Periodogram周期图法一个估计功率谱的简单方法是直接求随机过程抽样的DFT,然后取结果的幅度的平方。这样的方法叫做周期图法。一个长L的信号的PSD的周期图估计是注:这里运用的是matlab里面的fft的定义不带归一化系数,所以要除以L其中实际对的计算可以只在有限的频率点上执行并且使用FFT。实践上大多数周期图法的应用都计算N点PSD估计,其中选择N是大于L的下一个2的幂次是明智的,要计算我们直接对补零到长度为N。假如L>N,在计算前,我们必须绕回模N。作为一个例子,考虑下面1001元素信号,它包含了2个正弦信号和噪声randn('state',0);fs=1000;%Samplingfrequencyt=(0:fs)/fs;%OnesecondworthofsamplesA=[12];%Sinusoidamplitudes(rowvector)f=[150;140];%Sinusoidfrequencies(columnvector)xn=A*sin(2*pi*f*t)+*randn(size(t));注意:最后三行表明了一个方便的表示正弦之和的方法,它等价于:xn=sin(2*pi*150*t)+2*sin(2*pi*140*t)+*randn(size(t));对这个PSD的周期图估计可以通过产生一个周期图对象(periodogramobject)来计算Hs=('Hamming');估计的图形可以用psd函数显示。psd(Hs,xn,'Fs',fs,'NFFT',1024,'SpectrumType','two