Matrix pseudo-inverse to do inverse discrete fourier transform

thefly
Messages
7
Reaction score
0
Hello,
can anyone help me with the following problem:
The discrete Fourier transform (DFT) in matrix form can be done as follows
F=M*f
where f are the space domain samples, F are the spatial frequency domain samples and M is the DFT matrix containing the exp(j*...) terms.
To compute the inverse DFT, always in matrix form, the following can be used:
f=Mi*F
where Mi is the inverse DFT matrix containing the exp(-j*...) terms.
In general, applying common linear algebra concepts, the inverse could also be obtained as:
f=pinv(M)*F
where pinv is the pseudoinverse.
Playing around with these two ways of doing the inverse DFT I found that they don't always provide equal results. In particular I'm trying to perform DFT and inverse DFT of samples on a 2D spatial domain and the inverse using pinv as serious numeric problems since M is badly conditioned.
Can someone help to understan the difference of the two approaches to the inverse DFT? Are there some hypothesis under which the two give same results?
Thank you in advance for your help
 
Physics news on Phys.org
Is your matrix M a square matrix and non singular? If it is then I think you will always get the same results.
 
Thanks for the reply. Unfortunately, the matrix M is usually:
- rectangular because the number of space domain samples is different from frequency domain samples
- badly conditioned
 
thefly said:
Hello,
can anyone help me with the following problem:
The discrete Fourier transform (DFT) in matrix form can be done as follows
F=M*f

To compute the inverse DFT, always in matrix form, the following can be used:
f=Mi*F
where Mi is the inverse DFT matrix containing the exp(-j*...) terms.
In general, applying common linear algebra concepts, the inverse could also be obtained as:
f=pinv(M)*F
where pinv is the pseudoinverse.

Can someone help to understan the difference of the two approaches to the inverse DFT? Are there some hypothesis under which the two give same results?
Thank you in advance for your help

Sorry that I'm not that helpful. This is the first time I seen the term pseudoinverse. Just curious with the idea of computing the inverse of a badly conditioned matrix. How easy and how fast is this method compare to say the Gaussian elimination method ?
 
Back
Top