SkillAgentSearch skills...

matlab-design-antenna

Design antennas, arrays, and PCB antennas using MATLAB Antenna Toolbox. Covers catalog antenna design and pattern analysis, custom antenna construction (customAntenna + shape.*), PCB antenna design (pcbStack + antenna.*), finite and infinite array design, AI-accelerated design exploration (AIAntenna…

Install / Use

npx skills add matlab/matlab-agentic-toolkit --skill matlab-design-antenna

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

84/100

Supported Platforms

Universal

Our assessment of matlab-design-antenna

matlab-design-antenna scores 84/100 on our quality scale, 2637th of 4,646 Development & Engineering skills we index.

Its SKILL.md is 9.6 KB long, well organised into 22 sections and no code examples: a thorough specification that gives an agent plenty to work with.

With 1,098 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
29/30
Structure
13/20
Description
15/15
Adoption
13/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 18 days ago, so matlab-design-antenna is actively maintained.
  • No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
  • Its trust signals score 88/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

matlab-design-antenna compared with similar skills

All 4 of these similar skills score higher than matlab-design-antenna; compare them before choosing.

SkillScoreStarsUpdatedFormat
matlab-design-antenna (this skill)by matlab841.1k18d agoSKILL.md
ai-job-searchby MadsLorentzen10044.9ktodayCLAUDE.md
claude-howtoby luongnv8910041.7k3d agoCLAUDE.md
algorithmic-artby anthropics100177.9k11d agoSKILL.md
pptxby anthropics100177.9k11d agoSKILL.md

Frequently asked questions

How do I install matlab-design-antenna?
Run npx skills add matlab/matlab-agentic-toolkit --skill matlab-design-antenna. The install tabs above show the steps for each supported agent.
Which AI agents does matlab-design-antenna work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is matlab-design-antenna safe to use?
It declares no license and scores 88/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is matlab-design-antenna still maintained?
The repository was last updated 18 days ago, so matlab-design-antenna is actively maintained.

name: matlab-design-antenna description: > Design antennas, arrays, and PCB antennas using MATLAB Antenna Toolbox. Covers catalog antenna design and pattern analysis, custom antenna construction (customAntenna + shape.), PCB antenna design (pcbStack + antenna.), finite and infinite array design, AI-accelerated design exploration (AIAntenna, patternFromAI), and optimization (SADEA/TR-SADEA). Use when the user wants to design, create, model, analyze, optimize, or fabricate an antenna or array. license: https://www.mathworks.com/content/dam/mathworks/license/pmrl/license.md metadata: author: MathWorks version: "2.0"

Antenna and Array Design

Design, analyze, and optimize antennas and arrays using MATLAB Antenna Toolbox — from catalog elements to custom shapes, PCB fabrication, AI-accelerated exploration, and surrogate-assisted optimization.

When to Use

Catalog antenna design

  • Design a standard antenna at a frequency (dipole, patch, horn, helix, Yagi, etc.)
  • Analyze radiation pattern (3D, 2D cuts, polarization, beamwidth, sidelobes)
  • Compute impedance, S-parameters, or return loss
  • Set substrate material before design
  • Compare patterns across antennas or frequencies

Custom antenna design

  • Build non-catalog antennas from geometric primitives (shape.*)
  • Construct 3D structures (waveguides, horns, cavities) via extrusion
  • Import STL/CAD geometry and add feeds
  • Configure delta-gap or probe feeds on custom structures

PCB antenna design

  • Build multi-layer PCB antenna stackups (pcbStack)
  • Create custom metal patterns with boolean operations (antenna.*)
  • Configure probe, edge, or aperture-coupled feeds
  • Export Gerber files for fabrication
  • Convert catalog antennas to pcbStack

Array design

  • Design linear, rectangular, circular, or conformal arrays
  • Beam steering, amplitude tapering, grating lobe analysis
  • Infinite array analysis (scan impedance, scan blindness, Floquet BC)
  • MIMO/handset multi-antenna isolation and ECC
  • Mutual coupling analysis

AI-accelerated design

  • Rapid parametric sweeps with AIAntenna surrogate models
  • Reconstruct 3D patterns from 2D slices (patternFromAI)
  • Full-factorial design space exploration
  • Export AI-tuned designs for full-wave validation

Optimization

  • Optimize antenna dimensions for gain, bandwidth, SLL, or F/B ratio
  • Built-in optimize() for catalog antennas with string objectives
  • SADEA/TR-SADEA with custom evaluation functions for pcbStack/customAntenna
  • Geometric constraints (linear and nonlinear)

When NOT to Use

  • Reflector antennas, reflectarrays, installed antennas, or RCS — use matlab-analyze-antenna-structures
  • Impedance matching networks, measuredAntenna, RF propagation, or SAR — use matlab-integrate-antenna

Must-Follow Rules

Catalog Antennas

  • Prefer catalog antennas over customAntenna — use customAntenna only when no catalog antenna or system antenna matches the requested geometry
  • Always use design() unless user provides explicit dimensions or antenna lacks design() support
  • Set substrate BEFORE design() — design() adapts dimensions to the substrate
  • Mesh at lambda/8 for substrate antennas after design() and before analysis
  • Use SweepOption="interp" only with sparameters (not impedance) on substrate antennas

Custom Antennas (customAntenna)

  • Use shape.* namespace (NOT antenna.*) with customAntenna
  • All dimensions in meters — not mm or cm
  • Always define a feed — customAntenna without createFeed cannot be analyzed
  • Feed must be at a geometric discontinuity — not middle of flat plate
  • Extrude first, rotate second — extrudeLinear requires XY-plane shapes
  • Shapes are handle objects — use copy() to preserve before transforming

PCB Antennas (pcbStack)

  • Set BoardThickness BEFORE Layers — otherwise dielectric gets wrong thickness
  • Use antenna.* namespace (NOT shape.*) for pcbStack metal patterns
  • Layer indices are cell array positions — in {M,D,M}, ground is index 3
  • design() does not work on pcbStack — design catalog antenna first, then convert
  • Gerber Filename must be char ('single quotes'), not "string"

Arrays

  • Always pass element as 3rd argument to design(arr, freq, element) — omitting resets to dipole
  • AmplitudeTaper for rectangularArray is column-major order
  • Infinite arrays have no NumElements/ElementSpacing — unit cell = ground plane size
  • Use phaseShift() for finite steering, ScanAzimuth/ScanElevation for infinite

AI Workflows

  • Use design(..., ForAI=true) — direct em.ai.AIAntenna() constructor not supported
  • Only 12 antenna types have pretrained AI models
  • Input slices for patternFromAI must be row vectors with 1-degree integer spacing
  • Always validate AI predictions with exportAntenna + full-wave simulation

Optimization

  • Start from design() to get physically reasonable initial dimensions
  • Tier 1 bounds: cell array {lb1,lb2; ub1,ub2}, Tier 2 bounds: numeric matrix [lb;ub]
  • Negate metrics for maximization in custom evaluation functions (SADEA minimizes)
  • Wrap custom eval in try/catch — return 1e6 penalty for invalid geometry
  • Set FrequencyRange explicitly for bandwidth optimization (default +/-5% may not match target)

Workflow

1. Catalog Antenna Design

  1. Parse — Identify antenna type, frequency, substrate, constraints
  2. Create — Set substrate (if any), call design(ant, freq)
  3. Mesh — mesh(ant, MaxEdgeLength=lambda/8) for substrate antennas
  4. Analyze — Impedance, S-parameters, 3D pattern, 2D cuts with polarpattern
  5. Report — Key metrics with units (Z, BW, gain, beamwidth)

2. Custom Antenna Design

  1. Build shapes — shape.* primitives (Rectangle, Box, Cylinder, Polygon)
  2. Transform — translate, rotate, scale (handle objects — copy first)
  3. Combine — Boolean: + (union), - (subtract), & (intersect)
  4. Extrude — extrudeLinear (taper) or extrudeRotate (revolution)
  5. Assemble — customAntenna(Shape=...), createFeed(ant, loc, numEdges)
  6. Mesh & analyze — mesh(ant, MaxEdgeLength=lambda/6), impedance, pattern

3. PCB Antenna Design

  1. Define stackup — pcbStack, set BoardThickness FIRST, then Layers
  2. Create patterns — antenna.* shapes with boolean operations
  3. Configure feed — FeedLocations = [x, y, sigLayer, gndLayer]
  4. Analyze — S-parameters (with SweepOption="interp"), pattern
  5. Export — gerberWrite with PCBWriter, PCBServices, PCBConnectors

4. Array Design

  1. Build array — Set type, size/elements, then design(arr, freq, element)
  2. Steer — phaseShift() finite, ScanAzimuth/ScanElevation infinite
  3. Taper — AmplitudeTaper (column-major for rectangular)
  4. Analyze — arrayFactor (fast) → patternMultiply → pattern (accurate)
  5. Coupling — sparameters, correlation, isolation metrics

5. AI-Accelerated Design

  1. Create — design(ant, freq, ForAI=true) for supported types
  2. Explore — tunableRanges, parametric sweep, resonantFrequency, bandwidth
  3. Validate — exportAntenna + full-wave impedance/pattern
  4. Reconstruct — patternFromAI from 2D slices (row vectors, 1-deg spacing)

6. Optimization

  1. Formulate — Choose objective, design variables, bounds, constraints
  2. Select tier — Catalog + built-in objective → Tier 1; else → Tier 2
  3. Run — optimize() or OptimizerSADEA/OptimizerTRSADEA
  4. Extract — getBestMemberData, showConvergenceTrend, isConverged
  5. Validate — Full analysis sweep on optimized design

Key Classes

| Class | Purpose | |-------|---------| | design() | Scale catalog antennas to frequency | | customAntenna | Arbitrary geometry from shape.* primitives | | pcbStack | Multi-layer PCB antenna with antenna.* shapes | | linearArray / rectangularArray / circularArray | Finite arrays | | conformalArray | Arbitrary element positions (MIMO, custom) | | infiniteArray | Unit cell with Floquet BC | | em.ai.AIAntenna | Pretrained surrogate for instant prediction | | patternFromAI | 3D pattern from 2D slices | | optimize() | Built-in SADEA for catalog antennas | | OptimizerSADEA / OptimizerTRSADEA | Custom optimization |

Conventions

Coding Standards

  • 4-space indentation, lowerCamelCase variables, UpperCamelCase Name-Value args
  • "double quotes" for strings (except Gerber Filename which requires 'char')
  • fprintf for formatted output
  • Do not add titles to Antenna Toolbox plots (pattern, show, rfplot, impedance)
  • Do add titles to manual plot figures and TitleTop to polarpattern
  • Show all plots in separate figures. Include units in all output.
  • Use physconst("LightSpeed") — never hardcode 3e8

Script-First Workflow

For design, analysis, or sweep tasks — write code to .m files, run via run_matlab_file, iterate by editing and re-running. Use inline evaluate_matlab_code for quick one-off checks.

References

| Load when... | Reference | |-------------|-----------| | Designing catalog antennas (types, design(), substrate, patterns) | references/catalog-antennas.md | | Building custom antennas (shape.*, extrusion, feeds, substrate) | references/custom-antennas.md | | Designing PCB antennas (pcbStack, layers, boolean, Gerber) | references/pcb-antennas.md | | Designing arrays (finite, infinite, steering, taper, MIMO) | references/arrays.md | | AI design exploration (AIAntenna, patternFromAI, surrogates) | references/ai-antenna-workflows.md | | Optimizing antennas (SADEA, bounds, constraints, custom eval) | references/optimization.md |


Copyright 2026 The MathWorks, Inc.

Related Skills

View on GitHub
GitHub Stars1.1k
CategoryDevelopment
Updated18d ago
Forks134

Languages

MATLAB

Trust signals

88/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 medium