雷达发射波形的自相关特性越好,越能够形成良好的主瓣增益,越低的旁瓣电平,主瓣增益能够使得检测性能提升。
ISL,积分旁瓣电平,ISL,英文全称为intergral sidelobe level,是衡量波形自相关函数旁瓣水平得指标。优化ISL主要有以下几点原因:
- 提升距离分辨率和检测性能:在雷达系统中,自相关函数的旁瓣会掩盖弱目标,导致检测性能下降。通过降低ISL,可以减少旁瓣对主瓣的干扰,从而提高多目标分辨能力和弱目标检测能力。
- 改善抗干扰能力:低旁瓣的波形可以减少来自不同距离的干扰,提高系统在复杂环境下的鲁棒性。
- 提高参数估计能力:在信号处理中,自相关函数的旁瓣会影响时延、多普勒等参数的估计精度。优化ISL可以提高这些参数的估计性能。
- 优化能量分布:恒模波形(即每个采样点的模值恒定)在通过功率放大器时不会引起失真,因此常被用于雷达和通信系统。优化恒模波形的ISL可以在不增加峰值功率的情况下,将能量更集中地分布在主瓣,从而提高系统性能。
ISL的计算公式如下:
ISL=∑k∈Ωside∣rk∣2 \text{ISL}=\sum_{k\in\Omega_{side}}|r_k|^2 ISL=k∈Ωside∑∣rk∣2
其中Ωside\Omega_{side}Ωside为距离旁瓣的索引,假如仅考虑k=0k=0k=0时延处自相关函数的主瓣增益,那么Ωside=−N+1,−N+2,⋯ ,−1,1,2,⋯ ,N−1\Omega_{side}={-N+1,-N+2,\cdots,-1,1,2,\cdots,N-1}Ωside=−N+1,−N+2,⋯,−1,1,2,⋯,N−1.。
其中自相关的计算公式如下
rk=∑k=−N+1N−1x(n)x∗(n−k) r_k=\sum_{k=-N+1}^{N-1}x(n)x^*(n-k) rk=k=−N+1∑N−1x(n)x∗(n−k)
下面通过梯度下降法来优化随机相位编码波形的ISL
% 文件:gradient_descent_isl.m
% 目的:用梯度下降法最小化ISL(无约束版本)
clear all; close all;
% 参数设置
N = 128; % 波形长度
max_iter = 10; % 最大迭代次数
learning_rate = 1e-3; % 学习率
epsilon = 1e-6;
% 初始化随机波形
pha = rand(N, 1); %初始话随机相位编码
s = exp(1j * 2*pi * pha); %随机相位编码波形,恒模
% 存储ISL历史
isl_history = zeros(max_iter, 1);
% 梯度下降主循环
for iter = 1:max_iter
isl_current = objFunction(s);
isl_history(iter) = isl_current;
% 3. 计算梯度(数值梯度,简单但慢 - 用于理解)
gradient = myGradNum(s, epsilon);
phi_new = angle(s) - learning_rate * gradient; %得到新的相位
% 4. 更新波形(最速下降方向)
s = exp(1j * (phi_new));
% 显示进度
if mod(iter, 50) == 0
fprintf('迭代 %d, ISL = %.4f\n', iter, isl_current);
end
end
% 可视化结果
figure('Position', [100, 100, 1200, 400]);
% 1. ISL收敛曲线
subplot(1, 3, 1);
plot(10*log10(isl_history), 'LineWidth', 2);
xlabel('迭代次数'); ylabel('ISL (dB)');
title('ISL收敛曲线');
grid on;
% 2. 优化前后的自相关函数对比
subplot(1, 3, 2);
hold on;
% 初始波形的自相关
s_initial = exp(1j * 2*pi * rand(N, 1));
r_initial = xcorr(s_initial);
r_initial = r_initial / max(abs(r_initial));
plot(-(N-1):(N-1), 20*log10(abs(r_initial)), 'b--', 'LineWidth', 1.5);
% 优化后波形的自相关
r_optimized = xcorr(s);
r_optimized = r_optimized / max(abs(r_optimized));
plot(-(N-1):(N-1), 20*log10(abs(r_optimized)), 'r-', 'LineWidth', 1.5);
xlabel('延迟'); ylabel('幅度 (dB)');
title('自相关函数对比');
legend('初始随机波形', '优化后波形');
grid on; ylim([-50, 0]);
% 3. 波形相位
subplot(1, 3, 3);
stem(angle(s), 'filled', 'LineWidth', 1.5);
xlabel('采样点索引'); ylabel('相位 (弧度)');
title('优化后波形相位');
grid on;
为了方便,我们采用数值梯度
%% 计算数值梯度
function grad = myGradNum(x, epsilon)
% 我编写的计算数值梯度的函数
% 输入:
% x: 当前信号
N = length(x); %信号长度
gradient = zeros(N,1); %梯度向量
for n = 1:N
isl_current = objFunction(x); %计算当前的目标函数
s_plus = x; %传递给新x
phi_plus = angle(s_plus(n)) + epsilon; %取出来当前点的相位,添加一个小的扰动后的相位
s_plus(n) = exp(1j*phi_plus); %对当前点的相位进行赋值
isl_plus = objFunction(s_plus); %计算添加扰动后的的目标函数
% 数值梯度
gradient(n) = (isl_plus - isl_current) / epsilon;
end
grad = gradient; %返回梯度
end
目标函数如下
%% 自定义函数,目标函数
function objVal = objFunction(x)
% 1. 计算当前自相关函数
r = xcorr(x);
r_center = fix(length(r)/2) + 1; % 主瓣中心位置
% 2. 计算ISL(目标函数)
sidelobe_indices = [1:r_center-1, r_center+1:length(r)]; %计算积分旁瓣电平
objVal = sum(abs(r(sidelobe_indices)).^2); %返回ISL
end

收敛曲线
第一个子图是目标函数值的收敛曲线,第二个是优化后的波形的自相关函数对比图,可以看到,红色曲线为优化后的,整体的旁瓣电平都降低了。

随机相位编码波形的自相关函数
这是优化后的自相关特性,其峰值旁瓣电平达到了-27.75 dB。

波形优化的自相关函数
可以看到经过波形优化后,ISL和PSL都有所下降,这证明了波形优化的有效性。