Radiation Pattern of a Dipole Antenna

2003/5 Takuichi Hirano
Tokyo Institute of Technology, Japan

Calculate Pattern
References:
稲垣直樹, 電磁波工学, 丸善株式会社, p.117

{Cos[θ], -Sin[θ]}*(Integrate[
              i0*Sin[k0*(h - z)]*Exp[I*k0*z*Cos[θ]], {z, 0, h}] + 
            Integrate[
              i0*Sin[k0*(h + z)]*Exp[I*k0*z*Cos[θ]], {z, -h, 
                0}])  //  FullSimplify

Radiation Pattern

Polar Pattern

<< 
        Graphics`Graphics`;
λ0 = 
        1;
k0 = ((2*π)/λ)0;
i0 = 
        1;
h = λ(0/4);
pat[θ_] := 
        If[θ ≠ -π  &&  θ ≠ 
              0  &&  θ ≠ π, ((i0 (Cos[h k0] - Cos[h k0 Cos[θ]]) Csc[(θ/2)] Sec[(θ/2)])/k0), 
          0];
NDigit[r_, n_] := 
        N[r] - FractionalPart[
              N[r]*(10^n)]*(10^(-n));
AntennaPolarPlot[f_, reg_, rmax_, opt___]:=Module[{pat},
rot[θ_]:=(({{Cos[θ], -Sin[θ]}, {Sin[θ], Cos[θ]}}));
var = reg[[1]];
pat[θ_] := f;
  
patmax = -(1/π);
ParametricPlot[(Abs[pat[var]]/
                      patmax)*rot[90  °] . {Cos[var], Sin[var]}, 
                reg, 
AspectRatio -> 
                  Automatic, 
PlotRange -> {{-rmax, rmax}, {-rmax, 
                      rmax}}, 
Prolog -> {{RGBColor[0, 
                        0, 0.5], 
                      Dashing[{0.02, 0.02}], 
Table[
                        Circle[{0, 0}, r], {r, 0, rmax, 
                          rmax/4}], 
Map[Line, 
                        Table[{rot[(i - 1)*30  °] . {rmax, 0}, 
                            rot[(i - 1)*30  °] . {-rmax, 
                                0}}, {i, 1, 
                            6}]]}}, 
Ticks -> {Table[{r, r}, {r, 0, rmax, rmax/4}], 
                    Table[{r, r}, {r, 0, rmax, 
                        rmax/4}]}, 
opt]
];
\(Do[
AntennaPolarPlot[
        pat[θ], {θ, \(-π\), π}, 
        4, 
PlotPoints -> 
          200, 
PlotLabel -> 
          StringJoin["l= ", 
            ToString[
              NDigit[2*h, 
                2]], " wavelength"], 
PlotStyle -> {AbsoluteThickness[2], RGBColor[1, 0, 0]}], 
{h, λ0/
          16, 3*λ0, λ0/16}]\)

Radiation Pattern

3-D Polar Pattern

<< Graphics`Graphics3D`;
<< Graphics`SurfaceOfRevolution`;
λ0 = 1. ;
k0 = ((2*π)/λ)0;
i0 = 1. ;
h = λ(0/4);
pat[θ_] := 
        Module[{}, 
If[(Abs[θ + π] < 
                  (10^(-2)))  ||  (Abs[θ] < 
                  (10^(-2)))  ||  (Abs[θ - π] < 
                  (10^(-2))), 
            0. , ((i0*(Cos[h*k0] - Cos[h*k0*Cos[θ]])*Csc[(θ/2)]*Sec[(θ/2)])/k0)]
];
NDigit[r_, n_] := 
        N[r] - FractionalPart[
              N[r]*(10^n)]*(10^(-n));
\(Do[
pat3D = 
        SurfaceOfRevolution[{pat[t]*Sin[t], pat[t]*Cos[t]}, {t, 
            0, π}, 
PlotPoints -> 
            41, 
Boxed -> 
            False, 
Axes -> 
            None, 
DisplayFunction -> 
            Identity
]; 
Shadow[{EdgeForm[], 
          pat3D[\([1]\)]}, 
ViewPoint -> {2.239, \ \(-2.314\), \ 1.040}, 
BoxRatios -> {1, 1, 
            1}, 
PlotRange -> {{\(-2.1\), 
              2.1}, {\(-2.1\), 2.1}, {\(-2.1\), 
              2.1}}, 
DisplayFunction -> $DisplayFunction, 
PlotLabel -> 
          StringJoin["l= ", 
            ToString[
              NDigit[2*h, 
                2]], " wavelength"], 
XShadow -> 
          True, 
YShadow -> 
          True, 
ZShadow -> 
          True, 
XShadowPosition -> \(-1\), 
YShadowPosition -> 
          1, 
YShadowPosition -> \(-1\)], 
{h, 14*λ0/16, 
        14*λ0/16, λ0/16}]\)

3-D Polar Pattern (2)

<< Graphics`Graphics3D`;
λ0 = 1. ;
k0 = ((2*π)/λ)0;
i0 = 1. ;
h = λ(0/4);
pat[θ_] := 
        Module[{}, 
If[(Abs[θ + π] < 
                  (10^(-2)))  ||  (Abs[θ] < 
                  (10^(-2)))  ||  (Abs[θ - π] < 
                  (10^(-2))), 
            0. , ((i0*(Cos[h*k0] - Cos[h*k0*Cos[θ]])*Csc[(θ/2)]*Sec[(θ/2)])/k0)]
];
NDigit[r_, n_] := 
        N[r] - FractionalPart[
              N[r]*(10^n)]*(10^(-n));
\(Do[
pat3D = 
        ParametricPlot3D[{pat[t]*Sin[t]*Cos[u], pat[t]*Sin[t]*Sin[u], 
            pat[t]*Cos[t]}, {t, 0, π}, {u, 0, 
            2*π}, 
PlotPoints -> 
            50, 
Boxed -> 
            False, 
Axes -> 
            None, 
DisplayFunction -> 
            Identity
]; 
Shadow[{EdgeForm[], 
          pat3D[\([1]\)]}, 
ViewPoint -> {2.239, \ \(-2.314\), \ 1.040}, 
BoxRatios -> {1, 1, 
            1}, 
PlotRange -> {{\(-2.1\), 
              2.1}, {\(-2.1\), 2.1}, {\(-2.1\), 
              2.1}}, 
DisplayFunction -> $DisplayFunction, 
PlotLabel -> 
          StringJoin["l= ", 
            ToString[
              NDigit[2*h, 
                2]], " wavelength"], 
XShadow -> 
          True, 
YShadow -> 
          True, 
ZShadow -> 
          True, 
XShadowPosition -> \(-1\), 
YShadowPosition -> 
          1, 
YShadowPosition -> \(-1\)], 
{h, 14*λ0/16, 
        20*λ0/16, λ0/16}]\)