Agent skill · Design & Presentation

matlab-design-radar-waveform

Design, select, and analyze waveforms for radar, sonar, and active sensing using the Phased Array System Toolbox. Covers LFM, NLFM, FMCW, phase-coded, CW, stepped FM, custom IQ, ambiguity functions, sidelobe reduction, and Doppler tolerance. Key objects: phased.LinearFMWaveform, phased.NonlinearFMWaveform, phased.CustomFMWaveform, phased.PhaseCodedWaveform, phased.FMCWWaveform, phased.SteppedFMWaveform, phased.MFSKWaveform, phased.RectangularWaveform, nlfmspec2freq, shapespectrum, ambgfun, pambgfun, sidelobelevel, legendreseq, mlseq, radarWaveformGenerator.

matlabgithub.com/matlabGitHub ↗
claude-codecodexcopilotNOASSERTION
Install
npx skills add matlab/matlab-agentic-toolkit --skill matlab-design-radar-waveform --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 6
SKILL.md size: 23 KB
Bundled scripts: none
Version: 1.0
Declared author: MathWorks
Requires: >=R2024b
Path: skills-catalog/radar/matlab-design-radar-waveform/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 868
Language: MATLAB

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Design and select radar waveforms for radar, sonar, and active sensing using the Phased Array System Toolbox. It instructs the user to follow a decision tree to pick the correct waveform object based on requirements, and then configure, analyze, and compare waveform options using analysis tools like ambgfun and sidelobelevel. It also recommends exploring the radarWaveformGenerator app for interactive exploration.

How it works

The workflow is:

  1. Clarify requirements from the user and derive waveform parameters from those requirements using provided computations (e.g., range resolution, max range, max velocity, carrier frequency, PRF, and Doppler estimates).
  2. Select a waveform object using the Waveform Selection Decision Tree (choices include phased.LinearFMWaveform, phased.NonlinearFMWaveform, phased.CustomFMWaveform, phased.FMCWWaveform, phased.MFSKWaveform, phased.RectangularWaveform, phased.PhaseCodedWaveform, phased.SteppedFMWaveform).
  3. Configure the waveform by setting properties such as PulseWidth, SampleRate, FrequencyModulation, Code, ChipWidth, PRF, and other waveform-specific parameters.
  4. Analyze the waveform with functions like ambgfun (ambiguity function) and pambgfun / sidelobelevel to evaluate mainlobe, PSL, and periodic ambiguity for CW/periodic waveforms.
  5. Suggest interactive exploration with radarWaveformGenerator for hands-on experimentation.

Key design guidance includes using plasma-specific steps such as nlfmspec2freq for NLFM design, shapespectrum for spectrum shaping, and using phrasings like "CustomFMWaveform" with a computed frequency profile for NLFM. The approach emphasizes avoiding code-only jumps without context and relies on a decision tree to select the appropriate object before code generation. The analysis note indicates using ambgfun zero-Doppler cuts and measuring PSL with sidelobelevel, and it cautions about not constructing a Phased MatchedFilter unless coefficients are explicitly needed by downstream processing.

When to use it

Triggers include primary keywords related to waveform design (waveform, signal, chirp, LFM, NLFM, FMCW, PMCW, pulse compression) or sensing-context words (target, Doppler, sidelobe, ambiguity, Doppler tolerance, range resolution, matched filter). If triggered, it instructs to clarify purpose (exploration vs application) and gather application dimensions (range, velocity, resolution, environment, hardware limits, primary metric) and then derive parameters before proposing a waveform. If MATLAB release is stated, note that radarWaveformGenerator requires R2026a. The workflow supports both exploration and application-driven contexts, with explicit guidance on parameter derivation and PRF conflicts.

What it can touch

It references tool functions and objects: ambgfun, pambgfun, sidelobelevel, rangeres2bw, freq2wavelen, speed2dop, nlfmspec2freq, phased.LinearFMWaveform, phased.NonlinearFMWaveform, phased.CustomFMWaveform, phased.FMCWWaveform, phased.MFSKWaveform, phased.RectangularWaveform, phased.PhaseCodedWaveform, phased.SteppedFMWaveform, legendreseq, tbp, PulseWidth, ChipWidth, SampleRate, PRF, CustomCode, and radarWaveformGenerator. It also discusses using rangerses2bw, and notes about sample rate calculations and TBP trade-offs.

Caveats

No explicit licensing details beyond license URL is provided in this section; the exercise notes compatibility and versioning (R2024b, and mentions R2026a for radarWaveformGenerator). It cautions about PRF conflicts, such as fdMax > prfMax, and provides guidance to present conflicts and propose staggered PRF or medium-PRF with ambiguity resolution. It also warns about not iterating beyond 2 attempts if code errors occur, and that the design assumes system-level trade-offs rather than single-solution guarantees.

From the SKILL.md

# Radar Waveform Design Design and select radar waveforms using the Phased Array System Toolbox. Use the decision tree to select the correct waveform object based on requirements, follow correct function-to-object pairings, and avoid common mistakes. ## When to Use **Primary keywords** (any of these alone can trigger the skill): waveform, signal, chirp, LFM, NLFM, FMCW, PMCW, pulse compression, transmit signal **Sensing-context words** (confirm sensing domain when paired with primary keywords): target, jammer, jamming, pulse, pulses, spectrum, sidelobe, Doppler, range resolution, detection, clutter, matched filter, ambiguity, sweep, PRF, PRI **Trigger logic:** - Primary keyword + sensing-context word → use this skill directly - Primary keyword alone → ask: sensing or communications? (communications → skill does not apply) - Sensing-context words + vague language ("a signal that changes each time") → use this skill **After triggering, clarify purpose and scope:** 1. **Purpose** — application-driven or exploration/learning? - Exploration/learning (student, paper reproduction, comparing properties): proceed with given parameters, suggest `radarWaveformGenerator`. Do not push for appli

What's inside
Steps it walks through
  1. When to Use
  2. When NOT to Use
  3. Escalation / Boundary Conditions
  4. Workflow
  5. Agent Reasoning Policy
  6. Requirements to Clarify
  7. Requirement-to-Recommendation Heuristics
  8. Waveform Family Summary
  9. Waveform Selection Decision Tree
  10. Key Functions
  11. Patterns
  12. Parameter Derivation from Requirements
  13. NLFM Design via Stationary Phase
  14. CW from Pulsed Objects (100% Duty Cycle)
Ships with 5 files
  • manifest.yaml
  • references/analysis-functions.md
  • references/common-mistakes.md
  • references/phase-code-reference.md
  • references/waveform-objects.md
More from matlab-agentic-toolkit
All skills →
About this skill
What does the matlab-design-radar-waveform skill do?

Design, select, and analyze waveforms for radar, sonar, and active sensing using the Phased Array System Toolbox. Covers LFM, NLFM, FMCW, phase-coded, CW, stepped FM, custom IQ, ambiguity functions, sidelobe reduction, and Doppler tolerance. Key objects: phased.LinearFMWaveform, phased.NonlinearFMWaveform, phased.CustomFMWaveform, phased.PhaseCodedWaveform, phased.FMCWWaveform, phased.SteppedFMWaveform, phased.MFSKWaveform, phased.RectangularWaveform, nlfmspec2freq, shapespectrum, ambgfun, pambgfun, sidelobelevel, legendreseq, mlseq, radarWaveformGenerator.

How do I install it?

Run `npx skills add matlab/matlab-agentic-toolkit --skill matlab-design-radar-waveform --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From matlab/matlab-agentic-toolkit, a repository with 868 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going