how to fix broad band in fft?

1 view (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)

Categories

Find more on Fourier Analysis and Filtering 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!