信号频率估计经典功率谱估计及其MATLAB仿真
Posted Zhi Zhao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了信号频率估计经典功率谱估计及其MATLAB仿真相关的知识,希望对你有一定的参考价值。
目录
一、经典功率谱估计方法
对于离散时间平稳随机过程
u
(
n
)
u(n)
u(n),它的功率谱
S
(
w
)
S(w)
S(w) 描述了随机过程
u
(
n
)
u(n)
u(n) 中各频率成分的平均功率的大小。因此,可以通过计算功率谱密度函数
S
(
w
)
S(w)
S(w) 来间接的了解随机过程
u
(
n
)
u(n)
u(n) 中各频率成分的构成情况。
根据维纳-辛钦定理,平稳随机过程
u
(
n
)
u(n)
u(n) 的自相关函数
r
(
m
)
r(m)
r(m) 与其功率谱
S
(
w
)
S(w)
S(w) 是一对傅里叶变换关系。利用相关函数的傅里叶变换来估计随机过程功率谱的方法,称为经典功率谱估计。
1、周期图法
由于随机过程
u
(
n
)
u(n)
u(n) 的
N
N
N 个观测值
u
N
(
n
)
u_N(n)
uN(n) 是确定信号,对其进行傅里叶变换,得:
U
N
(
w
)
=
∑
n
=
0
N
−
1
u
N
(
n
)
e
−
j
w
n
U_N(w) =\\sum_n=0^N-1u_N(n) e^-jwn
UN(w)=n=0∑N−1uN(n)e−jwn
根据帕斯瓦尔关系,上式的模的平方是确定信号
u
N
(
n
)
u_N(n)
uN(n) 的能量谱,对能量谱除以持续时间
N
N
N,其结果则为
u
N
(
n
)
u_N(n)
uN(n) 的功率谱估计,将其作为随机过程
u
(
n
)
u(n)
u(n) 的功率谱的估计,表示为:
S
p
e
r
(
w
)
=
1
N
∣
U
N
(
w
)
∣
2
S_per(w) =\\frac1N|U_N(w)|^2
Sper(w)=N1∣UN(w)∣2
该方法称为功率谱估计的周期图法(periodogram)。该方法由于是直接通过观测数据的傅里叶变换求得,其又被称为直接法。
2、BT法
1958年,Blackman和Tukey在维纳-辛钦定理的基础上,提出了自相关谱估计法(简称BT法)。其具体实现方法为:先由观测数据估计出自相关函数,然后对其求傅里叶变换,以此结果作为对功率谱的估计。
该方法的计算步骤为以下两个公式:
r
(
m
)
=
1
N
∑
n
=
0
N
−
1
u
N
(
n
)
u
N
∗
(
n
−
m
)
r(m)=\\frac1N\\sum_n=0^N-1u_N(n)u_N^*(n-m)
r(m)=N1n=0∑N−1uN(n)uN∗(n−m)
S
B
T
(
w
)
=
∑
m
=
−
M
M
r
(
m
)
e
−
j
w
m
,
0
≤
M
≤
N
−
1
S_BT(w)=\\sum_m=-M^Mr(m) e^-jwm,0≤M≤N-1
SBT(w)=m=−M∑Mr(m)e−jwm,0≤M≤N−1
上述方法是通过自相关函数间接得到的,因此又被称为间接法。
当
M
=
N
−
1
M=N-1
M=N−1 时,上式的功率谱估计可表示为:
S
B
T
(
w
)
=
1
N
∣
U
N
(
w
)
∣
2
S_BT(w) =\\frac1N|U_N(w)|^2
SBT(w)=N1∣UN(w)∣2
比较周期图法和BT法可以看出,周期图法是BT法的一个特例。当
M
=
N
−
1
M=N-1
M=N−1 时,周期图法与BT法相同;当
M
<
<
N
−
1
M<<N-1
M<<N−1 时,BT法是对周期图法的平滑。
3、Welch法
1967年Welch提出了修正平均周期图法,即Welch法,它是在Bartlett法的基础上改进的。
Welch法估计信号功率谱的计算步骤如下:
(1)将长度为
N
N
N 的信号
u
N
(
n
)
u_N(n)
uN(n) 进行分段,相邻的两段数据交叠一半。若每段信号的长度为
M
M
M,信号将被分成
L
L
L 段,即:
L
=
N
−
M
/
2
M
/
2
L=\\fracN-M/2M/2
L=M/2N−M/2
(2)将第
i
(
1
≤
i
≤
L
)
i(1≤i≤L)
i(1≤i≤L) 段信号
u
N
i
(
n
)
u_N^i(n)
uNi(n) 与长度为
M
M
M 的窗函数
w
(
n
)
w(n)
w(n) 相乘。
(3)对加窗后的每段信号,利用周期图法求得其功率谱,即:
S
p
e
r
i
(
w
)
=
1
M
∣
∑
n
=
0
M
−
1
u
N
i
(
n
)
w
(
n
)
e
−
j
w
n
∣
2
S_per^i(w)= \\frac1M|\\sum^M-1_n=0u_N^i(n)w(n)e^-jwn|^2
Speri(w)=M1∣n=0∑M−1uNi(n)w(n)e−jwn∣2
(4)对每一段估计到的功率谱
S
p
e
r
i
(
w
)
S_per^i(w)
Speri(w) 进行求和平均,则得到Welch法的功率谱估计:
S
−
p
e
r
(
w
)
=
1
L
∑
i
=
1
L
S
p
e
r
i
(
w
)
\\overset-S_per(w)=\\frac1L\\sum_i=1^LS_per^i(w)
S−per(w)=L1i=1∑LSperi(w)
二、仿真实例
设随机过程 u N ( n ) u_N(n) uN以上是关于信号频率估计经典功率谱估计及其MATLAB仿真的主要内容,如果未能解决你的问题,请参考以下文章
盲解调基于频率和滤波器参数估计的FH-GFSK调制信号盲解调算法matlab仿真
MATLAB教程案例40语音信号的共振峰频率倒谱法估计matlab仿真学习