Skip to main content
ClaudeWave
Skill618 repo starsupdated 8d ago

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.

Install in Claude Code
Copy
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-antenna
Then start a new Claude Code session; the skill loads automatically.

SKILL.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()` |
|-----------|-------
matlab-train-networkSkill

>

matlab-driving-data-importerSkill

Import recorded driving sensor data (GPS, camera, lidar, actor tracks, lanes) into scenariobuilder.* objects (GPSData, CameraData, LidarData, ActorTrackData, Trajectory, laneData) and run preprocessing — synchronize, offset correction, crop, normalizeTimestamps, convertTimestamps. Also: compute actor tracks from lidar when no annotations exist, attach camera/lidar mounting + intrinsics, export to MAT/workspace/timetable/script. Use for raw driving dataset files (KITTI, nuScenes, Waymo, Pandaset, ROS/ROS2 bags, .mat, .csv, .mp4) or driving/vehicle/sensor logs that need wrapping. drivingLogAnalyzer (DLA) is OPT-IN ONLY — invoke only on explicit user request ('DLA', 'open in DLA', 'inspect/explore/analyze the recording') or reported sensor problem (sync drift, timestamp mismatch, overlay misalignment). NEVER auto-launch DLA after wrapping (Rule 0). For 'build scenario / export to RoadRunner / drivingScenario / OpenSCENARIO / Unreal / simulate', hand off to matlab-scenario-builder.

matlab-scenario-builderSkill

Generate driving scenes, scenarios, road surfaces, and 3D content from already-wrapped scenariobuilder.* sensor data (GPS, camera, lidar, actor tracks) using Scenario Builder for Automated Driving Toolbox. Use to BUILD, EXPORT, or AUGMENT a virtual scenario/scene/map: ego or actor trajectories, trajectory smoothing, OpenCRG road-surface extraction, 3D asset generation, static-object placement, point-cloud georeferencing + elevation, lane-based ego localization, sensor-fusion tracking, scenario-event extraction (cut-ins, hard brakes, near-misses, ADAS disengagements), or export to RoadRunner, drivingScenario, OpenDRIVE, OpenCRG, OpenSCENARIO, or Unreal Engine. Also: log-to-scenario, scenario harvesting, accident/near-miss reconstruction, SOTIF (ISO 21448) and ISO 26262 scenario coverage, USGS-aerial-lidar scene augmentation, traffic-sign placement from camera+lidar logs. NOT for raw-data import or multi-sensor sync/crop/offset/timestamp normalization — route those to matlab-driving-data-importer.

roadrunner-asset-mappingSkill

>

roadrunner-convert-lanelet2-to-rrhdSkill

>

roadrunner-import-sceneSkill

>

roadrunner-rrhd-authoringSkill

>

matlab-build-simbiology-modelSkill

Build, modify, and diagram SimBiology models — API reference, helper functions, and layout patterns. Use when constructing or editing models programmatically or visually.