?? capon.m
字號:
clear all;
clc;
%所需信號來自ang1度方向,而干擾信號來自ang2度方向,頻率為freq=30MHZ,也即波長為wavelength=10米。陣元之間的間距為dist=wavelength/2米,
%假設(shè)陣列有30個陣元組成,記右邊第一個陣元接收的信號為Sd,則第二個陣元接收的信號為Sd*EXP(-i*2*pi*d*sin(ang)/wavelength),
%以此類推下去。
ratio_d_and_w=0.5;
%N_singal is numbers of sampling singal;
N_signal=10000;% 樣本數(shù)
ang1=(30*pi/180);%所需信號的方向
SNR=5;%信噪比
ASd=sqrt(10.^(SNR/10));
ang2=(65*pi/180);%干擾信號的方向
INR=45;%干噪比
ASi=sqrt(10.^(INR/10));
N_array=30;%陣列數(shù)
Sd=ASd*(randn(1,N_signal)+i*randn(1,N_signal));%Sd為所需信號1*10000
Si=ASi*(randn(1,N_signal)+i*randn(1,N_signal));%Si為干擾信號1*10000
Ni=randn(N_signal,N_array)+i*randn(N_signal,N_array);%Ni內(nèi)噪聲10000*30
Desired_Array=zeros(N_signal,N_array);%10000*30
Interferential_Array=zeros(N_signal,N_array);%10000*30
%f=test(ang2,N_array,ratio_d_and_w);%30*1
for LL=1:N_signal
Interferential_Array(LL,:)=Si(LL)*test(-ang2,N_array,ratio_d_and_w).';
Desired_Array(LL,:)=Sd(LL)*test(-ang1,N_array,ratio_d_and_w).';
end
%a_a=Desired_Array(1,:)
X=zeros(N_signal,N_array);
%X=Ni;
X=Desired_Array + Interferential_Array +Ni;
Rx=cov(X);
%AA=size(Rx);
S=test(ang1,N_array,ratio_d_and_w);
Wopt=inv(Rx)*S/(S'*inv(Rx)*S);%最優(yōu)權(quán)矢量
%從-90度到90度,間隔為0.1度;信號的方向
x_axis=-90:0.5:90;
ang=(x_axis)*pi/180;
Yy=zeros(1,length(ang));
for L=1:length(ang)
Z2=test(ang(L),N_array,ratio_d_and_w);
Yy(L)=(abs(Wopt'*Z2))^2;
end
subplot(2,1,1)
plot(x_axis,Yy);
xlabel('角度')
ylabel('Capon線性波束圖')
subplot(2,1,2)
plot(x_axis,N_array*log10(Yy));
xlabel('角度')
ylabel('Capon對數(shù)波束圖')
axis([-100 100 -300 0]);
grid on;
title('distance/wavelength=0.5時的方向圖 SNR=5;INR=35')
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -