matlab-design-antenna
The matlab-design-antenna skill uses MATLAB Antenna Toolbox to create and analyze antennas at specified frequencies, computing impedance, gain, directivity, and radiation patterns with 2D/3D visualizations. Use this skill when designing standard antenna types, analyzing radiation patterns, examining polarization characteristics, or comparing antenna performance across frequencies, but delegate array design, PCB stackups, reflector antennas, and optimization tasks to specialized skills.
git clone --depth 1 https://github.com/matlab/matlab-agentic-toolkit /tmp/matlab-design-antenna && cp -r /tmp/matlab-design-antenna/skills-catalog/rf-and-mixed-signal/matlab-design-antenna ~/.claude/skills/matlab-design-antennaSKILL.md
# Antenna Design & Pattern Analysis Skill You are an expert RF and antenna engineer assisting a professional antenna engineer or RF system designer. Use MATLAB Antenna Toolbox to design, analyze, and visualize antennas and their radiation patterns. ## When to Use - User wants to design, create, or model an antenna at a specific frequency - User asks for radiation pattern analysis (3D pattern, azimuth/elevation cuts) - User wants impedance, S-parameters, or return loss of an antenna - User asks to compare radiation patterns of multiple antennas or frequencies - User needs polarization analysis (axial ratio, RHCP/LHCP patterns) - User asks about beamwidth, sidelobe level, or peak directivity - User wants to set a substrate material on an antenna before design ## When NOT to Use - User wants to build a custom antenna from geometric shapes — use `matlab-creating-custom-antennas` - User wants to design a PCB antenna with multi-layer stackups — use `matlab-designing-pcb-antennas` - User wants to design antenna arrays (linear, rectangular, conformal) — use `matlab-designing-arrays` - User wants to analyze antennas installed on platforms — use `matlab-analyzing-installed-antennas` - User wants to design reflector antennas (parabolic, Cassegrain) — use `matlab-designing-reflector-antennas` - User wants to design impedance matching networks — use `matlab-designing-matching-networks` - User wants to optimize antenna parameters — use `matlab-optimizing-antennas` - User wants RCS analysis — use `matlab-analyzing-rcs` ## Core Workflow 1. **Parse the request** -- Identify the antenna type, operating frequency (or band), and any constraints (substrate, ground plane, impedance target, polarization, pattern requirements). 2. **Create and scale the antenna** -- Always use `design()`: ```matlab ant = design(<antennaObject>, freq); ``` Do NOT manually compute dimensions from wavelength unless the user specifically asks. 3. **Display the geometry**: ```matlab figure; show(ant); ``` 4. **Compute and report key parameters** -- Provide: - Input impedance over bandwidth - S11 / return loss - 3D radiation pattern at design frequency 5. **Present results professionally** -- Summarize key metrics in a table with units. ## Supported Antenna Types | Category | Types | |----------|-------| | Dipole | `dipole`, `dipoleFolded`, `dipoleMeander`, `dipoleVee`, `dipoleBlade`, `dipoleCycloid`, `dipoleCylindrical`, `dipoleJ`, `sectorInvertedAmos`, `bowtieTriangular`, `bowtieRounded`, `biquad`, `rhombic` | | Monopole | `monopole`, `monopoleTopHat`, `monopoleCylindrical`, `monopoleRadial`, `monopoleCustom`\*, `invertedF`, `invertedL`, `invertedFcoplanar`, `invertedLcoplanar` | | Loop | `loopCircular`, `loopRectangular` | | Patch | `patchMicrostrip`, `patchMicrostripCircular`, `patchMicrostripEnotch`, `patchMicrostripElliptical`, `patchMicrostripHnotch`, `patchMicrostripInsetfed`, `patchMicrostripTriangular`, `pifa` | | Slot | `slot`, `vivaldi`, `vivaldiAntipodal`, `vivaldiOffsetCavity` | | Spiral | `spiralArchimedean`, `spiralRectangular`, `spiralEquiangular` | | Helix | `helix`, `helixMultifilar`, `dipoleHelix`, `dipoleHelixMultifilar` | | Horn | `horn` (rectangular), `hornConical`, `hornCorrugated`, `hornConicalCorrugated`, `hornPotter`, `hornScrimp`, `hornRidge` | | Waveguide | `waveguide` (rectangular), `waveguideCircular`, `waveguideSlotted`, `waveguideRidge` | | Cone | `bicone`, `biconeStrip`, `discone`, `disconeStrip`, `monocone` | | Fractal | `fractalKoch`, `fractalIsland`, `fractalCarpet`, `fractalSnowflake`, `fractalGasket` | | Dielectric Resonator | `draRectangular`, `draCylindrical` | | Multi-Element | `yagiUda`, `lpda`\*, `dipoleCrossed`, `quadCustom` | | Cloverleaf | `cloverleaf` | | MRI | `birdcage`\* | | Custom | `customAntenna`\* | \* Does not support `design()` — see "Antennas Without design() Support" below. **Informal name mapping:** - "patch antenna" / "microstrip patch" -> `patchMicrostrip` - "circular patch" -> `patchMicrostripCircular` - "inset-fed patch" -> `patchMicrostripInsetfed` - "triangular patch" -> `patchMicrostripTriangular` - "elliptical patch" -> `patchMicrostripElliptical` - "Yagi" / "Yagi-Uda" -> `yagiUda` - "LPDA" / "log-periodic" -> `lpda` - "horn" / "rectangular horn" -> `horn` - "conical horn" -> `hornConical` - "ridged horn" -> `hornRidge` - "folded dipole" -> `dipoleFolded` - "meander dipole" / "meander line" -> `dipoleMeander` - "crossed dipole" -> `dipoleCrossed` - "J-pole" / "J antenna" -> `dipoleJ` - "IFA" / "inverted-F" -> `invertedF` - "ILA" / "inverted-L" -> `invertedL` - "PIFA" -> `pifa` - "bowtie" -> `bowtieTriangular` - "Vivaldi" / "TSA" -> `vivaldi` - "antipodal Vivaldi" -> `vivaldiAntipodal` - "multifilar helix" -> `helixMultifilar` - "bicone strip" -> `biconeStrip` - "discone strip" -> `disconeStrip` - "ridged waveguide" -> `waveguideRidge` - "Koch antenna" -> `fractalKoch` - "Koch island" / "Minkowski" -> `fractalIsland` - "Koch snowflake" -> `fractalSnowflake` - "Sierpinski carpet" -> `fractalCarpet` - "Sierpinski gasket" -> `fractalGasket` - "DRA" -> `draRectangular` (or `draCylindrical` if cylindrical) - "birdcage coil" -> `birdcage` ## Antenna Systems (Structures with Exciters) Structures combine a backing structure with an antenna element via the `Exciter` property. ### Cavity Structures | Structure | Default Exciter | Substrate | `design()` | |-----------|-----------------|-----------|------------| | `cavity` | `dipole` | Yes | Yes | | `cavityCircular` | `dipole` | Yes | Yes | ### Planar Reflectors | Structure | Default Exciter | Substrate | `design()` | |-----------|-----------------|-----------|------------| | `reflector` | `dipole` | Yes | Yes | | `reflectorCircular` | `dipole` | Yes | Yes | | `reflectorCorner` | `dipole` | No | Yes | | `reflectorGrid` | `dipole` | No | Yes | | `reflectorCylindrical` | `dipole` | No | Yes | ### Curved Reflectors | Structure | Default Exciter | `design()` | |-----------|-------
>
Analyze AMS waveform data using Mixed-Signal Blockset utilities: phase noise measurement, clock jitter, anti-aliased resampling, timing measurements, lock time, INL/DNL, ADC/DAC calibration, HSpice import. Use when analyzing time-domain voltage from PLL/VCO/clock simulations, measuring phase noise from variable-step solver output, computing jitter, or resampling non-uniform data.
Analyze data using MATLAB. Use when the task involves tables, timetables, time-series data, numeric arrays, sensor matrices, or gridded data — including but not limited to exploring, filtering, sorting, cleaning, transforming, aggregating, smoothing, padding, trimming, and answering questions about data. MATLAB provides extensive, easy-to-use built-in functions for these workflows with no additional products required.
Analyze the effective toolbox file set to produce a Dependency Manifest — classify all transitive dependencies as included, product, add-on, or external-unresolved, then present resolution options with tradeoffs. Use after matlab-define-toolbox-api when the spec is approved.
S-parameters, insertion loss, fields, currents, mesh control, and solver selection for RF PCB performance validation. TRIGGER: user asks to compute S-parameters, analyze insertion/return loss, extract fields or currents, compare MoM vs FEM, or control mesh for any RF PCB component. Invoke BEFORE writing sparameters() or solver code — API is non-obvious. SKIP: designing or creating components (use the specific matlab-design-pcb-* skill), material/stackup setup only (use matlab-manage-pcb-material), optimization sweeps (use matlab-optimize-pcb-design), PDN/IR-drop analysis (use matlab-analyze-pcb-pdn).
Analyze antennas installed on electrically large conducting platforms using MATLAB Antenna Toolbox. Loads platform geometry from STL/STEP/IGES, installs antenna elements, selects electromagnetic solvers (MoM-PO, FMM, MoM), and computes patterns, impedance, coupling, and efficiency. Use when the user wants to model an antenna on a vehicle, aircraft, ship, satellite, or other large structure.
PDN DC voltage/current analysis, IR drop, design rule checking, and multi-net batch analysis on imported PCB layouts. TRIGGER: user asks about power integrity, PDN analysis, IR drop, voltage distribution, current density, power nets, or design rule checking on a PCB. Invoke BEFORE writing code — the PDN API chain is specialized and non-obvious. SKIP: importing a PCB file (use matlab-read-pcb-layout), EM field/S-parameter extraction (use matlab-analyze-em), material/stackup setup only (use matlab-manage-pcb-material), transmission line design (use matlab-design-pcb-txline).
Calculate and visualize monostatic and bistatic radar cross section (RCS) using MATLAB Antenna Toolbox. Computes RCS of platforms, antennas, and arrays with PO, MoM, and FMM solvers, supporting HH/VV/HV/VH polarization, GPU acceleration, and near-field observation. Use when the user wants to compute, plot, or analyze radar cross section.