概述
时频分析与傅里叶变换
变换
变换是一种常用的数学工具
例如:
其中
e
x
e_x
ex 和
e
y
e_y
ey 构成标准正交基,满足如下条件:
{
∣
∣
e
x
∣
∣
=
∣
∣
e
y
∣
∣
=
1
⟨
e
x
,
e
y
⟩
=
0
begin{cases} ||e_x||=||e_y||=1 \ langle{e_x,e_y}rangle=0 end{cases}
{∣∣ex∣∣=∣∣ey∣∣=1⟨ex,ey⟩=0
前面的系数表示平面中的点在这个基向量方向上有多少个单位长度。
傅里叶变换
傅里叶变换本质上也是一种标准正交变换。 在傅里叶变换中的标准正交基,是由一系列的正余弦函数构成。
傅里叶级数基本思想: 对于任何一个周期性函数,都可以用一组正余弦函数的求和来模拟出来。
直观理解:
在时域方向看,只能看到一个随时间变化的时域信号,看不到信号背后包含多少个正余弦函数;
从频域方向看,我们可以看到三个信息:
1)这个信号究竟包含哪些频率分量(正余弦函数)
2)每一个频率分量他的幅值是多少(幅度)
3)每一个频率分量的起始点(相位)。
傅里叶级数(Fourier Series)
如果
x
(
t
)
x(t)
x(t) 是一个周期为
T
0
T_0
T0 的周期性连续函数,则
x
(
t
)
x(t)
x(t) 可展开成傅里叶级数:
x
(
t
)
=
∑
k
=
−
∞
∞
X
(
j
k
Ω
0
)
e
j
k
Ω
0
t
X
(
j
k
Ω
0
)
=
1
T
0
∫
−
T
0
/
2
T
0
/
2
x
(
t
)
e
−
j
k
Ω
0
t
d
t
x(t)=sum_{k=-infty}^{infty}X(jkOmega_0)e^{jkOmega_0t} \ X(jkOmega_0)=frac1{T_0}int_{-T_0/2}^{T_0/2}x(t)e^{-jkOmega_0t}dt
x(t)=k=−∞∑∞X(jkΩ0)ejkΩ0tX(jkΩ0)=T01∫−T0/2T0/2x(t)e−jkΩ0tdt
解读:
Ω
0
=
2
π
F
=
2
π
T
0
Omega_0=2pi{F}=frac{2pi}{T_0}
Ω0=2πF=T02π 傅里叶级数系数的计算,实质上是通过内积的方式,“抽取”对应频率分量的系数。例如,对于给定信号
x
(
t
)
x(t)
x(t),是以
T
0
T_0
T0 为周期的周期型函数,则
x
(
t
)
x(t)
x(t) 和标准正交基
e
−
j
k
Ω
0
t
e^{-jkOmega_0t}
e−jkΩ0t 做内积:
x
(
t
)
e
−
j
k
Ω
0
t
=
{
A
k
,
x
(
t
)
中包含
k
Ω
0
分
量
0
,
x
(
t
)
中不包含
k
Ω
0
分
量
x(t)e^{-jkOmega_0t}= begin{cases} A_k, &x(t)text{中包含 }kOmega_0 分量 \ 0, &x(t)text{中不包含 }kOmega_0 分量 end{cases}
x(t)e−jkΩ0t={Ak,0,x(t)中包含 kΩ0分量x(t)中不包含 kΩ0分量
所以可以理解为对于频率分量
k
Ω
0
kOmega_0
kΩ0,在给定信号
x
(
t
)
x(t)
x(t) 中,究竟有没有与
k
Ω
0
kOmega_0
kΩ0 这个频率分量相关的分量,通过这种方式把这些频率分量在原始信号中的比重提取出来。
连续傅里叶变换(Fourier Transform)
对于连续非周期信号
x
(
t
)
x(t)
x(t) ,可以看做是一个周期为无穷大的周期性信号,同样傅里叶变换可以表示为:
X
(
j
Ω
)
=
∫
−
∞
∞
x
(
t
)
e
−
j
Ω
t
d
t
x
(
t
)
=
1
2
π
∫
−
∞
∞
X
(
j
Ω
)
e
j
Ω
t
d
Ω
X(jOmega)=int_{-infty}^{infty}x(t)e^{-j{Omega}t}dt \ x(t)=frac1{2pi}int_{-infty}^{infty}X(jOmega)e^{j{Omega}t}dOmega
X(jΩ)=∫−∞∞x(t)e−jΩtdtx(t)=2π1∫−∞∞X(jΩ)ejΩtdΩ
同样可以理解为通过内积的方式,提取原始信号中
Ω
Omega
Ω 分量的比重。
与傅里叶级数不同的是,由于时域信号非周期,因此频域信号中是连续谱。
离散时间傅里叶变换(Discrete Time Fourier Transform)
一个域离散 <=> 另一个域周期
离散非周期信号
x
(
n
)
x(n)
x(n) 的 DTFT 可以表示为:
X
(
e
j
ω
)
=
∑
n
=
−
∞
∞
x
(
n
)
e
−
j
ω
n
x
(
n
)
=
1
2
π
∫
−
π
π
X
(
e
j
ω
)
e
j
ω
n
d
ω
X(e^{jomega})=sum_{n=-infty}^{infty}x(n)e^{-j{omega}n} \ x(n)=frac1{2pi}int_{-pi}^{pi}X(e^{jomega})e^{j{omega}n}domega
X(ejω)=n=−∞∑∞x(n)e−jωnx(n)=2π1∫−ππX(ejω)ejωndω
同样可以理解为通过内积的方式,提取原始信号中
ω
omega
ω 分量的比重。
一般使用 Ω Omega Ω 表示真实的模拟频率,而使用 ω omega ω 来表示被采样频率 F S F_S FS 归一化后的离散频率与数字频率。
ω = Ω F S omega = frac{Omega}{F_S} ω=FSΩ
解读:DTFT 与傅里叶级数互为正反变换。
离散傅里叶变换(Discrete Fourier Transform)
快速傅里叶变换(FFT)就是离散傅里叶变换的一个快速算法。
离散周期信号
x
(
n
)
x(n)
x(n) 的 DFT 可以表示为:
X
(
k
)
=
∑
n
=
0
N
−
1
x
(
n
)
e
−
j
2
π
N
n
k
=
∑
n
=
0
N
−
1
x
(
n
)
W
N
n
k
x
(
n
)
=
1
N
∑
k
=
0
N
−
1
X
(
k
)
e
j
2
π
N
n
k
=
1
N
∑
k
=
0
N
−
1
X
(
k
)
W
n
−
n
k
W
N
=
e
−
j
2
π
N
X(k)=sum_{n=0}^{N-1}x(n)e^{-j{frac{2pi}N}nk}=sum_{n=0}^{N-1}x(n)W_N^{nk} \ x(n)=frac1Nsum_{k=0}^{N-1}X(k)e^{j{frac{2pi}N}nk}=frac1Nsum_{k=0}^{N-1}X(k)W_n^{-nk} \ W_N=e^{-j{frac{2pi}N}}
X(k)=n=0∑N−1x(n)e−jN2πnk=n=0∑N−1x(n)WNnkx(n)=N1k=0∑N−1X(k)ejN2πnk=N1k=0∑N−1X(k)Wn−nkWN=e−jN2π
解读:DFT 只针对有限长序列或周期序列。
DFT 相当于对 DTFT 中的正变换加以采样,造成时域信号的周期性,因此时域信号应限制在一个周期内。凡是用到离散傅里叶变换的时候,有限长序列都是作为周期序列的一个周期来表示的,都隐含有周期性意义。
离散傅里叶变换的矩阵形式
Fourier 矩阵:
$$ X(k)=Fx(n) \ X(n)=F^{-1}X(k) $$ Fourier 矩阵性质: $$ F^HF=FF^H=NI=>F^{-1}=frac1NF^H $$傅里叶变换的四种形式
总结:
-
无论是哪一种傅里叶变换,都可以用抽取的思想理解,也就是通过内积的方式,把每一个频率分量对应的比重抽取出来。
-
一个域离散 <=> 另一个域周期
离散傅里叶变换的几个问题
频谱泄漏
频谱泄漏是指由于信号截断造成的原始信号频谱扩散现象。
产生频谱泄漏的原因是对信号的截断。信号的截断相当于在原始信号 x ( n ) x(n) x(n) 与一个窗函数 ω ( n ) omega(n) ω(n) 相乘,在频域中相当于各自频谱的卷积过程。卷积的结果造成原始信号频谱的“扩散”(或拖尾、变宽),这就是频谱泄漏。
栅栏效应
因为 DFT 计算频谱只限制在离散点上的频谱,也就是 F 0 F_0 F0 的整数倍处的谱,而无法看到连续频谱函数,这就像通过一个“栅栏”观看景象一样,只能在离散点的地方看到真实场景。这种现象称为“栅栏效应”。
减小栅栏效应的方法就是要频域抽样更密,即增加频域抽样点数,就好像距离“栅栏”的距离边远一些。在不改变时域信号的情况下,必然是在时域信号末端补零。补零后的时域数据,在频谱中的谱线更密,原来看不到的谱分量就有可能看到了。
语音信号 DFT 的共轭对称性
时域中的语音信号,经过离散傅里叶变换 DFT 后的频谱是共轭对称的。
最后
以上就是爱笑人生为你收集整理的【语音信号处理】时频分析与傅里叶变换的全部内容,希望文章能够帮你解决【语音信号处理】时频分析与傅里叶变换所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复