时域信号分析
时域信号的分析常常是基于相位、能量,甚至跨频率耦合实现的。
常见的时域信号分析方法为ERPS,即多通道脑波均值滤波,该方法需要注意的是需要进行基线标准化,将所有的数据放在同一个尺度上,使得任务相关活动与背景活动分隔开,更加趋向于正态分布。
但时域分析方法存在一定的缺点:
-
抖动和非相位锁定的活动无法观测;
-
可做的分析有限
-
信噪比差且统计功效低
平稳性
平稳性的定义为:时间序列的信号的统计特征是否随着时间推移具有相似特性。EEG信号是一个高度非平稳的信号。
小波变换是这样一个过程:首先将原始信号作为输入信号,通过一组正交的小波基分解成高频部分和低频部分,然后将得到的低频部分作为输入信号,又进行小波分解,得到下一级的高频部分和低频部分,以此类推。随着小波分解的级数增加,其在频域上的分辨率就越高。这就是多分辨率分析
连续小波变换
连续小波变换是一个平方可积函数f(t) 与一个时频域上具有良好局部性质的小波函数ψ(t)的内积:
W
f
(
a
,
b
)
=
<
f
,
ψ
a
,
b
>
=
1
a
ψ
∗
(
t
−
b
a
)
d
t
ψ
a
,
b
(
t
)
=
1
a
ψ
(
t
−
b
a
)
W_f(a, b)=<f, \psi_{a, b}>=\dfrac{1}{\sqrt a}\psi^*(\dfrac{t-b}{a})dt\\ \psi_{a, b}(t)=\dfrac{1}{\sqrt a}\psi(\dfrac{t-b}{a})
Wf(a,b)=<f,ψa,b>=a1ψ∗(at−b)dtψa,b(t)=a1ψ(at−b)
ψ
a
,
b
(
t
)
\psi_{a, b}(t)
ψa,b(t)是母小波
ψ
(
t
)
\psi(t)
ψ(t)经位移和伸缩所产生的一族函数,称为小波基函数或简称小波基。
ψ ( t ) \psi(t) ψ(t)的时域波形具有“衰减性”和“波动性”,即其振幅具有正负相间的振荡;从频谱上看集, ψ ( w ) \psi(w) ψ(w)中在一个“小”的频带内,具有“带通性”。
离散小波变换
在实际中对尺度因子
a
a
a和位移因子
b
b
b进行离散化处理,取:
a
=
a
0
m
,
b
=
n
b
0
a
0
m
a = a_0^m, b=nb_0a_0^m
a=a0m,b=nb0a0m
离散小波形式:
ψ
m
,
n
(
t
)
=
1
a
0
m
ψ
(
t
−
n
b
0
a
0
m
a
0
m
)
=
1
a
0
m
ψ
(
a
0
−
m
t
−
n
b
0
)
w
f
(
m
,
n
)
=
<
f
,
ψ
a
,
b
>
=
f
−
∞
+
∞
f
(
t
)
ψ
m
,
n
∗
(
t
)
d
t
\psi_{m, n}(t)=\dfrac{1}{a_0^m}\psi(\dfrac{t-nb_0a_0^m}{a_0^m})=\dfrac{1}{a_0^m}\psi(a_0^{-m}t-nb_0)\\ w_f(m, n)=<f, \psi_{a, b}>=f_{-\infty}^{+\infty}f(t)\psi_{m, n}^*(t)dt
ψm,n(t)=a0m1ψ(a0mt−nb0a0m)=a0m1ψ(a0−mt−nb0)wf(m,n)=<f,ψa,b>=f−∞+∞f(t)ψm,n∗(t)dt
小波分析是把时间序列 S 分解成低频信息a1 和高频信息d1 两部分,在分解中 ,低频a1 中失去的信息由高频d1 捕获。在下一层的分解中,又将a1 分解成低频a2和高频d2 两部分,低频a2中失去的信息由高频d2捕获。依此类推,可以进行更深层的分解。
小波变换后结果的长度等于小波长度+信号长度-1
注意:
- 小波的采样率须与数据采样率保持一致
- 小波须位于中心点,防止造成结果相位移动
小波包变换
小波包分解不仅对低频部分进行分解,而且还对高频部分进行分解。因此,小波包分解是一种更广泛应用的小波分解方法,应用于信号的分解、编码、消噪、压缩等方面。
记小波包变换中的父小波
Φ
(
t
)
\Phi(t)
Φ(t) 为
μ
0
0
(
t
)
\mu_0^0(t)
μ00(t) ,母小波
Ψ
(
t
)
\Psi(t)
Ψ(t) 为
u
0
1
(
t
)
u_0^1(t)
u01(t) ,其中的上标表示该小波包所在的分解级数,下标表示该小波包在其级里的位置。
{
μ
2
n
L
−
1
(
t
)
=
∑
k
h
k
μ
n
L
(
t
−
k
)
,
μ
n
L
(
t
−
k
)
=
μ
n
L
−
1
(
2
t
−
k
)
μ
2
n
+
1
L
−
1
(
t
)
=
∑
k
g
k
μ
n
L
(
t
−
k
)
,
μ
n
L
(
t
−
k
)
=
μ
n
L
−
1
(
2
t
−
k
)
\left\{ \begin{aligned} \mu_{2n}^{L-1}(t)=\sum_kh_k\mu _n^L(t-k), \mu_{n}^{L}(t-k)=\mu_{n}^{L-1}(2t-k)\\ \mu_{2n+1}^{L-1}(t)=\sum_kg_k\mu _n^L(t-k), \mu_{n}^{L}(t-k)=\mu_{n}^{L-1}(2t-k)\\ \end{aligned} \right.
⎩⎪⎪⎪⎨⎪⎪⎪⎧μ2nL−1(t)=k∑hkμnL(t−k),μnL(t−k)=μnL−1(2t−k)μ2n+1L−1(t)=k∑gkμnL(t−k),μnL(t−k)=μnL−1(2t−k)
其中,
h
k
h_k
hk、
g
k
g_k
gk为同小波变换,
μ
\mu
μ为小波包
应用
由于小波分解的稀疏编码特性,其可用于数据压缩,主要做法为:将信号进行小波分解,并将较小的小波系数置零。相当于将不重要(特征不明显)的信息分量去除,达到数据精简的效果。
小波分解也可用于信号滤波,主要做法为:将信号进行小波分解,并将特定级数以上的小波系数置零。相当于将高分辨率的信息分量去除,达到数据平滑的效果。
小波分解还可用于信号降噪,主要做法为:将信号进行小波分解,并通过设置一个阈值,将其中低于阈值的小波系数置零。相当于将信号中占成分比例较低的噪声部分去除。
后续
喜欢的话可以关注一下我的公众号技术开发小圈,尤其是对深度学习以及计算机视觉有兴趣的朋友,我会把相关的源码以及更多资料发在上面,希望可以帮助到新入门的大家!