Plotting the beamwidth from a matrix

17 ビュー (過去 30 日間)
Aftab Ahmed Khan
Aftab Ahmed Khan 2014 年 9 月 5 日
コメント済み: Chibuzo Nnonyelu 2017 年 2 月 23 日
Hi everyone, i have this given matrix (Elevation, azimuth & gain) in the attachment. How can i plot the 3db-beamwidth of this antenna pattern ? I just want to see the pattern and want to calculate the 3db-beamwidth. Thank you so much.
  3 件のコメント
Aftab Ahmed Khan
Aftab Ahmed Khan 2014 年 9 月 5 日
Elevation, azimuth and gain.
Chibuzo Nnonyelu
Chibuzo Nnonyelu 2017 年 2 月 23 日
To calculate beamwidth, you need to have an idea of the mainlobe. In which direction does your mainlobe point in?

サインインしてコメントする。

採用された回答

Youssef  Khmou
Youssef Khmou 2014 年 9 月 5 日
Another way to compute the beamwidth is to plot the azimuth and Gain :
Data=load('data_ABS_antenna_CASMA.mat');
X=Data.ABS_antenna_gain;
Gain=X(:,3);
Azimuth=X(:,2);
[index,c]=find(Gain>=max(Gain)-3);
figure; plot(Azimuth(index),Gain(index),'*')
figure; plot(Azimuth,Gain,'*')
The beamwidth is 20° .
  1 件のコメント
Aftab Ahmed Khan
Aftab Ahmed Khan 2014 年 9 月 5 日
Thanx.

サインインしてコメントする。

その他の回答 (2 件)

Star Strider
Star Strider 2014 年 9 月 5 日
Seeing the pattern is relatively easy, at least with the data available:
Ant = load('data_ABS_antenna_CASMA.mat');
Az = Ant.ABS_antenna_gain(:,1);
El = Ant.ABS_antenna_gain(:,2);
Gn = Ant.ABS_antenna_gain(:,3);
[X,Y,Z] = sph2cart(Az, El, Gn);
figure(1)
scatter3(X,Y,Z, '.')
grid on
The challenging part would be 3dB beamwidth, and interpolating it as a surface it you want to do that. Is ‘gain’ in dB now? What would you want to plot to look like (examples are helpful).
Before I tackle that, though, I suggest you see if one of the File Exchange contributions on antenna radiation pattern does what you want.
  1 件のコメント
Aftab Ahmed Khan
Aftab Ahmed Khan 2014 年 9 月 5 日
Hi star, The pattern should look like this. And yes the gain is in dB.

サインインしてコメントする。


Youssef  Khmou
Youssef Khmou 2014 年 9 月 5 日
編集済み: Youssef Khmou 2014 年 9 月 5 日
Here is the proposed solution, i suggest that you use the polar coordinates as the following :
Data=load('data_ABS_antenna_CASMA.mat');
X=Data.ABS_antenna_gain;
[x,y,z]=pol2cart(X(:,1),X(:,2),X(:,3));
plot3(x,y,z,'.','MarkerSize',2)
grid on
xlabel('X');
ylabel('Y');
zlabel('Gain [dB]');
The corresponding figure is attached below :
As the vector z is in decibel, you can search for the indexes of z that are above max(z)-3dB :
[index,value]=find(z>=max(z)-3)
Next you plot the matrix with corresponding indexes :
figure; plot3(x(index),y(index),z(index),'.')
grid on
xlabel('X');
ylabel('Y');
zlabel('Gain 3dB');
The result is in the second figure :
The beam width is in the square of 20^2 units of surface, you can deduce the angular value .
  2 件のコメント
Aftab Ahmed Khan
Aftab Ahmed Khan 2014 年 9 月 5 日
Hi Youssef, Thank you for the detailed reply. What do you mean by saying, that beam width is the square of 20^2 units of surface ? Can you explain to me ? Thanks once again.
Youssef  Khmou
Youssef Khmou 2014 年 9 月 5 日
in terms of Cartesian coordinates i mean. The final result is part of the ellipsoid , using the x,y, and z values you can calculate the theta beam width .

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeAntennas and Electromagnetic Propagation についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by