[其他] 為什麼Fourier Transform浪費記憶體?

看板Math作者 (橋南荀令過,十里送衣香)時間9年前 (2015/05/14 19:09), 編輯推噓2(207)
留言9則, 5人參與, 最新討論串1/1
一串128 的實數被FFT or FT以後,變成complex number,在電腦裡面就要256個數字來記 憶,在Matlab裡面用whos去看FFT後的signal你也可以看到Bytes變成兩倍。 我知道虛部的出現是為了用不同phase相同頻率的sin and cos當basis,但FFT只是signal 的另一個presentation,並沒有創造或消失information,為什麼在頻域需要兩倍的數字 (記憶體)來表示同一串信號? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 73.171.14.119 ※ 文章網址: https://www.ptt.cc/bbs/Math/M.1431601766.A.8B7.html

05/14 19:52, , 1F
取樣定理
05/14 19:52, 1F

05/14 20:14, , 2F
原訊號是實數的話,轉換後的實部和虛部分別是偶函
05/14 20:14, 2F

05/14 20:15, , 3F
數及奇函數,所以是有redundancy沒錯。
05/14 20:15, 3F

05/14 20:51, , 4F
跟取樣定理一點關係也沒有吧。 如 2F大大所述, 若
05/14 20:51, 4F

05/14 20:52, , 5F
原訊號為實數,那轉換後的訊號 X[k] 和 X[N-k]
05/14 20:52, 5F

05/14 20:53, , 6F
是 共軛複數,其實可以把一半output資料丟掉
05/14 20:53, 6F

05/14 22:45, , 7F
膜拜sunev and doom8199
05/14 22:45, 7F

05/14 22:50, , 8F
你的演算法針對實數和虛數信號是統一的都當成複數
05/14 22:50, 8F

05/14 22:51, , 9F
當然可以自己寫個演算法針對實數 只需要一半的記憶
05/14 22:51, 9F
文章代碼(AID): #1LL89cYt (Math)