Individual skill
radar-vital-signs
End-to-end pipeline for extracting heart rate (HR) and breathing rate (BR) from raw short-range radar I/Q captures — both continuous-wave (CW, 24 GHz clinical boards) and FMCW mmWave (60/77 GHz, TI IWR/AWR). Use when Claude needs to parse interleaved I/Q binary, do a Range FFT on FMCW chirps, remove static clutter, pick a subject range bin, extract phase with unwrapping, design HR/BR bandpass filters, pick a peak frequency via PSD, reject the HR second harmonic that often dominates the fundamental, or handle respiration-harmonic leakage on slow breathers. Not for pulse/UWB range gating, MIMO beamforming, Doppler-only gesture radar, arrhythmia detection, or multi-subject source separation.
tasks/radar-vital-signs/environment/skills/radar-vital-signs/SKILL.md
Source commit f860ecf02ef53412a030f8661c83d644b739ff01
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Not checked yet
- Last checked
- Nov 3, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 1,905
- Repository last updated
- Nov 4, 2026
- License
- Apache-2.0
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- benchmark Repository topic
- skillsbench Repository topic
- design Derived category
- testing Derived category
- testing-browser Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
SKILL.mdcore · 6,336 bytesSKILL.mdcore · 6,336 bytesSKILL.mdcore · 6,336 bytesSKILL.mdcore · 6,336 bytesSKILL.mdcore · 6,336 bytesSKILL.mdcore · 6,336 bytesSKILL.mdcore · 6,336 bytesSKILL.mdcore · 6,336 bytesSKILL.mdcore · 6,336 bytesreferences/band-rationale.mddoc · 2,692 bytesreferences/debugging.mddoc · 2,845 bytesreferences/harmonic-pitfalls.mddoc · 4,042 bytesreferences/iq-formats.mddoc · 1,970 bytesreferences/range-bin.mddoc · 2,515 bytes
Read excerpt
# Radar Vital-Sign Extraction
End-to-end pipeline: raw radar I/Q → cleaned phase signal → HR and BR in bpm.
## Full pipeline (every step, in order)
1. **Parse binary I/Q** into a complex 1-D array (CW) or 2-D range matrix (FMCW). Use the JSON/YAML sidecar to determine format — never assume. See [references/iq-formats.md](references/iq-formats.md).
2. **(FMCW only) Range FFT** across fast-time samples of each chirp → range matrix `R[n_chirp, n_range_bin]`. CW skips this step.
3. **Remove static clutter.** Subtract the temporal mean:
- CW: `iq -= iq.mean()`
- FMCW: `R -= R.mean(axis=0, keepdims=True)`
4. **(FMCW only) Pick the subject range bin** within a physical prior window (e.g., 0.3–1.5 m for a seated subject). See [references/range-bin.md](references/range-bin.md).
5. **Extract phase with unwrap:**
```python