采用梯度下降法优化波形的自相关特性

雷达发射波形的自相关特性越好,越能够形成良好的主瓣增益,越低的旁瓣电平,主瓣增益能够使得检测性能提升。

ISL,积分旁瓣电平,ISL,英文全称为intergral sidelobe level,是衡量波形自相关函数旁瓣水平得指标。优化ISL主要有以下几点原因:

  1. 提升距离分辨率和检测性能:在雷达系统中,自相关函数的旁瓣会掩盖弱目标,导致检测性能下降。通过降低ISL,可以减少旁瓣对主瓣的干扰,从而提高多目标分辨能力和弱目标检测能力。
  2. 改善抗干扰能力:低旁瓣的波形可以减少来自不同距离的干扰,提高系统在复杂环境下的鲁棒性。
  3. 提高参数估计能力:在信号处理中,自相关函数的旁瓣会影响时延、多普勒等参数的估计精度。优化ISL可以提高这些参数的估计性能。
  4. 优化能量分布:恒模波形(即每个采样点的模值恒定)在通过功率放大器时不会引起失真,因此常被用于雷达和通信系统。优化恒模波形的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都有所下降,这证明了波形优化的有效性。

相关推荐
长河_讲_ITIL42 小时前
在硅基的倒影中寻找自我:写在AI智能体元年的一场思想突围
运维·人工智能·itss·itil·itil认证·itil培训
中國龍在廣州2 小时前
谈谈2025年人工智能现状及发展趋势分析
人工智能·深度学习·算法·自然语言处理·chatgpt·机器人·机器人学习
才盛智能科技3 小时前
帆麦自助KTV,如何成为潮流生活的一部分?
人工智能·物联网·生活·自助ktv系统·才盛云自助ktv系统·才盛云
可触的未来,发芽的智生3 小时前
一万个为什么:频率和相位
javascript·人工智能·python·程序人生·自然语言处理
雍凉明月夜3 小时前
深度学习之目标检测(1)
人工智能·深度学习·目标检测
国科安芯3 小时前
核工业检测系统通信链路的国产化元器件安全等级评估
运维·网络·人工智能·单片机·嵌入式硬件·安全·安全性测试
水如烟3 小时前
孤能子视角:“自指“,任何具有足够复杂性的关系性存在在演化中必然涌现的、定义其根本边界的“内在奇点”
人工智能
IT_陈寒3 小时前
Vite 5 实战:7个鲜为人知的配置技巧让构建速度提升200%
前端·人工智能·后端
weixin_669545203 小时前
高精度二合一锂电池保护芯片XR2130B
人工智能·硬件工程·信息与通信