TriangularPatch#

class pyedb.libraries.rf_libraries.planar_antennas.TriangularPatch(edb_cell=None, target_frequency: str | float = '2.4GHz', length_feeding_line: str | float = 0, layer: str = 'TOP_METAL', bottom_layer: str = 'BOT_METAL', add_port: bool = True)#

Equilateral-triangle microstrip patch antenna (optionally probe-fed).

The class automatically determines the physical dimensions for a desired resonance frequency, creates the patch, ground plane and either an inset microstrip feed or a coaxial probe feed, and optionally sets up an HFSS simulation.

Parameters:
edb_cellpyedb.Edb, optional

EDB project/cell in which the antenna will be built.

freqstr or float, default “2.4GHz”

Target resonance frequency of the patch. A string such as "2.4GHz" or a numeric value in Hz can be given.

probe_offsetstr or float, default 0

Radial offset of the 50 Ω coax probe from the patch centroid. A value of 0 places the probe at the centroid (not recommended for good matching).

layerstr, default “TOP_METAL”

Metallization layer on which the patch polygon is drawn.

bottom_layerstr, default “BOT_METAL”

Metallization layer on which the ground polygon is drawn.

add_portbool, default True

If True, create a lumped port (probe feed) and add an HFSS setup with a frequency sweep.

Examples

Build a 5.8 GHz triangular patch on a 0.787 mm Rogers RO4350B substrate:

>>> edb = pyedb.Edb()
>>> patch = TriangularPatch(edb_cell=edb, freq="5.8GHz", probe_offset="5.6mm", layer="TOP", bottom_layer="GND")
>>> patch.substrate.er = 3.66
>>> patch.substrate.tand = 0.0037
>>> patch.substrate.h = 0.000787
>>> patch.create()
>>> edb.save_as("tri_patch_5p8GHz.aedb")

Probe-fed 2.4 GHz patch with default 0 offset (center feed):

>>> edb = pyedb.Edb()
>>> TriangularPatch(edb, freq=2.4e9).create()
>>> edb.save_as("probe_tri_patch_2p4GHz.aedb")
Attributes:
substrateSubstrate

Substrate definition (er, tand, h) used for all analytical calculations.

Overview#

create

Draw the patch, ground plane and feed geometry in EDB.

estimated_frequency

Improved analytical resonance frequency (Hz) of the dominant TM10 mode.

side

Patch physical side length (m) for the target frequency.

Import detail#

from pyedb.libraries.rf_libraries.planar_antennas import TriangularPatch

Property detail#

property TriangularPatch.estimated_frequency: float#

Improved analytical resonance frequency (Hz) of the dominant TM10 mode.

Uses a closed-form model for equilateral-triangle patches. Accuracy ≈ ±1 % compared with full-wave solvers for 0.003 ≤ h/λd ≤ 0.05 and εr 2–12.

Returns:
float

Resonant frequency in Hz.

property TriangularPatch.side: float#

Patch physical side length (m) for the target frequency.

Uses a full-cavity model with dynamic fringing and dispersion corrections that keeps the error < 0.25 % for 0.003 ≤ h/λd ≤ 0.06 and 2 ≤ εr ≤ 12.

Attribute detail#

TriangularPatch.target_frequency#
TriangularPatch.length_feeding_line#
TriangularPatch.layer = 'TOP_METAL'#
TriangularPatch.bottom_layer = 'BOT_METAL'#
TriangularPatch.substrate#
TriangularPatch.add_port = True#

Method detail#

TriangularPatch.create() bool#

Draw the patch, ground plane and feed geometry in EDB.

Returns:
bool

True when the geometry has been successfully created.