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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
실행 점수 미검증
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
End-to-end pipeline: raw radar I/Q → cleaned phase signal → HR and BR in bpm.
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.
(FMCW only) Range FFT across fast-time samples of each chirp → range matrix R[n_chirp, n_range_bin]. CW skips this step.
Remove static clutter. Subtract the temporal mean:
iq -= iq.mean()R -= R.mean(axis=0, keepdims=True)(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.
Extract phase with unwrap:
phase = np.unwrap(np.angle(iq_or_bin))
phase -= phase.mean()
Decimate to ~50 Hz if fs >= 500 Hz (sub-Hz filtering at kHz is numerically unstable):
from scipy.signal import decimate
phase_ds = decimate(phase, q=int(fs/50), ftype='iir', zero_phase=True)
fs_new = fs / int(fs/50)
Two separate bandpasses — BR and HR:
b_br, a_br = butter(4, [0.08, 0.5], btype='band', fs=fs_new)
b_hr, a_hr = butter(4, [0.7, 3.0], btype='band', fs=fs_new)
br_sig = filtfilt(b_br, a_br, phase_ds)
hr_sig = filtfilt(b_hr, a_hr, phase_ds)
Peak frequency via zero-padded Welch PSD (each band):
nperseg = min(len(x), int(fs_new * 25))
f, p = welch(x, fs=fs_new, nperseg=nperseg, noverlap=nperseg//2,
nfft=8*nperseg, detrend='constant')
mask = (f >= lo) & (f <= hi)
peak_hz = f[mask][np.argmax(p[mask])]
HR harmonic rejection — always run:
f_sub = f_peak_hr / 2.0
if 0.7 <= f_sub <= 3.0:
p_sub = np.interp(f_sub, f, p)
p_top = np.interp(f_peak_hr, f, p)
if p_sub > 0.5 * p_top:
f_peak_hr = f_sub # peak was the 2nd harmonic
hr_bpm = f_peak_hr * 60
See references/harmonic-pitfalls.md for why this matters and mitigations for slow-breather respiration harmonics leaking into the HR band.
Cross-check with autocorrelation (optional but recommended):
ac = np.correlate(x - x.mean(), x - x.mean(), mode='full')
ac = ac[len(ac)//2:] / ac[len(ac)//2]
lag = int(fs_new/f_hi) + np.argmax(ac[int(fs_new/f_hi):int(fs_new/f_lo)])
bpm_ac = 60 * fs_new / lag
If abs(bpm_ac - bpm_psd) > 5, flag as low confidence.
| rule | why |
|---|---|
| Use phase, not magnitude | 1 mm motion at 24 GHz ≈ 1 rad; magnitude costs ~40 dB of SNR. np.abs(iq) is almost always wrong for mm-scale motion |
Clutter removal before np.angle | DC offset anchors phase off zero, eats the ±π unwrap budget |
| Decimate before sub-Hz bandpass | SciPy biquad silently NaNs at very-low normalized cutoffs |
| Two separate BR / HR bandpasses | HR is 10×–100× smaller than BR; single wide filter can't separate them |
Zero-pad Welch PSD (nfft=8*nperseg) | Raw bin spacing fs/nperseg is often coarser than tolerance |
| Always run HR sub-harmonic check | 2nd harmonic of cardiac pulse frequently dominates fundamental |
Never argmax(magnitude) across all range bins (FMCW) | DC bin and static reflectors dominate; restrict to subject-range window |
| band | use | textbook | why |
|---|---|---|---|
| BR lower | 0.08 Hz (4.8 bpm) | 0.1 Hz (6 bpm) | slow breathers (supine, meditation, sleep) routinely below 6 bpm |
| HR lower | 0.7 Hz (42 bpm) | 0.8 Hz (48 bpm) | bradycardia (athletes, post-tilt-down, β-blockers) below 48 bpm |
| HR upper | 3.0 Hz (180 bpm) | 2.5 Hz (150 bpm) | post-exercise and children exceed 150 bpm |
Widen only with specific justification. See references/band-rationale.md.
| If | Then |
|---|---|
f_peak/2 in HR band and p_sub > 0.5 × p_top | Pick sub-harmonic (fundamental) |
| PSD and autocorrelation disagree > 5 bpm | Flag low confidence; don't commit to one value |
| BR estimate < 10 bpm (slow breather) | Expect HR-band contamination — notch 2·BR, 3·BR. See harmonic-pitfalls.md |
| HR > 150 bpm (tachycardia) | Widen HR band upper to 3.3 Hz, re-estimate |
| Clip < 15 s | PSD resolution > tolerance — prefer autocorrelation, or flag inconclusive |
find_peaks(bandpassed_hr). Off by 2× ⇒ harmonic error slipped through.If output looks like garbage, walk through references/debugging.md — fast checks that catch most ingestion and SNR bugs.
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Redact text from PDF documents for blind review anonymization
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Analyze failed GitHub Action jobs for a pull request.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.