資源簡介
dbf中的lcmv算法,對應于《一種低旁瓣數字波束形成方法》中的面陣仿真
代碼片段和文件信息
clear?all;
%陣元大小
N=8;???????????
M=8;
T=512;%快拍數
c=3*10^8;%光速
f=3*10^8;%頻率
d=c/f/2;
wave=c/f;%波長
fs1=0.5*10^6;?%信號頻率
f1=0.7*10^6;??%干擾1頻率
f2=0.8*10^6;%干擾2頻率
fs=4*10^6;
SNR=-10;%信噪比,信號功率為單位1
SIR=0;%信干比
pn=?1/10^(SNR/10);??%噪聲功率
noise=wgn(N*MTpn);??%噪聲信號
t=0:1:T-1
phi=45*pi/180;??????????%俯仰角
theta_s?=200*pi/180;????%信號方向
theta_i1=60*pi/180;????%干擾方向1
theta_i2=230*pi/180;????%干擾方向2
for?n=0:1:N-1
????for?m=0:1:M-1
????????a_theta_s(m+n*M+11)??=?exp(j*2*pi*n*sin(phi).*cos(theta_s)*d/wave+j*2*pi*m*sin(phi).*sin(theta_s)*d/wave);??%信號導向矢量?N*M?*?1
????????a_theta_i1(m+n*M+11)?=?exp(j*2*pi*n*sin(phi).*cos(theta_i1)*d/wave+j*2*pi*m*sin(phi).*sin(theta_i1)*d/wave);%干擾導向矢量?N*M?*?1
????????a_theta_i2(m+n*M+11)?=?exp(j*2*pi*n*sin(phi).*cos(theta_i2)*d/wave+j*2*pi*m*sin(phi).*sin(theta_i2)*d/wave);%干擾導向矢量?N*M?*?1
????end
end
%信干比為0時是單位增益
S0=exp(j*2*pi*fs1*t/fs);??%信號
%J1=exp(j*2*pi*f1*t/fs);?%干擾信號1
J1=8*exp(j*2*pi*f1*t/fs);?%改變干擾功率進行對比
%J2=exp(j*2*pi*f2*t/fs);?%干擾信號2
J2=8*exp(j*2*pi*f2*t/fs);??%改變干擾功率進行對比
A=[a_theta_sa_theta_i1a_theta_i2];
f=[100]‘;%約束條件
Rxx(N*MN*M)=0;
S=a_theta_s*S0;?????%?N*M?*?T
I1=a_theta_i1*J1;???%?N*M?*?T
I2=a_theta_i2*J2;???%?N*M?*?T
%X=S+I1+noise;??%當只有一個干擾信號時的陣列接收信號
X=S+I1+I2+noise;??%當有兩個干擾信號時的陣列接收信號
for?i=1:T
???Rxx=Rxx+X(:i)*X(:i)‘/T;??%生成信號(包括干擾)的自相關矩陣(平均)
end
??invRxx=inv(Rxx);
??Wopt=invRxx*A*inv(A‘*invRxx*A)*f;
theta_angle=0:1:360;
theta_angle_=theta_angle*pi/180;
Theta_angle_N=length(theta_angle);
for?n=0:1:N-1
????for?m=0:1:M-1
????????a(m+n*M+1:)=exp(j*2*pi*n*sin(phi).*cos(theta_angle_)*d/wave+j*2*pi*m*sin(phi).*sin(theta_angle_)*d/wave);
????end;
end;
F(1:)=Wopt‘*a;
H(1:)=abs(F(1:));
G(1:)=H(1:)./max(H(1:));
Fa(1:)=20*log10(G(1:));
%%%%%%%%%%%%%重復5次%%%%%%%%%%%%%%%%
for?k=1:5
??%??求出旁瓣的平均值(包含柵瓣)
??G_d=zeros(Theta_angle_N1);
??for?i=2:1:(Theta_angle_N-1)
????if?((G(ki)>G(ki-1))&&(G(ki)>G(ki+1)))
????????G_d(i)=G(ki);
????end
??end
??[aabb]=max(G_d);
??G_d(bb)=0;
??[aabb]=max(G_d)
??theta_q(k)=((bb-1)*1)*pi/180
%%%%%%%%%%%增加約束%%%%%%%%%%%%%%%
??for?n=0:1:N-1
????for?m=0:1:M-1
????????a_theta_q(m+n*M+1k)=exp(j*2*pi*n*sin(phi).*cos(theta_q(k))*d/wave+j*2*pi*m*sin(phi).*sin(theta_q(k))*d/wave);%旁瓣方向導向矢量?N*M?*?1
????end;
??end;
??A(:k+3)=a_theta_q(:k);
??f(k+3)=0.0001%約束條件
??Wopt=invRxx*A*inv(A‘*invRxx*A)*f;%得到最優權值
??F(k+1:)=Wopt‘*a;
??H(k+1:)=abs(F(k+1:));
??G(k+1:)=H(k+1:)./max(H(k+1:));
??Fa(k+1:)=20*log10(G(k+1:));
end
%%%%%%%%%畫圖%%%%%%%%%%%%%%%%
%plot(theta_angleFa(1:));
hold?on
plot(theta_angleFa(5:));
xlabel(‘角度(deg)‘);
ylabel(‘增益(dB)‘);
axis([0?360?-90?0]);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2898??2012-07-05?22:00??lcmv.m
-----------?---------??----------?-----??----
?????????????????2898????????????????????1
評論
共有 條評論