[問題] fft取樣點如果不是2^n次方已回收

看板MATLAB作者 (....)時間15年前 (2010/07/19 01:00), 編輯推噓4(4011)
留言15則, 6人參與, 最新討論串1/1
請問如果樣本點有N個點 N不為2^n 想做fft 這樣會比較不準確嗎? 因為不想fft的時候被捕零或砍掉 希望輸入甚麼樣本就做這些樣本的fft(補零的話會不精確) 如果要取fft是寫 fft(N) 這樣就不會被隨便補0嗎 還是一定要樣本點為2^n算出的fft才會比較精確 感激不盡! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 128.61.123.40

07/19 01:04, , 1F
補零應該只會讓頻譜解析度更高,不會不精確
07/19 01:04, 1F

07/19 01:05, , 2F
指令fft在N不是2的指數長度時有沒有補零可能就要看內容了
07/19 01:05, 2F

07/19 01:05, , 3F
個人覺得應該是沒有,因為輸出長度跟輸入一樣
07/19 01:05, 3F

07/19 01:09, , 4F
對不起,想了想收回第一句話,除非補零後長度變2倍以上。
07/19 01:09, 4F

07/19 01:12, , 5F
其實我搞不太懂matlab會怎麼去處理樣本點不為2^n的序列
07/19 01:12, 5F

07/19 01:15, , 6F
單純的DTFT運算
07/19 01:15, 6F

07/19 01:26, , 7F
想了解可以打開fft.m的檔案 看沒給n時如何運作
07/19 01:26, 7F

07/19 13:03, , 8F
樓上+1 不是2的次方只是不能用FFT
07/19 13:03, 8F

07/19 13:11, , 9F
fft 為了加速應該是已經做成 built-in function 沒得看
07/19 13:11, 9F

07/19 13:13, , 10F
其實把他看成 DFT 就好,當初我也被函數名唬到想很久..
07/19 13:13, 10F

07/19 13:18, , 11F
樓上是對的,不是DTFT,是DFT
07/19 13:18, 11F

07/19 14:22, , 12F
對於任意長度的訊號 會採用不同radix的演算法來加速
07/19 14:22, 12F

07/19 14:23, , 13F
所以不一定要2^N
07/19 14:23, 13F

07/19 14:25, , 14F
例如Chirp-z transform可以加速任意點數的DFT
07/19 14:25, 14F

07/21 08:10, , 15F
感謝感謝!!
07/21 08:10, 15F
文章代碼(AID): #1CGpCfvG (MATLAB)