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

📄 smi.m

📁 智能天线自适应非盲波束形成SMI算法
💻 M
字号:
%SMI方向图和性能

%优点:  收敛速度快
%缺点:1 当阵元输出含有较强的期望信号时,或者期望信号与干扰信号相关时,性能急剧下降
      %2 由于权向量含有方向矢量,因此对阵列的幅相差非常敏感;
      %3 期望信号的功率不能过大,比干扰信号相差几十dB,也就是说,在小期望信号、大干扰信号情况下,也可进行SMI处理。
      
%在这种算法中,要求远场平面波信号只包含不相关的几个干扰信号,不含期望信号。在实际工作中这样的要求是不能实现的,
%%怎样设置期望信号和干扰信号的大小和来向,应该这样考虑:我们把期望信号和干扰信号同样对待,只是期望信号的SNR较小,
%%而干扰信号INR较大即可,且让干扰信号不能相关。例如snr=(0,40,40),doa=(90,15,25)。我们把INR分别为40dB、40dB,
%%来向(doa)分别为15、25度的信号视为干扰信号,干扰信号的方向可以任意设置,而来向(doa)90度为信号。

clear;
fre1=[1000 400 350];  %%input('analong frequency is:');       modsg
fre2=[25000 26000 24000];  %%input('carrying frequency is:');   If
% fre3=input('sampling frequency is:');                     Fs     
mod=[.4 .4 .6];  %%input('modulation factor is:');           Ka 调幅指数  
snr=[0 40,50 ];  %%input('signal to noise ratio is:');        snr
doa=[20 40 60];  %%input('direction of arrival is:');         doa     
dw=.5;  %%input('d to lamda ratio is:');                  间距和波长之比
M=16;                                                 %   阵元数
N=500;                                                %   采样点数
n=0:N-1;
m=0:M-1;
amp=10.^(snr/20);                                    %最大幅度值                                     
                             
for k=1:size(amp',1)                                  %%形成信号矩阵和方向矢量矩阵。
    SignalMatrix(k,:)=amp(k)*(1+mod(k)*sin(2*pi*fre1(k)/100000*n)).*exp(j*2*pi*fre2(k)/100000*n);                 %AM
    DirectionMatrix(:,k)=exp(j*2*pi*dw*m'*sin(doa(k)*pi/180));                                                        %直线阵
end
for i=1:M
   Noise(i,:)=randn(1,N);
end
%%输出采样协方差矩阵。
 OutPutMatrix=DirectionMatrix*SignalMatrix+Noise+j*Noise;%输出信号
 RelativeMatrix=1/N*OutPutMatrix*OutPutMatrix';
 %%形成SMI加权矢量。
 WeightVector=inv(RelativeMatrix)*DirectionMatrix(:,1);  %%DirectionMatrix(:,1)表示期望信号方向矢量。
%用于搜索
R=0;
for angle1=-90:90
   R=R+1;
   Direction(:,R)=exp(j*2*m'*pi*dw*sin(angle1*pi/180));  
end 
%得到方向图,方向矢量中包含有期望信号和干扰信号。
QuiescentPattern(1,:)=WeightVector'*Direction;
QuiescentPattern=abs(QuiescentPattern);
QuiescentPatternmax=max(QuiescentPattern);
Pattern=QuiescentPattern/QuiescentPatternmax;%规一化

angle1=-90:90;
PatterndB=20*log10(Pattern);
plot(angle1,PatterndB,'-r');
title('Pattern of SMI');
xlabel('Arrival Angle');
ylabel('Array Response dB');
grid on

figure;
subplot(3,1,1);
plot(n,SignalMatrix(1,:),'-m');
title('期望信号');
subplot(3,1,2);
plot(n,SignalMatrix(2,:),'.-.g');
title('干扰信号1');
subplot(3,1,3);
plot(n,SignalMatrix(3,:),'-*b');
title('干扰信号2');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -