- #1
davidbenari
- 466
- 18
I think my question is more appropriate here than in the computation section. My question is:
(In the context of inverse fast-fourier transforms and fast-fourier transforms)
Knowing ifft(fft(x)=x might be trivial as it is almost a definition; associating it with a domain ##t## is perfectly fine since we were assuming ##x=x(t)## .
Now suppose I want to approximate the continuous convolution of two signals ##f,g##, both defined on ##t##. I could do it as CONV=ifft(fft(f).*fft(g)).
How can I be sure that the resulting vector will form the correct bijection with the same domain ##t##? In other words, why is it true that the first element of ##t## in fact does map to the first element of ##CONV## (what determines correctness here is what would happen if I had done things analytically)? I am currently thinking that by doing fast-fourier transforms you loose all information about domains, since computationally FFT's are defined to operate on vectors (which need no domain to begin with).
I think I'm right because if I use MATLAB to compute the inverse transform of 1 I get mapped to a dirac-delta but not to one that's centered at 0.
I was hoping someone might clarify this for me.
edit: I realize this might be a bad approximation to a continuous convolution. So if you have any better ideas please tell me. Discrete convolution doesn't seem to be what I'm looking for, according to what I've read. Specifically, I'm analyzing the response of an RC circuit with given input signals x(t)
Thanks.
(In the context of inverse fast-fourier transforms and fast-fourier transforms)
Knowing ifft(fft(x)=x might be trivial as it is almost a definition; associating it with a domain ##t## is perfectly fine since we were assuming ##x=x(t)## .
Now suppose I want to approximate the continuous convolution of two signals ##f,g##, both defined on ##t##. I could do it as CONV=ifft(fft(f).*fft(g)).
How can I be sure that the resulting vector will form the correct bijection with the same domain ##t##? In other words, why is it true that the first element of ##t## in fact does map to the first element of ##CONV## (what determines correctness here is what would happen if I had done things analytically)? I am currently thinking that by doing fast-fourier transforms you loose all information about domains, since computationally FFT's are defined to operate on vectors (which need no domain to begin with).
I think I'm right because if I use MATLAB to compute the inverse transform of 1 I get mapped to a dirac-delta but not to one that's centered at 0.
I was hoping someone might clarify this for me.
edit: I realize this might be a bad approximation to a continuous convolution. So if you have any better ideas please tell me. Discrete convolution doesn't seem to be what I'm looking for, according to what I've read. Specifically, I'm analyzing the response of an RC circuit with given input signals x(t)
Thanks.
Last edited: