SkillAgentSearch skills...

matlab-simulate-radar-detections

Configure, simulate, debug, and analyze radarDataGenerator within radarScenario. Use for: interactively building radar detection scenarios from datasheets or performance requirements; diagnosing missed detections and configuration errors; interpreting sensor spherical, body, and scenario-frame outpu…

Install / Use

npx skills add matlab/matlab-agentic-toolkit --skill matlab-simulate-radar-detections

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

93/100

Supported Platforms

Universal

Tags

Our assessment of matlab-simulate-radar-detections

matlab-simulate-radar-detections scores 93/100 on our quality scale, 810th of 4,646 Development & Engineering skills we index (top 18%).

Its SKILL.md is 38 KB long, well organised into 36 sections with 7 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
30/30
Structure
20/20
Description
15/15
Adoption
13/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 18 days ago, so matlab-simulate-radar-detections 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-simulate-radar-detections compared with similar skills

All 4 of these similar skills score higher than matlab-simulate-radar-detections; compare them before choosing.

SkillScoreStarsUpdatedFormat
matlab-simulate-radar-detections (this skill)by matlab931.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-simulate-radar-detections?
Run npx skills add matlab/matlab-agentic-toolkit --skill matlab-simulate-radar-detections. The install tabs above show the steps for each supported agent.
Which AI agents does matlab-simulate-radar-detections 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-simulate-radar-detections 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-simulate-radar-detections still maintained?
The repository was last updated 18 days ago, so matlab-simulate-radar-detections is actively maintained.

name: matlab-simulate-radar-detections description: > Configure, simulate, debug, and analyze radarDataGenerator within radarScenario. Use for: interactively building radar detection scenarios from datasheets or performance requirements; diagnosing missed detections and configuration errors; interpreting sensor spherical, body, and scenario-frame outputs; deriving ReferenceRange from hardware specs via link budget; scan mode configuration (mechanical, electronic/AESA, hybrid); and validating simulation results against analytical predictions. license: https://www.mathworks.com/content/dam/mathworks/license/pmrl/license.md metadata: author: MathWorks version: "1.0"

Radar Data Generator — Statistical Detection Simulation

Build detection-level radar simulations using radarDataGenerator within radarScenario. This skill bridges user hardware specs and performance requirements to the Radar Toolbox statistical simulation API.

When to Use

  • User wants to simulate radar detections on moving targets
  • User has radar hardware specs (datasheet) or performance requirements and wants to build a simulation
  • User mentions surveillance radar, scanning, revisit time, detection probability, or radar coverage
  • User wants to compare scan strategies (mechanical vs electronic vs hybrid)
  • User wants to generate detections to feed a tracker (trackerGNN, trackerJPDA) or do sensor fusion
  • User wants Monte Carlo analysis, trade studies, or validation against link budget predictions
  • User is studying radar placement or geometry to maximize coverage
  • User has existing radarDataGenerator code that isn't working — missed detections, configuration errors
  • User wants to validate simulation results against expected performance

When NOT to Use

  • User needs I/Q-level waveform simulation (use radarTransceiver + pulse-Doppler chain)
  • User needs CFAR detector design or beamforming
  • User needs waveform design (ambiguity functions, chirp optimization)
  • User already has detections and wants to process them
  • User needs bistatic or multistatic radar configurations
  • User needs interference or jamming modeling (EW scenarios)
  • User wants to call radarDataGenerator standalone (without radarScenario) in a custom simulation loop

If the user needs signal-level fidelity, explain the tradeoff and hand off.

Detection Pathways

radarDataGenerator supports two detection pathways. This skill uses the target-pose pathway exclusively:

| Pathway | Call Signature | Detection Governed By | When Used | |---------|---------------|----------------------|-----------| | Target-pose (this skill) | detect(scenario) | DetectionProbability, FalseAlarmRate, ReferenceRange, ReferenceRCS | Standard radar simulation — targets defined as platforms with trajectories | | Emissions | detect(scenario, propagatedEmissions) | Sensitivity, DetectionThreshold | ESM receivers, bistatic with explicit emission propagation |

Properties from one pathway have zero effect on the other. Setting Sensitivity or DetectionThreshold in the target-pose pathway produces a "not relevant" warning.

Standalone mode: radarDataGenerator can also be called outside a scenario: [dets, numDets, config] = rdg(targetPoses, simTime). Use for integration into custom loops (Simulink, event-driven). Loses advance(), trajectory automation, multi-sensor aggregation, and coverage visualization. See references/detection-model.md for the full standalone API and pose struct requirements.

Workflow

Follow these 9 steps interactively. Do NOT silently choose parameters — engage the user at each decision point.

Step 1: Recommend Approach

Recommend statistical-level simulation using radarDataGenerator within radarScenario. Explain the tradeoff: fast iteration on scenario design vs less control over signal processing. If user needs I/Q-level fidelity, name the alternative path (radarTransceiver + pulse-Doppler + CFAR) and stop the structured 9-step flow.

When they confirm statistical-level, state the approach and name the APIs: radarScenario, radarDataGenerator, platform, waypointTrajectory/kinematicTrajectory/geoTrajectory.

Step 2: Confirm Use Case

Suggest a use case (e.g., ground-based surveillance scanning a sector). Confirm:

  • Scan type: Propose mechanical, offer electronic or both
  • Coordinate frame: NED (default), ENU, or Earth-centered. State implications.
  • Configuration: Confirm monostatic
  • Propagation environment: Default is FreeSpace (no refraction). If user mentions long range, low-elevation targets, or over-the-horizon, offer atmosphere models: atmosphere(scenario, model) — 'EffectiveEarth' (4/3 radius), 'RefractivityGradient', or 'CRPL'. These add refraction bias to propagation paths (ray bending), affecting reported target positions — they do NOT add atmospheric attenuation to the link budget. Weather/precipitation is NOT modeled at statistical level.

Step 3: Ask Parameter Sourcing Direction

"Which direction are you working? Top-down (specify requirements, derive hardware)? Bottom-up (specify hardware, derive performance)? Or a mix?"

If user provides a datasheet: follow the datasheet ingestion procedure in references/coupled-parameters.md — extract parameters, map to groups, identify gaps, close link budgets, flag conflicts.

The flow branches here:

Top-down path (Steps 4 → 5): User specifies performance requirements first, then derive hardware.

  • Step 4: Propose reference performance (range, RCS, Pd, Pfa)
  • Step 5: Present coupled-parameter table, derive hardware needed to meet requirements

Bottom-up path (Steps 5 → 4): User specifies hardware first, then derive performance.

  • Step 5: Present coupled-parameter table, collect hardware specs (power, gain, NF, bandwidth, etc.)
  • Step 4: Derive and present reference performance from hardware via radareqrng

Mixed/Datasheet: Collect what they have, fill gaps from both directions, flag inconsistencies.

Both paths converge at Step 6 (Target Set Design).

Step 4: Propose Reference Performance

Present as a reference target specification:

  • Reference range, reference RCS (note: ReferenceRCS is in dBsm)
  • Detection probability, false alarm rate (valid: [1e-7, 1e-3])
  • Integration type and number of pulses (assume coherent; ask for N or CPI)
  • Monostatic, clear sky

Top-down: Present concrete defaults. Let user react/modify. Bottom-up: Present values derived from their hardware. Show the derivation (which function, which inputs). For integration: assume coherent, ask number of pulses or CPI duration. Use detectability(Pd, Pfa, 1, 'SwerlingN') - 10*log10(N) for required SNR. The Swerling argument is a string: 'Swerling0', 'Swerling1', ..., 'Swerling4'. Never pass N to detectability for coherent systems — that applies non-coherent loss. See references/interaction-flow.md § Step 4 for the full decision table.

Step 5: Present Coupled-Parameter Table

Show the parameter-relationship table from references/coupled-parameters.md. This builds confidence, shows traceability, invites correction.

Top-down: Use the table to derive what hardware is needed to meet the agreed reference performance. Bottom-up: Use the table to collect the user's hardware specs and identify which groups are constrained.

Step 6: Target Set Design

Confirm geometry (radar placement, scan sector, airborne targets). Propose physically representative targets varying:

  • RCS (UAV ~0.01 m², fighter ~1 m², commercial ~10 m²)
  • Speed (50 m/s rotary, 250 m/s jet, 300+ m/s fast mover)
  • Altitude (500 m nap, 5 km mid, 10 km high)

Offer Swerling models (I = slow-fluctuating, III = dominant scatterer). Configure per-target RCS via rcsSignature on each platform's Signatures property — see references/detection-model.md for patterns. Default platform RCS is 10 dBsm (Swerling0).

Sanity checks before proceeding:

  1. Verify target geometry is within radar horizon using horizonrange(antennaHeight). If any target is beyond LOS at its specified altitude, flag this to the user.

  2. Compute the expected 0.9 Pd reference range for each target. Report a table like:

| Target | RCS (dBsm) | Swerling | Range (km) | Expected Pd | |--------|-----------|----------|-----------|-------------| | UAV | -20 | 1 | 15 | 0.72 | | Fighter | 0 | 1 | 40 | 0.95 |

Use: SNR_at_R = RadarLoopGain + RCS_dBsm - 40*log10(range), then map SNR to Pd with the correct Swerling formula (see references/radar-equation-tools.md). Flag any target where expected Pd < 0.5 — the user should know which targets will have unreliable detection before running the sim.

Ask: "Do you need terrain or ground returns, or is free-space sufficient?"

Step 7: Terrain / Occlusion

If applicable — see references/terrain-clutter-atmosphere.md for terrain options. Terrain and occlusion are additive after validating detections in free-space. landSurface for height maps, seaSurface for sea state, customSurface for user-defined. landSurface has occlusion() for LOS blocking. HasOcclusion on radarDataGenerator is target-to-target occlusion.

Step 8: Simulation Duration

Ask in user's terms: seconds, number of scans, number of target illuminations, or event-based. Convert between these once scan parameters are locked.

Step 9: Produce Requirements Sheet

Generate a standalone document with three sections — see references/requirements-sheet-template.md.

Key Functions

| Function | Purpose | Toolbox | |----------|---------|---------| | radarScenario | Scenario container (platforms, time, detect) | Radar | | radarDataGenerator | Statistical detection sensor | Radar | | platform | Add platform to scenario | Radar | | waypointTrajectory | Waypoint-based motion in local coords (has ReferenceFrame) | Radar | | kinematicTrajectory | State-based motion in local coords (NO ReferenceFrame) | Radar | | geoTrajectory | Waypoint-based motion in geodetic coords (lat/lon/alt) — requires IsEarthCentered = true | Radar | | radareqrng | Max detection range from radar equation | Radar | | radareqpow | Required Tx power | Radar | | radareqsnr | Received SNR at range | Radar | | detectability | Required SNR (detectability factor) for Pd/Pfa/N/Swerling | Radar | | albersheim | Required SNR for Pd/Pfa/N (Swerling 0 only) | Phased Array | | shnidman | Required SNR for Pd/Pfa/N/Swerling 0–4 | Phased Array | | horizonrange | Radar horizon from antenna height | Radar | | height2el | Elevation angle from target height/range | Radar | | freq2wavelen | Wavelength from frequency | Phased Array | | rangeres2bw | Bandwidth from range resolution | Phased Array | | bw2rangeres | Range resolution from bandwidth | Phased Array | | speed2dop | Doppler shift from speed. One-way convention — for monostatic two-way: fd = 2*speed2dop(v, lambda) | Phased Array | | dop2speed | Speed from Doppler shift. One-way convention — for monostatic two-way: v = dop2speed(fd, lambda)/2 or use lambda*fd/2 directly | Phased Array | | beamwidth2gain | Antenna gain from half-power beamwidth. Must pass [azBW; elBW] column vector — scalar assumes symmetric beam. | Phased Array | | aperture2gain | Antenna gain from effective aperture | Phased Array | | gain2aperture | Effective aperture from antenna gain | Phased Array | | ap2beamwidth | Beamwidth from aperture length and wavelength | Phased Array | | beamwidth2ap | Aperture length from beamwidth and wavelength | Phased Array | | effbeamwidth | Two-way

Truncated for display — read the full file on GitHub.

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