跳到正文
cccskills
免费在 GitHub 公开

radar-signal-processing

Parse raw radar I/Q captures (CW or FMCW mmWave) and produce a cleaned 1-D slow-time signal ready for motion or vital-signs analysis. Use when Claude needs to read interleaved I/Q binary, do a Range FFT on FMCW chirps, remove static clutter, pick a subject range bin, extract phase with unwrapping, or debug why a radar pipeline is returning garbage. Not for pulse/UWB range gating, MIMO beamforming, or Doppler-only gesture radar.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(4)

  • SKILL.md2.3 KB
  • references/debugging.md2.8 KB
  • references/iq-formats.md1.9 KB
  • references/range-bin.md2.5 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

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
Never argmax(magnitude) across all range binsDC 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.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Perform various data analysis on SEC 13-F and obtain some insights of fund activities such as number of holdings, AUM, and change of holdings between two quarters.

中文简介正在准备中。当前显示原文说明。

benchflow-ai/skillsbench18612026年10月13日 更新

AC branch pi-model power flow equations (P/Q and |S|) with transformer tap ratio and phase shift, matching `acopf-math-model.md` and MATPOWER branch fields. Use when computing branch flows in either direction, aggregating bus injections for nodal balance, checking MVA (rateA) limits, computing branch loading %, or debugging sign/units issues in AC power flow.

中文简介正在准备中。当前显示原文说明。

benchflow-ai/skillsbench18612026年10月13日 更新

Redact text from PDF documents for blind review anonymization

中文简介正在准备中。当前显示原文说明。

benchflow-ai/skillsbench18612026年10月13日 更新

Use when checking simplified ADA-derived plan-view bathroom accessibility constraints such as turning space, door clear width, toilet centerline, grab bars, and lavatory knee/toe clearance.

中文简介正在准备中。当前显示原文说明。

benchflow-ai/skillsbench18612026年10月13日 更新

Analyze failed GitHub Action jobs for a pull request.

中文简介正在准备中。当前显示原文说明。

benchflow-ai/skillsbench18612026年10月13日 更新

Use when extracting plan-view architectural geometry from DXF files with semantic CAD layers, especially when outputs must normalize rooms, doors, fixtures, clearances, and grab bars into machine-checkable JSON.

中文简介正在准备中。当前显示原文说明。

benchflow-ai/skillsbench18612026年10月13日 更新

查看 benchflow-ai 的全部技能

报告此技能的问题