[問題] 想請教如何經由反向FFT得到原函數

看板MATLAB作者 (Killen)時間8年前 (2015/11/26 23:56), 編輯推噓1(109)
留言10則, 2人參與, 最新討論串1/1
想請問大大,我如果想要將一個離散函數,經由fft後, 再由ifft反轉回去,並且內插入更多的離散點 (意思是我已經有頻譜(經由fft轉換得到的), 應該就能經由反向fft,得到原函數的連續點), 理論上有可能嗎? 我該如何進行呢? 目前: y = [1 3 8 1 5 4 6 9 11 2 ]; (原離散函數,已知其中10個點) Y = fft(y); (得到頻域的資訊) 再來我想要進行 ifft(Y) ,但是取得更多y的點(假設20個點,原先只有10個) 應該會變成 y=ifft(Y)=[1 x 3 x 8 x 1 x 5 x 4 x 6 x 9 x 11 x 2 x]; (x代表新增的點) 要怎麼做呢??謝謝大家的幫忙!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.53.13 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1448553364.A.138.html

12/06 21:54, , 1F
先內插再做fft?
12/06 21:54, 1F

12/08 20:48, , 2F
可是fft後是複數...
12/08 20:48, 2F

12/08 20:49, , 3F
這邊有個想法上要注意,資料長度跟fft解析度有關
12/08 20:49, 3F

12/08 20:50, , 4F
你要增加點,那就會增加fft的解析度,但原位置根本在
12/08 20:50, 4F

12/08 20:51, , 5F
事前就沒有看到阿,舉例還說1Hz、3Hz有值,但2Hz沒有值
12/08 20:51, 5F

12/08 20:52, , 6F
你增加資料長度假設倍增,那解析度也倍增,請問2Hz原本
12/08 20:52, 6F

12/08 20:52, , 7F
看不到的地方要怎麼去補出這個值?
12/08 20:52, 7F

12/08 20:58, , 8F
如果回歸到工數,左式(時域) = 右式(頻域),直接用右式
12/08 20:58, 8F

12/08 21:00, , 9F
直接用振幅+相位並累加,創造出左式來好像行的通
12/08 21:00, 9F

12/08 21:01, , 10F
創造的時候會有時間間距,該值與時域的 "擷取頻率" 相關
12/08 21:01, 10F
文章代碼(AID): #1MLokK4u (MATLAB)