Main Content

Design and Analyze Perforated Horn Antenna for RF Applications

This example shows how to design a perforated horn antenna suited for RF applications using custom geometry features of the Antenna Toolbox™ and analyze its scattering parameters. By following this guide, you will learn how to construct the antenna structure step by step, including the waveguide, horn taper, side grids, back grids, top and bottom grids, and finally, integrate feed mechanisms. This example is particularly useful for engineers and researchers focused on antenna design for high-frequency applications.

Define Geometric Parameters

The perforated horn antenna consists of a rectangular waveguide and a tapered horn with perforations. Define dimensions of the waveguide, tapered horn, and perforation in meters.

% Waveguide
waveguide_length = 10.16e-3;
waveguide_width = 22.86e-3;
waveguide_height = 31e-3;
% Horn Taper
flare_height = 0.01016;
flare_width = 0.02286;
flare_length = 0.053;
% Grid
grid_width = 0.002;

Create Waveguide

Start by creating the waveguide using a box shape. Then modify this shape by removing certain face and applying rotations and translations to achieve the desired orientation.

wShape = shape.Box(Length=waveguide_length,Width=waveguide_width,...
    Height=waveguide_height);
removeFaces(wShape,2);

Figure contains an axes object. The axes object with xlabel x-axis, ylabel y-axis contains 10 objects of type patch.

rotate(wShape,90,[0 0 0],[0 1 0]);

Figure contains an axes object. The axes object with xlabel x (mm), ylabel y (mm) contains 2 objects of type patch.

translate(wShape,[0 0 waveguide_length/2]);

Figure contains an axes object. The axes object with xlabel x (mm), ylabel y (mm) contains 2 objects of type patch.

Create Tapered Horn Antenna Shape

The tapered horn is crucial for impedance matching and directing the wave propagation. Create the tapered horn antenna shape in three steps as below.

Create Horn

To create a tapered horn, extrude a rectangle, rotate it to align with the waveguide, and then modify its orientation.

rect1 = shape.Rectangle(Length=flare_height,Width=flare_width);
hornTaper1 = extrudeLinear(rect1,flare_length,Scale=[3.149 1.3998],...
    NumSegments=1,Caps=true);
[~] = rotate(hornTaper1,90,[0 0 0],[0 1 0]);
[~] = translate(hornTaper1,[waveguide_height/2 0 flare_height/2]);
removeFaces(hornTaper1,3);

Figure contains an axes object. The axes object with xlabel x-axis, ylabel y-axis contains 10 objects of type patch.

figure
show(hornTaper1)

Figure contains an axes object. The axes object with xlabel x (mm), ylabel y (mm) contains an object of type patch.

Add Waveguide

Add waveguide to the tapered horn shape.

wShape = add(wShape,hornTaper1);

Add Perforations

Perforations in the form of a grid are added to tapered horn antenna to fine-tune its radiation pattern and bandwidth. Add various grids by subtracting box shapes from the main structure.Create Side, Back, Top, and Bottom Grids

This section involves iterative subtraction to create a patterned structure on the antenna's surface.

Create the side grid.

xs=0.01200;
ys=0;
zs=0.00508;
topbox=shape.Box(Length=grid_width,width=26.86e-3,Height=0.009,Center=[xs ys zs]);
gapbc=4e-3;

for i=0:6
    topbox.Center=[xs-i*gapbc 0 zs];
    wShape=subtract(wShape,topbox);
end

Repeat similar steps for back, top, and bottom grids with specific dimensions and positions.

%Back grids
xba=-0.0155;
yba=0.008;
zba=0.00508;
topbox=shape.Box(Length=0.005,width=grid_width,Height=0.009,Center=[xba yba zba]);
gapbc=4e-3;
for i=0:4
    topbox.Center=[xba yba-i*gapbc zs];
    wShape=subtract(wShape,topbox);
end
%Top and Bottom grids
xb=12e-3;
yb=8e-3;
zb=11e-3;
gapbc=3.985e-3;
for i=0:6
    topbox=shape.Box(Length=grid_width,width=0.002,Height=0.025,Center=[xb yb zb]);
    if(i>3)
        topbox.Height=0.005;
    end
    for j=0:4
        topbox.Center=[xb-i*gapbc yb-j*gapbc zb];
        wShape=subtract(wShape,topbox);
    end
end

Finalize Antenna Structure

After integrating all components, including the waveguide and grids, finalize the antenna structure by adding holes of varying sizes to further refine its performance characteristics.

hornShape=wShape;
% Starting Position along x,y,z
xt=0.018;
yt=0;
zt=0.00;
w=0.002;
% Create a box and subtract from the shape to form grids.
topbox=shape.Box(Length=grid_width,width=w,Height=0.050,Center=[xt yt zt]);
gapbc=3.995e-3;
endp=11e-3;
endn=-11e-3;
incf = 182.8e-6;

Form holes along the flare length.

for i=0:18
    temp=1e-3;
    size=2e-3;
    gapx=2e-3;
    for k=1:2
        if k==1
            sign=1;
            st=1;
        else
            sign=-1;
            st=0;
        end
        for j=st:6
            if(temp+j*size+j*gapx<=endp)
                w=0.002;
                yt=sign*j*gapbc;
            elseif(temp+(j-1)*size+j*gapx<endp)
                w=endp-temp-(j-1)*size-j*gapx;
                yt=sign*(j-1)*gapbc+sign*(size/2+gapx+w/2);
            else
                break;
            end
            topbox.Width = w;
            topbox.Center = [xt yt zt];
            hornShape = subtract(hornShape,topbox);
        end
    end
    yt = 0;
    endp = endp+incf;
    xt = xt+4e-3;
end
figure
show(hornShape);

Figure contains an axes object. The axes object with xlabel x (mm), ylabel y (mm) contains 3 objects of type patch.

Sequentially subtract box shapes to create holes in the antenna structure. Continue with subsequent holes, adjusting dimensions and positions as required to form holes along flare height.

for i=1:13
    hole1 = shape.Box(Length=0.002, Width=42e-3, Height=0.006+(1.5e-3*(i-1)), Center=[0.018+(4e-3*(i-1)) 0 0.00508]);
    hornShape = subtract(hornShape,hole1);
end

removeFaces(hornShape,5);

Figure contains an axes object. The axes object with xlabel x-axis, ylabel y-axis contains 14 objects of type patch.

Integrate Feed and Analyze Antenna

The final steps involve integrating the feed mechanism and analyzing the antenna's scattering parameters over 8GHz - 12GHz frequency range.

Create a rectangular shape for the feed probe.

fo = -7.5e-3;
feedProbe1 = shape.Rectangle(Length=0.00508, Width=0.0014);
feedProbe = copy(feedProbe1);

Create the perforated horn antenna by assigning the custom perforated shape created in previous steps to the Shape property of the customAntenna object.

feedProbe2 = shape.Rectangle(Length=0.0019, Width=0.0038);
[~] = translate(feedProbe2,[-feedProbe1.Length/2 0 0]);
feedProbe1 = feedProbe1+feedProbe2;
[~] = rotateY(feedProbe1,90);
translate(feedProbe1,[fo 0 feedProbe.Length/2]);

Figure contains an axes object. The axes object with xlabel x (mm), ylabel y (mm) contains 2 objects of type patch.

imp_rect = shape.Rectangle(Length=round(feedProbe.Width/sqrt(2),4),Width=round(feedProbe.Width/sqrt(2),4));
[~] = rotateZ(imp_rect,45);
[~] =translate(imp_rect,[fo 0 0]);
hornShape = imprintShape(hornShape,imp_rect);
antShape = add(hornShape,feedProbe1);
ant = customAntenna(Shape=antShape);

Add feed to the customAntenna using the createFeed function.

[~] = createFeed(ant,[fo 0 0],1);
figure
show(ant)

Figure contains an axes object. The axes object with title customAntenna antenna element, xlabel x (mm), ylabel y (mm) contains 3 objects of type patch, surface. These objects represent PEC, feed.

figure
mesh(ant,MaxEdgeLength=0.01,MinEdgeLength=0.002);

Figure contains an axes object and an object of type uicontrol. The axes object with title Metal mesh, xlabel x (m), ylabel y (m) contains 2 objects of type patch, surface. These objects represent PEC, feed.

Calculate the S-parameters of this antenna.

s = sparameters(ant,8e9:0.15e9:12e9);
rfplot(s);

Figure contains an axes object. The axes object with xlabel Frequency (GHz), ylabel Magnitude (dB) contains an object of type line. This object represents dB(S_{11}).

Calculate the pattern of this antenna.

figure
pattern(ant,10e9);

Figure contains 2 axes objects and other objects of type uicontrol. Axes object 1 contains 3 objects of type patch, surface. Hidden axes object 2 contains 17 objects of type surface, line, text, patch.

figure
patternAzimuth(ant,10e9,90);

Figure contains an axes object. The hidden axes object contains 2 objects of type line, text. This object represents el=90° .

figure
patternElevation(ant,10e9);

Figure contains an axes object and an object of type uicontainer. The hidden axes object contains 2 objects of type line, text. This object represents az=0° .

Conclusion

By meticulously following the steps outlined in this example, you can design a perforated horn antenna tailored for RF applications. The process involves constructing the basic shape, making precise modifications to refine the structure, and analyzing its performance to ensure it meets the desired specifications.

Reference

[1] Lightweight Perforated Waveguide Structure Realized by 3-D Printing for RF Applications, byGuan-Long Huang, Member, IEEE, Shi-Gang Zhou, Chow-Yen-Desmond Sim, Senior Member, IEEE, Tan-Huat Chio, and Tao Yua

See Also

Objects

Functions

Related Examples

More About