MATLAB: Calculation of antenna efficiency

Antenna ToolboxefficiencygainMATLABr.f

How do I calculate antenna efficiency?
The graph gives GAIN (peak Directivity) ,but what is my Directivity?
who can i get efficiency (GAIN/Directivity)
my code:
C = 3*10^8;
F = 10*10^6; %hz
Z0 = 73 ;
Lamda =C/F; %m
ant_short = dipole('Length', Lamda/10 );
ant_Half = dipole('Length', Lamda/2 );
ant_full_wave = dipole('Length', Lamda);
ant_one_and_half_lamda = dipole('Length', Lamda*1.5);
Antenna=ant_Half
pattern(Antenna, F, 0, 0:1:360);
my fig:

Best Answer

Hi Shahar,
The plot is of directivity, not gain (confusingly, directivity is sometimes called directive gain). Since directivity is determined by using the total radiated power, the input power to the antenna does not matter. But to find gain = directivity x [radiated power / input power], the input power must be known. Since this antenna is a theoretical construct, you are free to assume the input power is the same as the radiated power, in which case gain and directivity are the same thing. For a more realistic case you could add resistivity to the antenna elements (not having the antenna toolbox I don't know how the toolbox would give you radiated power vs input power, but I'm sure it will). You could also take the half wave dipole input impedance of 73.1 ohms and assume a mismatch between that value and the output impedance of the driving source. That will lead to wasted power, an antenna efficiency less than 1, and reduced gain.
Related Question