雷达回波仿真(三)—— 添加复高斯白噪声
% 1. 定位和通道峰值位置 (距离门索引与脉冲索引)
[~, maxLinearIdx] = max(abs(dataSum(:)));
[maxRangeIdx, maxPulseIdx] = ind2sub(size(dataSum), maxLinearIdx);
halfLen = param.LenModel; % 匹配滤波后的主瓣脉冲宽度 / 2
rangeIdx = max(1, maxRangeIdx - halfLen) : min(size(dataSum, 1), maxRangeIdx + halfLen);
% 2. 截取峰值脉冲的主瓣回波并计算平均信号功率 Ps
tempSignal = dataSum(rangeIdx, maxPulseIdx);
Ps = (tempSignal' * tempSignal) / (param.rate * halfLen * 2);
% 3. 根据预设 SNR 计算噪声功率 Pn 与标准差
Pn = 10^(- 0.1 * param.SNR) * Ps;
noiseStd = sqrt(Pn/2); % 实虚各自分配一半方差
% 4. 为和通道、方位差通道、俯仰差通道分别注入独立复高斯白噪声
dataSize = size(dataSum);
dataSum = dataSum + noiseStd * (randn(dataSize) + 1j * randn(dataSize));
dataAzi = dataAzi + noiseStd * (randn(dataSize) + 1j * randn(dataSize));
dataEle = dataEle + noiseStd * (randn(dataSize) + 1j * randn(dataSize));
说明:这里采用的信噪比为和通道平均信噪比,也可以采用峰值信噪比.
Last edited at 2026-11-03

浙公网安备 33010602011771号