how to make fft2 surf plot with z axis in dB?

조회 수: 1 (최근 30일)
Kobi
Kobi 2014년 11월 20일
편집: Kobi 2014년 11월 20일
i tried to normalize this matrix with the maximum
and: p=10*log10(p);
but i get mess
how can i avoid that?

채택된 답변

Star Strider
Star Strider 2014년 11월 20일
편집: Star Strider 2014년 11월 20일
Without access to your data, it’s difficult to say. Two possibilities:
First:
p = 10*log10(abs(p));
Second:
p = 10*log10(abs(p)+1E-2);
  댓글 수: 1
Star Strider
Star Strider 2014년 11월 20일
Interesting, to say the least!
This is what I get with your data and this code:
D = matfile('Kobi_pmat.mat');
P = D.P;
LP = 10*log10(abs(P));
figure(1)
mesh(LP)
grid on
axis([600 800 600 800 -30 0])
xlabel('x')
ylabel('y')
zlabel('F(x,y) (dBi)')
title('Fourier Transform of Rectangular Reflector')
producing this plot:

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Youssef  Khmou
Youssef Khmou 2014년 11월 20일
This problem does not occur with the following test :
H=exp(-randn(10).^2);
F=abs(fftshift(fft2(H,200,200)));
F=F/max(F(:));
surf(20*log10(F));
try abs() as mentioned earlier .

Kobi
Kobi 2014년 11월 20일
편집: Star Strider 2014년 11월 20일
here is my data file:
you can load it like this:
data=load('pmat.mat');
P=data.P;

카테고리

Help CenterFile Exchange에서 2-D and 3-D Plots에 대해 자세히 알아보기

태그

제품

Community Treasure Hunt

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

Start Hunting!

Translated by