阵列信号处理对角加载算法matlab程序.docx

上传人:rrsccc 文档编号:10483033 上传时间:2021-05-18 格式:DOCX 页数:2 大小:64.37KB
返回 下载 相关 举报
阵列信号处理对角加载算法matlab程序.docx_第1页
第1页 / 共2页
阵列信号处理对角加载算法matlab程序.docx_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《阵列信号处理对角加载算法matlab程序.docx》由会员分享,可在线阅读,更多相关《阵列信号处理对角加载算法matlab程序.docx(2页珍藏版)》请在三一文库上搜索。

1、%- 对角加载( LSMI 和 SMI)方向图 -%总结:这种算法主要给出了一种对角加载值的计算方法,对误差具有一定的稳健性,研究发现%当数据协方差矩阵中含有信号分量会影响算法的性能。clear all;clear all;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

2、)+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);for LL=1:N_signalInterferential_Array(:,LL)=Si(LL)*test(ang2,N_array,r

3、atio_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/

4、(C*R*C);% 对角加载w_LSMI=inv(Rx)*C/(C*inv(Rx)*C);% 普通的 Capon 算法x_axis=-90:0.5:90;ang=(x_axis)*pi/180;for j=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

5、),grid on;hold on;plot(x_axis,f2, -),grid on;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

6、);% 对角加载w_LSMI=inv(Rx)*C/(C*inv(Rx)*C);% 普通的 Capon 算法x_axis=-90:0.5:90;ang=(x_axis)*pi/180;for j=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),grid on;hold on;plot(x_axis,f2, -),grid on;xlabel(theta/ );ylabel(F/dB);title(b);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1