利用经典谱估计法估计信号的功率谱(随机信号)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

随机信号

利用经典谱估计法估计信号的功率谱

作业综述:

给出一段信号“asd.wav”,利用经典谱估计法的原理,通过不同的谱估计方法,求出信号的功率谱密度函数。采用MATLAB语言,利用MATLAB语言强大的数据处理和数据可视化能力,通过GUI的对话框模板,使操作更为简便!在一个GUI界面中,同时呈现出不同方法产生出的功率谱。

这里给出了几种不同的方法:BT法,周期图法,平均法以及Welch法。把几种不同方法所得到的功率谱都呈现在一个界面中,便于对几种不同方法得到的功率谱作对比。

一.题目要求

给出一段信号及采样率,利用经典谱估计法估计出信号的功率谱。

二.基本原理及方法

经典谱估计的方法,实质上依赖于传统的傅里叶变换法。它是将数据工作区外的未知数据假设为零,相当于数据加窗,主要方法有BT法,周期图法,平均法以及Welch法。

1. BT法(Blackman-Tukey)

●理论基础:

(1)随机序列的维纳-辛钦定理

由于随机序列{X(n)}的自相关函数Rx(m)=E[X(n)X(n+m)]定义在离散点m上,设取样间隔为,则可将随机序列的自相关函数用连续时间函数表示为

等式两边取傅里叶变换,则随机序列的功率谱密度

(2)谱估计

BT法是先估计自相关函数Rx(m)(|m|=0,1,2…,N-1),然后再经过离散傅里叶变换求的功率谱密度的估值。即

其中可有式得到。

2. 周期图法

●理论基础:

周期图法是根据各态历经随机过程功率谱的定义来进行谱估计的。在前面我们已知,各态历经的连续随机过程的功率谱密度满足

式中 是连续随机过程第i 个样本的截取函数 的频谱。对应在随机序列中则有

由于随机序列中观测数据 仅在 的点上存在,则 的N 点离散傅里叶变换为:

因此有随机信号的观测数据 的功率谱估计值(称“周期图”)如下:

由于上式中的离散傅里叶变换可以用快速傅里叶变换计算,因此就可以估计出功率

谱。

3.平均法:

理论基础:

平均法可视为周期图法的改进。周期图经过平均后会使它的方差减少,达到一致估计的目的,有一个定理:如果 , , , 是不相关的随机变量,且都有个均值 及其方差 ,则可以证明它们的算术平均的均值为 ,方差为

由定理可见:具有 个独立同分布随机变量平均的方差,是单个随机变量方差的 ,

当 时,方差

,可以达到一致估计的目的。因此,将 个独立的估计量经过算术

平均后得到的估计量的方差也是原估计量方差的 。

平均图法即是将数据 , , 分段求周期图法后再平均。例如,给定N=1000个数据样本(平均法适用于数据量大的场合),则可以将它分成10个长度为100的小段,分别计算每一段的周期图

()()2

1001100,100(1)

1

,1,2,```,10100

l j l n l G w X e l ω-=-=

=∑

然后将这10个周期图加以平均得谱估计值:

()()

10

100100,1

110l l G w G w ==∑

由于这10小段的周期图取决于同一个过程,因而其均值相同。若这10个小段的周期图是统计独立的,则这10个小段平均之后的方差却是单段方差的 。

D[ ]= D[ ]

即:平均法将 , , 的N 个数据分成L 段(N=ML ),若各数据段相互独立,则平方后估计量的方差是原来不分段估计量方差的 。所以当 时,估计量的方差趋于0,达到一致估计的目的。但是,随着分段数L 的增加,M 点数减少,分辨率减少,使估计变成有偏估计。相反,若L 减少,M 增加,虽偏差减少,但方差增大。所以,在应用中,必须兼顾分辨率和方差的要求来适当选择M 和L 的值。

4.Welch 法:

理论基础:

Welch 法又称修正周期法,其步骤为:

1先将N 个数据分成L 段,每数据段M 个数据,N=ML ; ○

2选择适当的窗函数w (n ),并用该w (n )依次对每段数据做相应的加权,然后确定每段的周期图

()2

1,(1)

1

(),1,2,```,Ml j n M l n n M l G w x w n e l L MU

ω--=-=

=∑

U 为归一化因子

1

20

1(),M n U w n M

-==

对每段周期图进行平均得到功率谱估计:

()(),1

1L

M M l l G w G w L ==∑

当数据量一定时,若分段数L 增加,M 点数减少,则分辨率下降;若L 减少,虽M 增加,但方差增大。解决这一矛盾的方法是,让数据段间适当“重叠”。

三.算法设计与实现

1程序流程图

(1) BT 法的流程图

(2)周期图法的流程图

(3)平均法的流程图

(4)Welch法的流程图

2.主要模块的设计:

(1)产生原始信号

Fs=600;

nfft=1024;

n=0:1/Fs:1;

y=cos(2*pi*30*n)+3*cos(2*pi*100*n)+randn(size(n));

axes(handles.axes1);

plot(n,y);

title(‘原始信号波形‘);

原始信号波形如下:

相关文档
最新文档