【语音】笔记

1 傅里叶变换

复制代码
单帧信号x1 -> 基信号1(频率f1) -> 映射到同频率正余弦函数 -> 得到复数向量a[1] + b[1]j -> 计算绝对值得到|X[1]|
             基信号2(频率f2) -> 映射到同频率正余弦函数 -> 得到复数向量a[2] + b[2]j -> 计算绝对值得到|X[2]|
             ...
             基信号i(频率fi) -> 映射到同频率正余弦函数 -> 得到复数向量a[i] + b[i]j -> 计算绝对值得到|X[i]|

单帧信号x2 -> 基信号(频率f1) -> 映射到同频率正余弦函数
             基信号(频率f2) -> 映射到同频率正余弦函数
             ...
             基信号(频率fi) -> 映射到同频率正余弦函数

...

其中,复数的实部ai表示对于该基信号分量在余弦波上的投影强度,虚部bi对应于在正弦波上的投影强度。对复数计算绝对值得到该基信号的幅度|X *i* | = 根号下 a *i*² + b *i*²**

这些|X *i* |结合起来形成幅度谱|X|,可以表示各个基信号分量占单帧信号的幅值强度。

1 离散傅里叶变换(DFT)

1.1 是什么

离散的数字信号(比如录音采样后的数字序列)从"时间领域"转换到"频率领域"。

  • 输入:一串随时间变化的数字(比如每秒采样44100次的音频数据)。
  • 输出:一串代表不同频率强度的数字(比如低音有多少、中音有多少、高音有多少)。

1.2 怎么工作

用各种不同频率的"正弦波"去匹配你的信号

  • 它尝试用低频正弦波去拟合,看匹配程度;
  • 再试中频、高频......
  • 最后告诉你:"你的信号里,低频成分占30%,中频占50%,高频占20%。"

2 快速傅里叶变换(FFT)

2.1 是什么

计算结果与DFT一样,但效率高。

2.2 怎么工作

假设你要计算 8 个点的 DFT:

  • DFT 做法:老老实实算 8×8 = 64 次运算。
  • FFT 做法
    1. 把 8 个点分成两组:偶数位置的点 和 奇数位置的点。
    2. 分别计算这两组 4 个点的 DFT。
    3. 再把结果巧妙合并。
    4. 继续递归拆分......直到变成最简单的 2 点 DFT。

这样,计算量从 降到了 N log₂N

相关推荐
李伟_Li慢慢1 分钟前
13-mini版WebGLProgram
前端·three.js
李伟_Li慢慢3 分钟前
14-mini版WebGLPrograms
前端·three.js
李伟_Li慢慢7 分钟前
19-mini版WebGLRenderer
前端·three.js
李伟_Li慢慢26 分钟前
10-mini版bindingStates
前端·three.js
阳明山水27 分钟前
TimesFM与Moirai MoE零样本预测解析
人工智能·深度学习·算法·机器学习·架构
李伟_Li慢慢29 分钟前
08-BufferAttribute
前端·three.js
李伟_Li慢慢29 分钟前
09-mini版WebGLAttributes
前端·three.js
李伟_Li慢慢30 分钟前
11-mini版WebGLGeometries
前端·three.js
李伟_Li慢慢31 分钟前
18-mini版WebGLRenderList
前端·three.js
李伟_Li慢慢32 分钟前
15-mini版WebGLMaterials
前端·three.js