SAR感知与图像处理综合工具箱
项目简介
本项目是一个基于MATLAB开发的合成孔径雷达(SAR)数据仿真与图像处理综合平台。该工具箱旨在提供从底层的雷达信号回波仿真成像,到上层的图像增强、特征分析及目标检测的全流程演示。代码采用模块化设计,通过一个主程序串联起SAR系统的关键处理环节,适合用于理解SAR成像机制、验证斑点滤波算法效果以及测试CFAR目标检测性能。
主要功能特性
本项目在单一流程中集成了以下核心功能:
- SAR成像仿真 (RDA):基于距离多普勒算法(Range Doppler Algorithm),模拟点目标的原始回波信号,并执行距离向压缩和方位向压缩,生成单视复数(SLC)图像。
- 复杂场景构建:为了弥补简单的点目标仿真在纹理分析上的不足,系统内置了合成场景生成器,能够创建包含海面(低均值)、陆地(纹理区)和高亮舰船目标的幅度图像,并叠加符合Gamma分布的相干斑噪声。
- 自适应斑点抑制:实现了多种经典的自适应滤波算法(Lee, Frost, Kuan),能够根据局部图像统计特性(均值、方差)自适应调整滤波权重。
- 特征提取与增强:
*
小波去噪:利用二维离散小波变换(Symlets小波)进行软阈值去噪。
*
纹理分析:基于灰度共生矩阵(GLCM)提取对比度、相关性、能量和同质性特征。
- CFAR目标检测:集成了三种恒虚警率检测器(CA-CFAR, GO-CFAR, SO-CFAR),支持自定义保护单元、参考单元和虚警概率。
- 全方位可视化与评估:自动生成包含12个子图的综合展示界面,并计算等效视数(ENL)和边缘保持指数(EPI)等质量评价指标。
系统要求
- MATLAB R2018b 或更高版本
- Image Processing Toolbox(图像处理工具箱)
- Signal Processing Toolbox(信号处理工具箱)
- Wavelet Toolbox(小波工具箱)
- Statistics and Machine Learning Toolbox(用于分布生成)
使用方法
- 将所有文件下载到MATLAB的工作目录中。
- 直接运行
main.m 文件。 - 程序将依次执行参数初始化、回波仿真、图像生成、滤波处理、特征提取和目标检测。
- 运行结束后,会弹出一个包含12个子图的综合窗口,展示处理前后的图像对比及数据分析结果。
详细功能与实现逻辑
以下是 main.m 文件中实际包含的代码逻辑的详细解析:
1. 系统参数与场景仿真
程序首先定义了机载SAR系统的关键参数,包括载波频率(5.3GHz)、带宽(30MHz)、采样率、平台速度和高度等。随后定义了空间中的三个理想点目标,用于后续的RDA成像算法验证。
2. RDA成像处理算法
通过内部函数
run_rda_simulation 实现成像逻辑:
- 回波生成:根据几何的距离历程计算相位历程,生成二维原始回波数据。
- 距离压缩:生成线性调频信号的匹配滤波器,在频域完成脉冲压缩。
- 方位压缩:计算方位调频率,生成方位向匹配滤波器,完成聚焦成像。
- *注:代码主要演示了距离和方位压缩的核心步骤。*
3. 合成场景构建
为了展示高级图像处理功能,程序并未直接使用RDA生成的简单点目标图,而是构建了一个256x256像素的合成幅度图:
- 背景合成:模拟了海面(低反射率)和陆地(正弦纹理变化)区域。
- 目标植入:在特定位置添加了舰船等高亮目标。
- 噪声叠加:通过生成服从Gamma/Rayleigh分布的随机噪声矩阵,以乘性噪声的形式模拟SAR图像特有的相干斑。
4. 斑点噪声抑制 (Despeckling)
程序调用
filter_sar_adaptive 函数对含噪图像进行处理。该函数实现了基于局部窗口统计特性的自适应滤波:
- Lee滤波:基于局部均值和方差计算权重,在均匀区域主要进行平滑,在边缘区域保留原值。
- Frost滤波:利用指数阻尼因子,根据局部变异系数调整滤波核的形状。
- Kuan滤波:基于MMSE准则的另一种线性近似形式。
5. 特征提取与图像增强
- 小波变换:使用
sym4 小波基进行2层分解,计算惩罚阈值,并应用软阈值(Soft Thresholding)策略去除高频噪声,最后重构图像。 - GLCM特征:首先将滤波后的图像量化为16级灰度,然后计算其灰度共生矩阵。基于该矩阵计算出四个关键纹理统计量:对比度(Contrast)、相关性(Correlation)、能量(Energy)和同质性(Homogeneity)。
6. CFAR目标检测
程序针对同一幅图像执行了三种不同的CFAR检测策略,参数设置为:保护单元2个,参考单元10个,虚警概率1e-4。
- CA-CFAR (Cell Averaging):取参考单元的平均值作为噪声基底,适合均匀背景。
- GO-CFAR (Greatest Of):取参考窗口左右两侧均值的较大者,用于处理杂波边缘。
- SO-CFAR (Smallest Of):取参考窗口左右两侧均值的较小者,用于处理多目标干扰。
程序输出了检测掩膜(Mask)和目标列表。
7. 结果可视化
main 函数最后构建了一个 3行4列 的大型Figure窗口,详细展示了以下内容:
- RDA成像的点目标结果(dB标度)。
- 含噪的合成SAR原图。
- Lee滤波结果。
- Frost滤波结果。
- Kuan滤波结果。
- 小波去噪结果。
- GLCM纹理特征数值展示。
- CA-CFAR检测结果(在原图上标记红十字)。
- GO-CFAR的二值掩膜。
- SO-CFAR的二值掩膜。
- 原图与Lee滤波后的灰度直方图对比。
- 边缘保持指数(EPI)的柱状图对比。