对角加载技术(Diagonal Loading,DL)是一类传统的稳健波束形成算法,因其简便易行的特点而被广泛使用。该类方法最早由Cox与Carlson等人提出。
其基本实现思路是在Capon波束形成器的采样协方差矩阵上附加一个经过缩放的单位矩阵,因此该方法也被称为加载协方差矩阵求逆(Loaded Sample Matrix Inversion,LSMI)算法。
该类方法主要通过增大采样协方差矩阵的对角线元素,即人为增大噪声成分的功率,来增加波束形成器对噪声的抑制能力,进而削弱其对期望信号成分的抑制,提高波束形成器的鲁棒性。
然而,这类方法是以削弱干扰抑制能力为代价而减缓“自消”,并没有从根本上解决问题。当加载量偏小时,对“自消”现象的缓解效果不明显;当加载量偏大时,波束形成器的干扰抑制能力会严重下降。
因此,确定适当的对角加载系数十分关键。但在后续研究中,对于加载量的选择没有明确的理论依据和数学推导,通常选择经验值,即高于噪声功率10~15dB作为加载量。
干扰角度设置为30°;通信信号来向设置为0°;估计偏差设置为1°。
(昨天发现波束扫描那里编写有错误,重新改了下)
如下图所示波束图:在干扰角度形成100dB的零陷,但通信信号来向并没有保证有最大增益。
下附代码:
clear
close all
clc
%% 阵列参数设计
L = 8; % 线阵阵元个数
fc = 30e6; % 载波频率30MHz
lambda = physconst("LightSpeed")/fc; % 定义波长为光速/载波频率
d = lambda/2; % 定义阵元间距为半波长
x = (0:L-1) * d; % 定义坐标
K = 1000; % 采样点数(快拍数)
fs = 200e6; % 采样频率为200MHz
t = (0:K-1)/fs; % 采样时刻
%% 期望信号设计
S = 1 ; % 信号个数
SNR = 10; % 信号信噪比(dB)
Signal_Freq = 50e6; % 信号频率为50MHz
Signaltheta = 0; % 信号来波方向为0°
Signaltheta_Name = 1; % 信号名义来波方向
%% 干扰信号设计
P = 1; % 干扰个数
INR = 60; % 干扰信噪比(dB)
Interference_Freqs = 40e6; % 干扰频率为40MHz
Interferencetheta = 30; % 干扰来波方向
%% 构造信号与阵列流形矩阵
St = sqrt(10^(SNR/10)) * exp(1j*2*pi*Signal_Freq*t); % 构造期望信号
It = sqrt(10^(INR/10)) * exp(1j*2*pi*Interference_Freqs*t); % 构造期望信号
nt = ((randn(L,K)) + 1j*randn(L,K))/sqrt(2); % 构造噪声信号
S = [St;It];
vd = exp(-1j * 2 * pi * x' * sind(Signaltheta)); % 期望信号导向矢量
vd_Name = exp(-1j * 2 * pi * x' * sind(Signaltheta_Name)); % 期望信号导向矢量
vi = exp(-1j * 2 * pi * x' * sind(Interferencetheta)); % 干扰信号导向矢量
A = [vd,vi]; % 阵列流形矩阵
%% 协方差矩阵计算
xt = A*S + nt; % 输入阵元信号
Rxx = (xt * xt')/K; % 采样协方差矩阵
B = 50; % 对角加载因子经验值(10~15dB)
gama = sqrt(10^(B/10)) * eye(L); % 对角加载量
wLSMI = inv(Rxx + gama) * vd_Name; % 对角加载法权重
%% 方向图求解
fai_angle = -90:0.5:90; % 定义扫描角度范围
v = exp(-1j * 2 * pi * x' * sind(fai_angle)); % 波束扫描方向向量
B = abs(wLSMI' * v);
plot(fai_angle,20*log10(B/max(B)),'k');
title('波束图');
xlabel('角度/degree');
ylabel('波束幅度/dB');
grid on
hold off