在訊號處理中,離散傅立葉轉換(DFT)無疑是最重要的方法。但其涉及的數學極其複雜,字面上涉及對複數項 e^(-iwt) 的求和,其中 e 是歐拉數,i 是虛數單位,w 是角頻率,t 是時間。

我開發了這個練習,旨在證明在這種複雜性之下,DFT 僅僅是一系列你可以親手計算的矩陣乘法。一旦你理解了這一點,就不會驚訝於深度神經網路,它也是一系列矩陣乘法,中間夾雜著激活函數,能夠如此有效地學習執行 DFT 來處理和分析訊號。

💡 學到的 vs. 固定:U-Net 從資料中學習其濾波器,以在空間域處理訊號。DFT 是經典的對比,是一種手動設計而非學習的固定轉換,它在頻率域將相同的訊號視為餘弦波的組合。

在 🟧 頻域中的訊號 A、B 和 C:

每個訊號都是在頻率 1w、2w、3w 和 4w 的四個餘弦波的加權總和。

我們將應用逆 DFT 將訊號轉換為時域表示,然後證明 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 來找出它們。

將 A、B、C 的係數寫成一個矩陣 F。每個訊號是一列。每個頻率是一欄。

在離散時間點 1t、2t、3t 到 10t 對連續餘弦波進行取樣。