How to convert from (diagonal matrix to criculant matrix) and Vice versa

5 views (last 30 days)
Theoretically when applying Fourier transform on a circulant matrix, the result will be a diagonal matrix, and the opposite operation is also work. When using (fft) or (ifft) functions in Matlab the result isn't the same as the theoretical, can any body help

Accepted Answer

Matt J
Matt J on 26 Jan 2013
Edited: Matt J on 26 Jan 2013
Not sure what theoretical result you're citing. It is true that if you do an FFT of all the columns of a circulant matrix followed by an IFFT on all the rows, you will get a diagonal matrix, and the following illustrates that.
>> C
C =
2 1 0 1
1 2 1 0
0 1 2 1
1 0 1 2
>> ifft(fft(C).').'
ans =
4 0 0 0
0 2 0 0
0 0 0 0
0 0 0 2

More Answers (1)

Abdelrahman Marconi
Abdelrahman Marconi on 26 Jan 2013
Thank you for you answer but why you used 2 Fourier transform instead of one.

Categories

Find more on Fourier Analysis and Filtering in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!