I would like to rewrite fftshift(f​ft2(fftshi​ft(x)))) as F*x*F.' but how do I handle the fftshifts?

3 views (last 30 days)
I would like to rewrite fftshift(fft2(fftshift(x)))) as F*x*F.' (where F = dftmtx(N) and N is the size of x), but how do I handle the fftshifts?
Thanks so much for your help!
Christine

Accepted Answer

Matt J
Matt J on 9 Feb 2015
Edited: Matt J on 9 Feb 2015
F=fft( fftshift(eye(N),1) ,[],1);
F=fftshift(F,1);
  3 Comments
Matt J
Matt J on 10 Feb 2015
Edited: Matt J on 10 Feb 2015
You're welcome. But if this is related to your other post, and you are trying to solve
fftshift(fft2(fftshift(x)))) = y
I hope you realize that the solution is just
x = fftshift(ifft2(fftshift(y))))
In other words, there is no reason to be seeking the matrix representation, F. A linear algebraic solution would also be slower computationally.

Sign in to comment.

More Answers (0)

Categories

Find more on Mathematics and Optimization in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!