1. 声源定位中的旁瓣干扰问题
在阵列信号处理领域,声源定位技术一直面临着旁瓣干扰和弱源被掩盖的挑战。传统波束形成方法(如CBF、MVDR、MUSIC)虽然能够提供声源的空间分布信息,但在实际工程应用中常常遇到以下典型问题:
- 主瓣定位准确但旁瓣能量过高,导致虚假声源出现
- 强声源产生的旁瓣完全掩盖邻近弱声源
- 复杂声场环境下点扩散函数(PSF)建模不准确
- 宽频信号处理时频带能量分布不均
我在处理螺旋桨噪声测试项目时就遇到过这种情况:当需要定位多个旋转声源时,强噪声源的旁瓣会形成"鬼影",使得弱噪声源完全无法识别。这种场景下,传统波束形成方法给出的"脏图"(Dirty Map)往往包含大量干扰信息。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. CLEAN-SC算法原理剖析
2.1 算法核心思想
CLEAN-SC的核心创新在于它摒弃了传统CLEAN算法依赖理论PSF的做法,转而利用数据自身的空间相干特性来定义需要清理的干扰成分。这种数据驱动的方式使其在复杂声场环境下表现出更强的鲁棒性。
算法的工作流程可以概括为:
- 计算互谱矩阵(CSM)
- 通过波束形成生成初始脏图
- 迭代寻找峰值并提取相干分量
- 从CSM中去除该相干分量
- 重复直到满足停止条件
- 重建干净声源图
2.2 互谱矩阵的关键作用
互谱矩阵(CSM)是CLEAN-SC算法的数据基础,定义为:
$$
\mathbf C \in \mathbb{C}^{M\times M},\quad \mathbf C = \mathbb{E}{\mathbf p,\mathbf p^H}
$$
其中M是阵元数量,p是该频点上阵列接收的复声压向量。CSM包含了阵列各通道间的幅度和相位关系,完整描述了声场的空间相干特性。
在实际测量中,CSM通常通过多次快拍平均来估计:
matlab复制% 示例:CSM计算MATLAB代码
N_snapshots = 100; % 快拍数
CSM = zeros(M,M);
for n = 1:N_snapshots
p = fft(data_windowed(n,:)); % 单次快拍的FFT
CSM = CSM + (p * p')/N_snapshots;
end
