how to fix broad band in fft?

1 次查看(过去 30 天)
Rabih Sokhen
Rabih Sokhen 2022-2-9
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 个评论
Catalytic
Catalytic 2022-2-9
编辑:Catalytic 2022-2-9
"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 2022-2-10
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 ?

请先登录,再进行评论。

回答(0 个)

标签

Community Treasure Hunt

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

Start Hunting!

Translated by