⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uca_smi.m

📁 QR分解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 + -