不同信号的分析方式
1. 短时傅里叶变换
在短时分析中,
由于在分帧和加窗之后,每一帧中的采样点可以看做有限长度的离散序列;
从而使用DFT。
假设一帧内的采样点共有
N
N
N 个,每个采样点使用
x
[
n
]
x[n]
x[n] 表示;
x
[
n
]
,
w
h
e
r
e
0
≤
n
≤
N
−
1
x[n], where 0 ≤ n ≤ N − 1
x[n],where0≤n≤N−1
1.1 DFT 运算
经过DFT 之后,每个点表示为 x ^ [ k ] \hat x[k] x^[k]:
x ^ [ k ] = ∑ n = 0 N − 1 e x p ( − i 2 π N n k ) ∙ x [ n ] \hat x[k] = \sum^{N-1}_{n=0} exp(−i \frac{2\pi}{N} nk) ∙ x[n] x^[k]=n=0∑N−1 exp(−iN2πnk)∙x[n]
1.2 DFT 特点
-
每个点 x ^ [ k ] \hat x[k] x^[k]是一个复数信号,
-
∣ x ^ [ k ] ∣ | \hat x[k] | ∣x^[k]∣: 取复数的实部,便是该复数信号的幅度值,从而得到N个特征;
-
相位:取复数的虚数部分;
由于每一个 x ^ [ k ] \hat x[k] x^[k] 是由N个 x [ n ] x[n] x[n]点作为输入,
总共输出N个 x ^ [ k ] \hat x[k] x^[k],所以计算复杂度是 O ( N 2 ) O(N^2) O(N2)
2. FFT
为了降低DFT 的计算复杂度 O ( N 2 ) O(N^2) O(N2),
采用了分而治之的思想,复杂度降低为了 O ( N ∗ l o g N ) O(N *logN) O(N∗logN)
2.1 使用条件
FFT中必须满足输入是N =
2
k
2^k
2k
,即输入点数的个数必须是2 的整数次幂;
3. 短时傅里叶变换
STFT 并不是一个新的运算,是将上述步骤合并起来;
- 分帧
- 加窗
- FFT
这三个步骤合并起来, 共同称之为短时傅里叶变换:
通过STFT 得到,便是称为 spectrogram;
这便是语谱图;
4. 倒谱 cepstrum()
倒谱产生:是为了方便信号之间解耦;
列如声源与声通道之间的解耦;
因为信号在时域中的卷积运算,在倒谱域中变为加法运算;
4.1 信号的频谱 spectrum
x 轴是频率, y 轴是幅度值;
对数频谱:
将频谱中的幅度值取对数,得到的便是对数频谱。
4.2 信号的倒谱 cepstrum
信号 -> FT -> 幅度值 -> 幅度值取对数 -> 傅里叶变换(或者逆傅里叶变换)
此时,频谱的幅度取对数之后作为输入信号,
对该对数信号进行逆傅里叶变换,得到的频谱称为倒谱。
对数谱在做FFT 变换,得到的是倒谱;
倒谱此时横坐标是时间,纵坐标是什么?