jpsradar/radar-dsp-pipeline

GitHub: jpsradar/radar-dsp-pipeline

一个可复现的雷达 DSP pipeline,用于信号级分析、检测性能评估和数值鲁棒性实验,连接 DSP 选择与系统级检测行为。

Stars: 0 | Forks: 0

# 雷达 DSP Pipeline 一个可复现的雷达 DSP pipeline,用于**信号级分析、检测行为、数值鲁棒性和系统权衡**。 本仓库展示了实际的 DSP 决策——滤波、加窗、FFT 处理、递归滤波器实现和检测策略——如何影响**可检测性、检测概率 (Pd)、虚警 (Pfa)、数值稳定性和所需的 SNR**。 重点在于**工程行为和可测量的后果**,而不是孤立的公式或简单的示例。 ## 范围 该 pipeline 旨在回答以下问题: - 信号在频域中何时变得可检测? - 滤波和加窗如何影响可检测性? - 泄漏和噪声带宽对检测有什么影响? - 阈值如何转化为经验性的 Pd 和 Pfa? - DSP 的选择如何影响系统级的检测性能? - IIR 极点位置、算术精度和滤波器结构如何影响数值鲁棒性? 它是一座连接 **DSP 与检测的桥梁**,而不是一个完整的雷达模拟器。 ## Pipeline 结构 该仓库的结构清晰地划分为以下几个部分: - `src/` → 可复用的 DSP 库 - `scripts/` → 可执行的 pipeline 阶段 - `notebooks/` → 可复现的演示教程 - `tests/` → 工程不变量 ### DSP 模块 (`src/`) - `signals.py` → 信号生成和 SNR 控制的噪声 - `fft_tools.py` → FFT、频谱峰值检测和底噪估计 - `filters.py` → FIR/IIR 设计与应用 - `windows.py` → 加窗、相干增益和 ENBW - `detection.py` → 阈值处理、Pd/Pfa 估计和 Doppler 峰值检测 - `iir_stability.py` → 极点半径实验、直接型与 SOS 行为对比及数值鲁棒性 没有绘图。没有 CLI。纯逻辑实现。 ### Pipeline 阶段 (`scripts/`) 1. **01 — 信号与噪声 (FFT)** SNR → 频谱可见性 → 可检测性 2. **02 — 滤波** FIR 与 IIR → 噪声整形 → 对可检测性的影响 3. **03 — 加窗** 泄漏与分辨率与 ENBW 的权衡 4. **04 — 检测** 阈值处理 → 经验性 Pd/Pfa 5. **05 — 系统权衡** 滤波 + 加窗 + 检测策略 → Pd/Pfa/SNR 权衡 6. **06 — IIR 稳定性和数值鲁棒性** 极点半径 + 直接型与 SOS 对比 + float32 与 float64 对比 → 有界响应、数值溢出和发散 所有输出均生成在以下目录: ``` figures/generated_plots/ ``` ## 可复现的演示教程 运行: ``` jupyter notebook notebooks/radar_dsp_pipeline_walkthrough.ipynb ``` 然后: ``` Kernel → Restart & Run All ``` 各个阶段也可以直接执行: ``` python scripts/01_signals_noise_fft.py python scripts/02_fir_iir_filters.py python scripts/03_windowing_leakage.py python scripts/04_detection_doppler.py python scripts/05_system_tradeoffs.py python scripts/06_iir_stability_demo.py ``` ## 测试(工程不变量) 运行: ``` python -m pytest -q ``` 测试验证了: - 信号功率和 SNR 的一致性 - FFT 峰值的正确性和缩放比例 - 滤波器的通带/阻带行为 - 加窗的相干增益和 ENBW - 检测的 Pd/Pfa 和阈值逻辑 - IIR 稳定性输入、冲激响应行为和数据类型 (dtype) 保留情况 ## 建模方法 - 确定性信号生成 - 显式 SNR 控制 - 正确处理线性与 dB 域 - 在定义的测试单元 (cell under test) 评估检测 - 使用 Monte Carlo 进行测量 - 直接型与二阶级联 (second-order-section) IIR 实现之间的显式比较 - 受控的 float32 与 float64 数值实验 ## 本项目不包含的内容 该仓库不包含: - 完整的雷达方程建模 - 跟踪系统 - 高级杂波模型 - 实时性约束 - 硬件定点实现 它是一个**受控的 DSP 分析 pipeline**。 ## 总结 本项目展示了: - 清晰的 DSP 架构(库 + pipeline) - 可复现的实验 - 通过测试进行的工程级验证 - 对 DSP 选择的系统级解释 - 实用的 IIR 稳定性和数值鲁棒性分析
标签:信号检测, 安全规则引擎, 恒虚警处理, 数字信号处理, 数字滤波器, 逆向工具, 雷达信号处理, 频域分析