【语音】笔记

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² 降到了 N log₂N。

相关推荐
h_a_o777oah6 分钟前
【树论】树链剖分:将树形结构转化为线性结构以处理树上路径问题(洛谷 P3384 附C++代码模板)
数据结构·算法·线段树·acm·树链剖分·树论·重链剖分
HEJOO99 分钟前
指针的算术运算详解
java·数据结构·算法
Coder-magician14 分钟前
《代码随想录》刷题打卡day47:并查集-part01
数据结构·算法·图论
码艺-Alimjan19 分钟前
Vben Admin 新增维吾尔语 Vben-Modal的关键坑之一
前端·javascript·vue.js
垆边人似月.27 分钟前
VLAN 资源池(100~200 分档)
数据结构·算法
可乐鸡翅yeah_1 小时前
hls.js 手动自定义 http 请求 loader,修改请求头实战
开发语言·前端·javascript·网络协议·http·ecmascript·m3u8在线
IT_陈寒1 小时前
Vite静态资源导入这个坑我帮你们踩过了
前端·人工智能·后端
潼心1412o1 小时前
C++初阶(长期更新)第6讲:类和对象(下)
开发语言·c++·算法
广州华水科技1 小时前
大坝安全监测解决方案:单北斗GNSS形变监测系统应用与维护
前端
柳鲲鹏1 小时前
老电脑X99安装WIN11 26H2总结、问题解决办法汇总
笔记