How does ifft(fft(x)) form the correct bijection with domain?

  • Context: Graduate 
  • Thread starter Thread starter davidbenari
  • Start date Start date
  • Tags Tags
    Bijection Domain Form
Click For Summary
SUMMARY

The discussion centers on the relationship between the inverse fast Fourier transform (ifft) and the fast Fourier transform (fft) in the context of approximating continuous convolution of two signals, f and g, defined on the domain t. The user expresses concern about whether the resulting vector from the operation CONV=ifft(fft(f).*fft(g)) maintains the correct bijection with the domain t. They highlight a potential loss of domain information when applying FFTs, particularly when using MATLAB, where the inverse transform of 1 results in a Dirac delta function not centered at zero. The user acknowledges the need for further theoretical understanding of continuous convolution.

PREREQUISITES
  • Understanding of Fast Fourier Transform (FFT) and Inverse Fast Fourier Transform (IFFT)
  • Knowledge of signal processing concepts, specifically convolution
  • Familiarity with MATLAB for computational analysis
  • Basic principles of continuous versus discrete signals
NEXT STEPS
  • Study the mathematical foundations of continuous convolution in signal processing
  • Explore the properties and applications of FFT and IFFT in MATLAB
  • Learn about the implications of domain information loss in FFT operations
  • Investigate alternative methods for approximating continuous convolution
USEFUL FOR

Signal processing engineers, MATLAB users, and researchers analyzing the behavior of systems like RC circuits through convolution techniques.

davidbenari
Messages
466
Reaction score
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.
 
Last edited:
This post could be deleted. I'm realizing I need to read a lot more about the theory and because of this my question really doesn't make sense.
 

Similar threads

  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 4 ·
Replies
4
Views
4K
  • · Replies 7 ·
Replies
7
Views
3K