Re: [問題] FFT相乘不等於時域conv ??已回收
※ 引述《polymerase (橋南荀令過,十里送衣香)》之銘言:
: 不是說freq multiplication=time conv?
: 可是假設信號(s)和filter(f)長度都是N
: freq multiplication (fft(s)*fft(f))得到N點訊號(M)
: time conv(conv(s,f))得到2N-1點訊號(c)
: ifft(M) vs c
: 連長度都不一樣,是要怎麼相等?
: 我知道在公式上推導明顯是是相等的,可是實作上要怎麼把它弄相等?
: fft前zeropad to length=2N-1可以做到fft後長度就變成2N-1,
: 可是為什麼不zeropading時,
: freq multiplication就不等於time conv
發現help裡面就有提到了
The convolution theorem says, roughly, that convolving two sequences
is the same as multiplying their Fourier transforms.
In order to make this precise, it is necessary to pad the two vectors
with zeros and ignore roundoff error.
Thus,
if X = fft([x zeros(1,length(y)-1)]) and
Y = fft([y zeros(1,length(x)-1)])
then conv(x,y) = ifft(X.*Y)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.44.207.45
推
09/08 18:23, , 1F
09/08 18:23, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):