手工计算离散傅里叶变换
摘要
本文提供了手工计算离散傅里叶变换(DFT)的逐步指南,展示其涉及类似深度神经网络中的矩阵乘法。
暂无内容
查看缓存全文
缓存时间: 2026/08/14 18:30
# 手算离散傅里叶变换 ✍️
来源: https://www.byhand.ai/p/28-discrete-fourier-transform
### 资源库 (https://www.byhand.ai/p/library) › 手算AI ✍️ (https://www.byhand.ai/p/library-series-math-calc)
1. 手算矩阵乘法 ✍️ (https://www.byhand.ai/p/4-can-you-multiply-these-matrices)
2. 手算多层感知机 \(MLP\) ✍️ (https://www.byhand.ai/p/6-can-you-code-a-multi-layer-perceptron)
3. 手算反向传播 ✍️ (https://www.byhand.ai/p/7-can-you-calculate-backpropagation)
4. 手算支持向量机 \(SVM\) ✍️ (https://www.byhand.ai/p/22-svm)
5. 手算批归一化 ✍️ (https://www.byhand.ai/p/9-can-you-calculate-batch-normalization)
6. 手算随机失活 ✍️ (https://www.byhand.ai/p/12-can-you-calculate-dropout-by-hand)
7. 手算循环神经网络 \(RNN\) ✍️ (https://www.byhand.ai/p/2-can-you-calculate-an-rnn-by-hand)
8. 手算长短期记忆网络 \(LSTM\) ✍️ (https://www.byhand.ai/p/26-lstm)
9. 手算深度循环神经网络 ✍️ (https://www.byhand.ai/p/23-deep-rnn)
10. 手算自注意力机制 ✍️ (https://www.byhand.ai/p/11-can-you-calculate-self-attention)
11. 手算Transformer ✍️ (https://www.byhand.ai/p/8-can-you-calculate-a-transformer)
12. 手算自编码器 ✍️ (https://www.byhand.ai/p/13-can-you-calculate-an-autoencoder)
13. 手算变分自编码器 \(VAE\) ✍️ (https://www.byhand.ai/p/24-variational-auto-encoder-vae)
14. 手算稀疏自编码器 \(SAE\) ✍️ (https://www.byhand.ai/p/25-sparse-auto-encoder-sae)
15. 手算生成对抗网络 \(GAN\) ✍️ (https://www.byhand.ai/p/10-can-you-calculate-a-generative)
16. 手算句子采样 ✍️ (https://www.byhand.ai/p/5-can-you-sample-a-sentence-by-hand)
17. 手算残差网络 ✍️ (https://www.byhand.ai/p/16-can-you-calculate-resnet-by-hand)
18. 手算U\-Net ✍️ (https://www.byhand.ai/p/21-u-net)
19. **手算离散傅里叶变换 ✍️**
20. 手算图卷积网络 \(GCN\) ✍️ (https://www.byhand.ai/p/17-can-you-calculate-a-graph-convolutional)
21. 手算CLIP ✍️ (https://www.byhand.ai/p/clip)
22. 手算向量数据库 ✍️ (https://www.byhand.ai/p/14-can-you-calculate-a-vector-database)
23. 手算混合专家模型 \(MoE\) ✍️ (https://www.byhand.ai/p/1-can-you-calculate-an-moe-model)
24. 手算Switch Transformer ✍️ (https://www.byhand.ai/p/19-can-you-calculate-gemini-15s-switch)
25. 手算Mamba的S6模型 ✍️ (https://www.byhand.ai/p/3-can-you-calculate-mambas-s6-model)
26. 手算Sora的扩散Transformer \(DiT\) ✍️ (https://www.byhand.ai/p/18-can-you-calculate-soras-diffusion)
27. 手算BitNet ✍️ (https://www.byhand.ai/p/29-bitnet)
28. 手算基于人类反馈的强化学习 \(RLHF\) ✍️ (https://www.byhand.ai/p/20-rlhf)
在信号处理中,离散傅里叶变换 \(DFT\) 无疑是最重要的方法。但其背后的数学极其复杂,字面意义上复杂,因为它涉及对复数项 e^\(\-iwt\) 的求和,其中 e 是欧拉数,i 是虚数单位,w 是角频率,t 是时间。
[](https://substackcdn.com/image/fetch/$s_!3E30!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c6831fe-f9e1-4953-8349-23cd8bf7b794_810x1080.gif)
我设计这个练习,就是为了展示在如此复杂的表象之下,DFT 不过是一系列你可以手算的矩阵乘法。✍️ 一旦你明白了这一点,你就不会惊讶于一个深度神经网络(它本质上也是一系列中间带有激活函数的矩阵乘法)能够学习执行 DFT,从而如此有效地处理和分析信号了。
💡**学习型 vs. 固定型:** U\-Net 从数据中学习其滤波器,以便在空间域处理信号。DFT 则是经典的反面——一种固定变换,是人工设计而非学习得到的,它将同一信号在频域中视为多个余弦波的组合。
DFT 是如何工作的?
[](https://substackcdn.com/image/fetch/$s_!3PRD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe34cd9cc-1f44-4b55-9ba9-1b75805b1707_1080x1080.png)
- 🟧 频域中的信号 A、B 和 C:
- A = cos\(w\) \+ 2cos\(2w\)
- B = cos\(w\) \+ cos\(3w\) \+ cos\(4w\)
- C = \-cos\(2w\) \+ cos\(3w\)
- 每个信号都是频率为 1w、2w、3w 和 4w 的四个余弦波的加权和。
- 我们将应用离散傅里叶逆变换将这些信号转换到时域表示,然后演示 DFT 如何将它们转换回原始的频域表示。
- 🟩 时域中的信号 X。X 在 10 个时间点 1t、2t、…、10t 被采样:
- X = \[\-2\.5, \-1\.8, 3, \-0\.7, \-1\.0, \-0\.7, 3, \-1\.8, \-2\.5, 5\]
- 假设 X 也是同样四个余弦波的加权和,但我们事先并不知道它们的权重。我们将应用 DFT 来找出这些权重。
[](https://substackcdn.com/image/fetch/$s_!wkDH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff72bfc49-5d63-4070-a815-ed3259d7ca66_1080x1080.png)
- 将 A、B、C 的系数写成一个矩阵 F。每个信号是一行,每个频率是一列。
- A → \[1, 2, 0, 0\]
- B → \[1, 0, 1, 1\]
- C → \[0, \-1, 1, 0\]
[](https://substackcdn.com/image/fetch/$s_!BNqa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67055571-9145-4105-9dba-5fc14dea63c1_1080x1080.png)
- 在离散时间点 1t、2t、3t、…、10t 对连续的余弦波进行采样。
相似文章
离散时间傅里叶级数与变换笔记
本文详细笔记了离散时间傅里叶级数(DTFS)与离散时间傅里叶变换(DTFT),涵盖其理论基础及信号处理应用实例。
快速傅里叶变换 第一部分:库利-图基算法
本文详细推导了库利-图基快速傅里叶变换算法的数学原理,并解释了它如何降低离散傅里叶变换的复杂度。
傅里叶变换笔记
深入探索傅里叶变换,从傅里叶级数出发,延伸至非周期函数,包含交互式可视化与数学推导。
新手学FFT
一个面向初学者的快速傅里叶变换(FFT)指南,使用R语言,解释如何解读fft函数的输出、幅度、相位以及奈奎斯特极限。
用于求解偏微分方程的新型傅里叶特征网络
本文提出了 Fourier Feature Networks (FENs),一种使用傅里叶特征求解偏微分方程的单隐藏层神经网络架构,其精度高于无需仿射变换的 Extreme Learning Machines。