Wardn Hub
MCP ServersSkillsCategoriesAPI docsSubmit server
Submit server
Wardn HubTrusted MCP server directory.

Registry

  • MCP Servers
  • Skills
  • Categories

Resources

  • API docs
  • Score method

Contribute

  • Submit server
  • Advertise
© 2026 Wardn Hub
Wardn Hub
MCP ServersSkillsCategoriesAPI docsSubmit server
Submit server
skills/benchflow-ai/skillsbench/tasks-radar-vital-signs-environment-skills-radar-signal-processing

tasks-radar-vital-signs-environment-skills-radar-signal-processing

1
benchflow-ai/skillsbench·Data Science Tools·Audit pending·Snapshot ecb380bea5af

Summary

This source did not publish a separate summary. Review SKILL.md before using the skill.

SKILL.md

Radar Signal Processing

Get from a raw binary I/Q capture to a clean 1-D phase trace that downstream vital-signs / motion analysis can consume.

Pipeline (do every step in order)

  1. Parse binary I/Q to complex samples. Use the JSON/YAML sidecar to determine format — never assume. See references/iq-formats.md.
  2. (FMCW only) Range FFT across fast time → 2-D range matrix. CW skips this step.
  3. Remove static clutter. Subtract the temporal mean:
    • CW: iq -= iq.mean()
    • FMCW: R -= R.mean(axis=0, keepdims=True) on the range matrix
  4. (FMCW only) Pick the subject range bin. See references/range-bin.md.
  5. Extract phase with unwrap:
    phase = np.unwrap(np.angle(iq_or_bin))
    phase -= phase.mean()
    
  6. If fs >= 500 Hz and downstream needs sub-Hz filtering, decimate first:
    from scipy.signal import decimate
    phase_ds = decimate(phase, q=int(fs/50), ftype='iir', zero_phase=True)
    fs_new = fs / int(fs/50)   # ~50 Hz target
    

Critical rules

rulewhy (short)
Use phase, not magnitude1 mm motion at 24 GHz ≈ 1 rad; magnitude is ~40 dB worse SNR
Clutter removal goes before np.angleDC offset anchors phase off zero, eats the unwrap budget
Never design a 0.1 Hz filter against a 2 kHz signalSciPy biquad silently NaNs; decimate to ~50 Hz first
across all range bins
Never
argmax(magnitude)
DC bin (bin 0) and static reflectors dominate — restrict to a physical subject-range window

When things go wrong

If the output is garbage, walk through references/debugging.md in order — it's fast and catches most ingestion/SNR bugs.

Not in scope

Pulse/UWB time-of-flight, MIMO angle-of-arrival, Doppler-only gesture radar.

Related skills

testing-python13f-analyzerAutomatic Speech Recognition (ASR)Multimodal Fusion for Speaker DiarizationSpeaker Clustering Methods