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 稳定性和数值鲁棒性分析
标签:信号检测, 安全规则引擎, 恒虚警处理, 数字信号处理, 数字滤波器, 逆向工具, 雷达信号处理, 频域分析