dB scale (log scale) of a polar plot graph

97 Ansichten (letzte 30 Tage)
atarli
atarli am 17 Okt. 2013
Beantwortet: Yasir Ahmed am 24 Jan. 2018
this is my function. how can i show it in dB scale? thanks everyone wants to help.
theta = 0:0.01:2*pi;
x = 60; % k*a
result =(((cos(theta)).*(sin((x/2).*sin(theta))/(x/2).*sin(theta))));
polar(theta,result)

Antworten (6)

Jonathan LeSage
Jonathan LeSage am 17 Okt. 2013
Bearbeitet: Jonathan LeSage am 17 Okt. 2013
You can simply convert the results directly to the decibels scale and plot the transformed results using the polar function. I suggest you refer to the definition of the decibel first. Additionally, you can check out the mag2db function. Here are some useful links to get you started:
Once you have the results in terms of decibels, you can plot using the polar function as you did before!
  2 Kommentare
atarli
atarli am 18 Okt. 2013
thanks for all of your helps, i thought to plot it with polar(theta,log10(result)) command. what do you think about it?
Ibrahim Samy
Ibrahim Samy am 24 Okt. 2017
i think you better use polardb(theta , result, -20, '-k')
-20 for minimal db u can see

Melden Sie sich an, um zu kommentieren.


sixwwwwww
sixwwwwww am 17 Okt. 2013
Bearbeitet: sixwwwwww am 17 Okt. 2013
Dear Atarli,
Here is the conversion to decibel:
result =(((cos(theta)).*(sin((x/2).*sin(theta))/(x/2).*sin(theta))));
result_dB = 10 * log(result);
polar(theta,abs(result_dB))
polar(theta, angle(result_dB))
I hope it helps. Good luck!
  4 Kommentare
atarli
atarli am 18 Okt. 2013
thanks for all of your helps, i thought to plot it with polar(theta,log10(result)) command. what do you think about it?
sixwwwwww
sixwwwwww am 18 Okt. 2013
You can plot it but in case of negative values of result you should make two plots separately as I did. One plot will be for absolute value and other will be for phase value

Melden Sie sich an, um zu kommentieren.


Vivek Selvam
Vivek Selvam am 17 Okt. 2013
You can try this: Polar Plot Tool - dB
But careful about the gain conversion as given the tool description (polar_dB makes a plot of gain=10*log10(g) versus polar angles phi)
  2 Kommentare
atarli
atarli am 18 Okt. 2013
thanks for all of your helps, i thought to plot it with polar(theta,log10(result)) command. what do you think about it?
Vivek Selvam
Vivek Selvam am 18 Okt. 2013
log10() is imaginary for negative values and negative for values between 0 and 1. You might want to solve that.

Melden Sie sich an, um zu kommentieren.


atarli
atarli am 18 Okt. 2013
thanks for all of your helps, i thought to plot it with polar(theta,log10(result)) command. what do you think about it?

murat alboga
murat alboga am 14 Mai 2014
Bearbeitet: murat alboga am 14 Mai 2014
Selamun aleykum everyone, hello... I have one questin abouth broadside array and polar pattern as dB. I have project in matlab.That is broadside array pattern.Below code, i achieved array factor as a magnitude, but when i converted array factor to dB graph is changed and corrupted. I'm tried figure out that problem but i didn't.Please can you help me... code:
N=5;
d=1;
k=2*pi;
theta=0:0.01:M+1;
psi=k.*d.*cos(theta);
AF=sinc((N.*psi./2)/pi)./sinc((psi./2)/pi);
figure;
polar(theta,AF);
mnAF=max(AF);
figure;
polar(theta,20*log10(AF));
array factor as magnitude
dB scale:

Yasir Ahmed
Yasir Ahmed am 24 Jan. 2018
Yes that happens because the array response in certain directions is very close to zero and on a logarithmic scale that's a big negative value. Polar plot can only handle values zero and above. So one way around this problem is to divide the vector by the minimum value of the vector so that on a log scale the minimum value is zero (20*log10(1)=0). This will work quite well if the range of values in the vector is not that big. For more visit:

Kategorien

Mehr zu Polar Plots finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by