(完整word版)阵列信号处理对角加载算法matlab程序.doc
上传人:书生****ma 上传时间:2024-09-11 格式:DOC 页数:2 大小:14KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

(完整word版)阵列信号处理对角加载算法matlab程序.doc

(完整word版)阵列信号处理对角加载算法matlab程序.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

%----------对角加载(LSMI和SMI)方向图-----------------------%总结:这种算法主要给出了一种对角加载值的计算方法,对误差具有一定的稳健性,研究发现%当数据协方差矩阵中含有信号分量会影响算法的性能。clearall;clearall;clc;ratio_d_and_w=0.5;N_array=20;%阵列数N_signal=60;%样本数ang1=0*pi/180;%所需信号的方向SNR=5;%信噪比ASd=sqrt(10.^(SNR/10));ang2=40*pi/180;%干扰信号的方向INR=45;%干噪比ASi=sqrt(10.^(INR/10));Sd=ASd*(randn(1,N_signal)+i*randn(1,N_signal));%Sd为所需信号Si=ASi*(randn(1,N_signal)+i*randn(1,N_signal));%Si为干扰信号Ni=randn(N_array,N_signal)+i*randn(N_array,N_signal);%Ni内噪声Desired_Array=zeros(N_array,N_signal);Interferential_Array=zeros(N_array,N_signal);forLL=1:N_signalInterferential_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).';endX=zeros(N_array,N_signal);X=Interferential_Array+Ni;Rx=X*X'/N_signal;mm=std(diag(Rx));%对角加载值的确定下限%mm=trace(Rx)/N_array;%对角加载值的确定上限R1=Rx+mm*eye(size(Rx));R=inv(R1);A_est=test(ang1,N_array,ratio_d_and_w);C=A_est;w_SMI=R*C/(C'*R*C);%对角加载w_LSMI=inv(Rx)*C/(C'*inv(Rx)*C);%普通的Capon算法x_axis=-90:0.5:90;ang=(x_axis)*pi/180;forj=1:length(ang)steer=test(ang(j),N_array,ratio_d_and_w);f1(j)=w_SMI'*steer;f2(j)=w_LSMI'*steer;endf1=10*log10(abs(f1)/(max(max(abs(f1)))));f2=10*log10(abs(f2)/(max(max(abs(f2)))));subplot(2,1,1);plot(x_axis,f1),gridon;holdon;plot(x_axis,f2,'--'),gridon;xlabel('theta/°');ylabel('F/dB');title('(a)');%**********************************************X=Desired_Array+Interferential_Array+Ni;Rx=X*X'/N_signal;mm=std(diag(Rx));%对角加载值的确定下限%mm=trace(Rx)/N_array;%对角加载值的确定上限R1=Rx+mm*eye(size(Rx));R=inv(R1);A_est=test(ang1,N_array,ratio_d_and_w);C=A_est;w_SMI=R*C/(C'*R*C);%对角加载w_LSMI=inv(Rx)*C/(C'*inv(Rx)*C);%普通的Capon算法x_axis=-90:0.5:90;ang=(x_axis)*pi/180;forj=1:length(ang)steer=test(ang(j),N_array,ratio_d_and_w);f1(j)=w_SMI'*steer;f2(j)=w_LSMI'*steer;endf1=10*log10(abs(f1)/(max(max(abs(f1)))));f2=10*log10(abs(f2)/(max(max(abs(f2)))));subplot(2,1,2);plot(x_axis,f1),gridon;holdon;plot(x_axis,f2,'--'),