how to fix broad band in fft?

2 visualizaciones (últimos 30 días)
Rabih Sokhen
Rabih Sokhen el 9 de Feb. de 2022
Comentada: Rabih Sokhen el 10 de Feb. de 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 comentarios
Catalytic
Catalytic el 9 de Feb. de 2022
Editada: Catalytic el 9 de Feb. de 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 el 10 de Feb. de 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 ?

Iniciar sesión para comentar.

Respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by