📄 uca_smi.m
字号:
function UCA_SMI()
%均匀圆阵阵列的QRD_SMI算法尝试
%先只考虑一维,即不考虑俯仰角(设为90度),只考虑方位角
clear all
M=32; %均匀圆阵个数M
Nlearn=625; %学习数据采样数
k=2; %圆阵半径与接收波长之比
seta=pi/4; %俯仰角,所有信号的俯仰角都来自一个方向
%合成输入信号
SNR1=0; %信号信噪比
INR2=40; %干扰信噪比
INR3=40;
INR4=40;
fai1=10*pi/9; %信号到来角
fai2=4*pi/3; %干扰到来角
fai3=8*pi/9;
fai4=2*pi/3;
faijiajiao=(0:(M-1))*2*pi/M;
A1=[exp(-i*k*2*pi*sin(seta)*cos(fai1-faijiajiao))];
A2=[exp(-i*k*2*pi*sin(seta)*cos(fai2-faijiajiao))];
A3=[exp(-i*k*2*pi*sin(seta)*cos(fai3-faijiajiao))];
A4=[exp(-i*k*2*pi*sin(seta)*cos(fai4-faijiajiao))];
for n=1:Nlearn
noise=randn(1,M)+i*randn(1,M); %噪声
s1=(10^(SNR1/20))*exp(i*2*pi*rand); %信号
s2=(10^(INR2/20))*exp(i*2*pi*rand); %干扰
s3=(10^(INR3/20))*exp(i*2*pi*rand);
s4=(10^(INR4/20))*exp(i*2*pi*rand);
xx(n,:)=(A1*s1+A2*s2+A3*s3+A4*s4+noise); %阵输入信号
end
%s为需要信号操纵矢量,它控制波束主瓣在目标方向的静态加权
windows=1;
s=[exp(-i*k*2*pi*sin(seta)*cos(fai1-faijiajiao))].'.*windows;
%QR分解
[Q,R]=qr(xx);
A=R(1:M,:);
v=inv(A')*conj(s);
Wopt=inv(A)*v;
%画波束图
Ncurve=201; %空间扫描角度采样数
fai=linspace(0,2*pi,Ncurve); %波入射角度, 即阵元空间扫描指向角度
%扫描矢量
for m=1:M
for n=1:Ncurve
a(m,n)=[exp(-i*k*2*pi*sin(seta)*cos(fai(n)-(m-1)*2*pi/M))].';
end
end
F=abs(Wopt.'*a);
figure
plot(fai*180/pi,20*log10(F/max(F)))
grid
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -