how to fix broad band in fft?

2 views (last 30 days)
Rabih Sokhen
Rabih Sokhen on 9 Feb 2022
Commented: Rabih Sokhen on 10 Feb 2022
Hy guys.
I'm trying to obtain the fft of a array. however the result are coming out to be braod band, i expected to get bands with a width of 1 pixel.
any suggestion for this problem.
Thanks and Regards
code:
clear all
clc
z=50;
a=ones(z,z);
for i=1:z
for j=2:z
a(i,j)=a(i,j-1)+1;
end
end
a = a.'*a;
subplot(121)
img(abs(a))
subplot(122)
img(abs(log(fftshift(fft2(a)))))
% this is a small example what is happening in my results
  4 Comments
Catalytic
Catalytic on 9 Feb 2022
Edited: Catalytic on 9 Feb 2022
"i expected that's the band will not be broad , only 1 pixel as width , because the analytique equation should fit my band at 100% to extract to amplitude and the phase"
I don't really understand that part. The fft2 and ifft2 form an invertible 1-1 pair. Because a=ones(50) produces a 1-pixel wide spectrum, no other a can do so. Otherwise fft2 would not be invertible.
Rabih Sokhen
Rabih Sokhen on 10 Feb 2022
this is a example of my work, where "a" is periodic array, however wen i use abs(fftshift(fft2(a))) i obtain bands with a width.
is this normal in matlab ?

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!