收藏 分销(赏)

单元均匀线阵自适应波束形成图.docx

上传人:xrp****65 文档编号:5965243 上传时间:2024-11-24 格式:DOCX 页数:14 大小:25.51KB 下载积分:10 金币
下载 相关 举报
单元均匀线阵自适应波束形成图.docx_第1页
第1页 / 共14页
单元均匀线阵自适应波束形成图.docx_第2页
第2页 / 共14页


点击查看更多>>
资源描述
4单元均匀线阵自适应波束形成图 clear clc format long; v=1; M=4; N=1000; f0=21*10^3; f1=11*10^3; f2=15*10^3; omiga0=2*pi*f0; omiga1=2*pi*f1; omiga2=2*pi*f2; sita0=0.8; %信号方向 sita1=0.4; %干扰方向1 sita2=2.1; %干扰方向2 for t=1:N adt(t)=sin(omiga0*t/(N*f0)); a1t(t)=sin(omiga1*t/(N*f1)); a2t(t)=sin(omiga2*t/(N*f2)); end for i=1:M ad(i,1)=exp(j*(i-1)*pi*sin(sita0)); a1(i,1)=exp(j*(i-1)*pi*sin(sita1)); a2(i,1)=exp(j*(i-1)*pi*sin(sita2)); end R=zeros(M,M); for t=1:N x=adt(t)*ad+a1t(t)*a1+a2t(t)*a2; %阵列对信号的完整响应 R=R+x*x';%信号的协方差矩阵 end R=R/N; miu=1/(ad'*inv(R)*ad); w=miu*inv(R)*ad; for sita=0:pi/100:pi for i=1:M x_(i,1)=exp(j*(i-1)*pi*sin(sita)); end y(1,v)=w'*x_; v=v+1; end y_max=max(y(:)); y_1=y/y_max; y_db=20*log(y_1); sita=0:pi/100:pi; plot(sita,y) Xlabel(‘sitaa’) Ylabel(‘天线增益db’) 4单元均匀线阵自适应波束形成 目标 clear clc format long; v=1; M=4;阵元数 N=100; f0=21*10^3; omiga0=2*pi*f0; sita0=0.6;%信号方向 for t=1:N adt(t)=sin(omiga0*t/(N*f0)); end for i=1:M ad(i,1)=exp(j*(i-1)*pi*sin(sita0)); end R=zeros(4,4); r=zeros(4,1); for t=1:N x=adt(t)*ad; R=R+x*x.'; end R=R/N; miu=1/(ad.'*inv(R)*ad); w=miu*inv(R)*ad; for sita=0:pi/100:pi/2 for i=1:M a(i,1)=exp(j*(i-1)*pi*sin(sita)); end y(1,v)=w.'*a; v=v+1; end sita=0:pi/100:pi/2; plot(sita,y) xlabel('sita') ylabel('天线增益’) 这是程序全部,有的比较简单的部分就可以省事的, 如果解释的好,再加分的,大大的。 谢谢了 我有更好的答案 提问者采纳 2010-05-04 18:08 你这里有两个程序,第二个程序与第一个实质上是一样的,区别就是信号与导向矢量的写法有点不同,这里我就不注释了。还有,我下面附了一段我自己的写的程序,里面有SIM算法。G-S正交化算法等。是基于圆阵形式的,你的算法是基于线阵的,他们程序上的区别在于导向矢量的不同。我的算法是某项目中的,保证好使。建议学习波束形成技术,注意把程序分块,例如分成,求导向矢量;最优权值;形成波束等等。 程序如下: 4单元均匀线阵自适应波束形成图 clear clc format long; v=1; M=4; N=1000;%%%%%%%快拍数 f0=21*10^3;%%%%%%%%%%%信号与干扰的频率 f1=11*10^3; f2=15*10^3; omiga0=2*pi*f0;%%%%%%%信号与干扰的角频率 omiga1=2*pi*f1; omiga2=2*pi*f2; sita0=0.8; %信号方向 sita1=0.4; %干扰方向1 sita2=2.1; %干扰方向2 for t=1:N %%%%%%%%%%%%信号 adt(t)=sin(omiga0*t/(N*f0)); a1t(t)=sin(omiga1*t/(N*f1)); a2t(t)=sin(omiga2*t/(N*f2)); end for i=1:M %%%%%%%%%%%%信号的导向矢量:线阵的形式 ad(i,1)=exp(j*(i-1)*pi*sin(sita0)); a1(i,1)=exp(j*(i-1)*pi*sin(sita1)); a2(i,1)=exp(j*(i-1)*pi*sin(sita2)); end R=zeros(M,M); for t=1:N x=adt(t)*ad+a1t(t)*a1+a2t(t)*a2; %阵列对信号的完整响应 R=R+x*x';%信号的协方差矩阵 end R=R/N;%%%%%%%%%协方差矩阵,所有快拍数的平均 miu=1/(ad'*inv(R)*ad);%%%%%%这个貌似是LMS算法的公式,具体我记不太清,这里是求最优权值,根据这个公式求出,然后加权 w=miu*inv(R)*ad; %%%%%%形成波束%%%%%%%%%%%%%%%%%%% for sita=0:pi/100:pi for i=1:M x_(i,1)=exp(j*(i-1)*pi*sin(sita)); end y(1,v)=w'*x_;%%%%%%%对信号进行加权,消除干扰 v=v+1; end y_max=max(y(:));%%%%%%%%%%%%%%%归一化 y_1=y/y_max; y_db=20*log(y_1); sita=0:pi/100:pi; plot(sita,y) Xlabel(‘sitaa’) Ylabel(‘天线增益db’) 4单元均匀线阵自适应波束形成 目标 clear clc format long; v=1; M=4;阵元数 N=100; f0=21*10^3; omiga0=2*pi*f0; sita0=0.6;%信号方向 for t=1:N adt(t)=sin(omiga0*t/(N*f0)); end for i=1:M ad(i,1)=exp(j*(i-1)*pi*sin(sita0)); end R=zeros(4,4); r=zeros(4,1); for t=1:N x=adt(t)*ad; R=R+x*x.'; end R=R/N; miu=1/(ad.'*inv(R)*ad); w=miu*inv(R)*ad; for sita=0:pi/100:pi/2 for i=1:M a(i,1)=exp(j*(i-1)*pi*sin(sita)); end y(1,v)=w.'*a; v=v+1; end sita=0:pi/100:pi/2; plot(sita,y) xlabel('sita') ylabel('天线增益’) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%我的程序%%%%%%%%%%%%%%% function jieshousignal %期望信号数:1个 %干扰信号数:4个 %信噪比已知 %干燥比已知 %方位角已知 clc; clear all; close all; %//参数设置=========================================== www1=0; www2=0; www3=0; % for rrr=1:16000 signal_num=1; %signal number noise_num=5; %interference number R0=0.6; %圆的半径 SP=2000; %Sample number N=8; %阵元数 snr=-10; %Signal-to-Noise sir1=10; %Signal-to-Interference one sir2=10; %Signal-to-Interference two sir3=10; %Signal-to-Interf sir4=10; sir5=10; %//================noise Power-to-signal Power==================== factor_noise_1=10.^(-sir1/10); factor_noise_2=10.^(-sir2/10); factor_noise_3=10.^(-sir3/10); factor_noise_4=10.^(-sir4/10); factor_noise_5=10.^(-sir5/10); factor_noise_targe=10.^(-snr/10); % //======================== =============== d1=85*pi/180;%%干扰1的方位角 d2=100*pi/180;%干扰2的方位角 d3=147*pi/180;%干扰3的方位角 d4=200*pi/180;%干扰4的方位角 d5=250*pi/180;%干扰5的方位角 d6=150*pi/180;%目标的方位角 e1=15*pi/180;%%干扰1的俯仰角 e2=25*pi/180;%干扰2的俯仰角 e3=85*pi/180;%干扰3的俯仰角 e4=50*pi/180;%干扰4的俯仰角 e5=70*pi/180;%干扰5的俯仰角 e6=85*pi/180;%目标的俯仰角 % //====================目标信号========================== t=1:1:SP; fc=2e7; Ts=1/(3e10); S0=5*cos(2*pi*fc*t*Ts);%目标信号 for kk=1:N phi_n(kk)=2*pi*(kk-1)/N; end %//====================操纵矢量========================================== A=[conj(exp(j*2*pi*R0*cos(d6-phi_n)*sin(e6)));conj(exp(j*2*pi*R0*cos(d1-phi_n)*sin(e1)));conj(exp(j*2*pi*R0*cos(d2-phi_n)*sin(e2)));conj(exp(j*2*pi*R0*cos(d3-phi_n)*sin(e3)));conj(exp(j*2*pi*R0*cos(d4-phi_n)*sin(e4)));conj(exp(j*2*pi*R0*cos(d5-phi_n)*sin(e5)))]'; A1=[conj(exp(j*2*pi*R0*cos(d1-phi_n)*sin(e1)));conj(exp(j*2*pi*R0*cos(d2-phi_n)*sin(e2)));conj(exp(j*2*pi*R0*cos(d3-phi_n)*sin(e3)));conj(exp(j*2*pi*R0*cos(d4-phi_n)*sin(e4)));conj(exp(j*2*pi*R0*cos(d5-phi_n)*sin(e5)))]'; % //==========================================================Power of the interference % // depending on the signal power and SIR Ps1=0; Ps2=0; Ps3=0; Ps4=0; Ps5=0; S1=zeros(1,SP); S2=zeros(1,SP); S3=zeros(1,SP); S4=zeros(1,SP); S5=zeros(1,SP); Ps0=S0*S0'/SP; % signal power Ps1=Ps0*factor_noise_1; Ps2=Ps0*factor_noise_2; Ps3=Ps0*factor_noise_3; Ps4=Ps0*factor_noise_4; Ps5=Ps0*factor_noise_5; % //==========================干扰信号的随机包络========================= S1=normrnd(0,sqrt(Ps1/2),1,SP)+j*normrnd(0,sqrt(Ps1/2),1,SP); S2=normrnd(0,sqrt(Ps2/2),1,SP)+j*normrnd(0,sqrt(Ps2/2),1,SP); S3=normrnd(0,sqrt(Ps3/2),1,SP)+j*normrnd(0,sqrt(Ps3/2),1,SP); S4=normrnd(0,sqrt(Ps4/2),1,SP)+j*normrnd(0,sqrt(Ps4/2),1,SP); S5=normrnd(0,sqrt(Ps5/2),1,SP)+j*normrnd(0,sqrt(Ps5/2),1,SP); %// S=[S0;S1;S2;S3;S4;S5]; SS1=[S1;S2;S3;S4;S5]; X=A*S;%信号加干扰 XX2=A1*SS1; %接收到的干扰 Pw_noise=sqrt(Ps0*factor_noise_targe/2); a1=randn(N,SP); a2=randn(N,SP); a1=a1/norm(a1); a2=a2/norm(a2); W=Pw_noise*(a1+sqrt(-1)*a2); X=X+W; % //--------------------------SMI算法---------------------------------------- Rd=X*S0'/SP; R=X*X'/(SP*1); Wc_SMI=pinv(R)*Rd./(Rd'*pinv(R)*Rd);%权向量 Wc_SMI=Wc_SMI/norm(Wc_SMI); Y_SMI=Wc_SMI'*X; %SMI算法恢复出来的信号 %//-------------------------------------GS算法------------------ m=1; for i=1:400:2000 X2(:,m)=XX2(:,i); m=m+1; end a=zeros(1,8); phi_n=zeros(1,8); phi=0:pi/180:2*pi; theta=0:pi/180:pi/2; for kk=1:8 a(kk)=1; phi_n(kk)=2*pi*(kk-1)/8; end x1=zeros(1,8); x2=zeros(1,8); x3=zeros(1,8); x4=zeros(1,8); x5=zeros(1,8); x1=X2(:,1)'; x2=X2(:,2)'; x3=X2(:,3)'; x4=X2(:,4)'; x5=X2(:,5)'; Z1=x1; Z1_inner_product=Z1.*conj(Z1); Z1_mode=sqrt(sum(Z1_inner_product)); Y1=Z1./Z1_mode; Inner_product=sum(x2.*conj(Y1)); Z2=x2-Inner_product*Y1; Z2_inner_product=sum(Z2.*conj(Z2)); Z2_mode=sqrt(Z2_inner_product); Y2=Z2./Z2_mode; Inner_product1=sum(x3.*conj(Y1)); Inner_product2=sum(x3.*conj(Y2)); Z3=x3-Inner_product1*Y1-Inner_product2*Y2; Z3_inner_product=sum(Z3.*conj(Z3)); Z3_mode=sqrt(Z3_inner_product); Y3=Z3./Z3_mode; Inner_product1_0=sum(x4.*conj(Y1)); Inner_product2_0=sum(x4.*conj(Y2)); Inner_product3_0=sum(x4.*conj(Y3)); Z4=x4-Inner_product1_0*Y1-Inner_product2_0*Y2-Inner_product3_0*Y3; Z4_inner_product=sum(Z4.*conj(Z4)); Z4_mode=sqrt(Z4_inner_product); Y4=Z4./Z4_mode; Inner_product1_1=sum(x5.*conj(Y1)); Inner_product2_1=sum(x5.*conj(Y2)); Inner_product3_1=sum(x5.*conj(Y3)); Inner_product4_1=sum(x5.*conj(Y4)); Z5=x5-Inner_product1_1*Y1-Inner_product2_1*Y2-Inner_product3_1*Y3-Inner_product4_1*Y4; Z5_inner_product=sum(Z5.*conj(Z5)); Z5_mode=sqrt(Z5_inner_product); Y5=Z5./Z5_mode; %Y1 %Y2 %Y3 %Y4 %Y5 w0=zeros(1,8); w=zeros(1,8); for mm=1:8; w0(mm)=exp(-j*2*pi*R0*cos(d6-phi_n(mm))*sin(e6)); end dd1=sum(w0.*conj(Y1))*Y1; dd2=sum(w0.*conj(Y2))*Y2; dd3=sum(w0.*conj(Y3))*Y3; dd4=sum(w0.*conj(Y4))*Y4; dd5=sum(w0.*conj(Y5))*Y5; w=w0-dd1-dd2-dd3-dd4-dd5; Wc_GS=w; Wc_GS=Wc_GS/(norm(Wc_GS)); Y_GS=Wc_GS*X; %GS算法恢复出来的图像 %//----------------------------------MMSE算法----------------------- Rd=X*S0'/SP; R=X*X'/(SP*1); Wc_MMSE=pinv(R)*Rd; Wc_MMSE=Wc_MMSE/norm(Wc_MMSE); Y_MMSE=Wc_MMSE'*X; %MMSE算法恢复出来的信号 S0=S0/norm(S0); Y_GS=Y_GS/norm(Y_GS); Y_SMI=Y_SMI/norm(Y_SMI); Y_MMSE=Y_MMSE/norm(Y_MMSE); % figure(1) % plot(real(S0)); % title('原始信号'); % xlabel('采样快拍数'); % ylabel('信号幅度'); % figure(2) % plot(real(Y_SMI)); % title('运用SMI算法处理出的信号'); % xlabel('采样快拍数'); % ylabel('信号幅度'); % figure(3) % plot(real(Y_GS)); % title('运用G-S算法处理出的信号'); % xlabel('采样快拍数'); % ylabel('信号幅度'); % figure(4) % plot(real(Y_MMSE)); % for i=1:SP % ss(i)=abs(S0(i)-Y_SMI(i))^2; % end % q_1=mean(ss); % for i=1:SP % ss1(i)=abs(S0(i)-Y_GS(i))^2; % end % q_2=mean(ss1); % for i=1:SP % ss2(i)=abs(S0(i)-Y_MMSE(i))^2; % end % q_3=mean(ss2); % % www1=www1+q_1; % www2=www2+q_2; % www3=www3+q_3; % end % www1/16000 % www2/16000 % www3/16000 phi=0:pi/180:2*pi; theta=0:pi/180:pi/2; % % % //------------------------ 形成波束----------------------------------------- F_mmse=zeros(91,361); F_smi=zeros(91,361); F_gs=zeros(91,361); for mm=1:91 for nn=1:361 p1=sin(theta(mm)); p2=cos(phi(nn)); p3=sin(phi(nn)); q1=sin(e6); q2=cos(d6); q3=sin(d6); for hh=1:8 w1=cos(phi_n(hh)); w2=sin(phi_n(hh)); zz1=q2*w1+q3*w2; zz2=p2*w1+p3*w2; zz=zz2*p1-zz1*q1; F_mmse(mm,nn)= F_mmse(mm,nn)+conj(Wc_MMSE(hh))*(exp(j*2*pi*R0*(zz2*p1))); F_smi(mm,nn)=F_smi(mm,nn)+conj(Wc_SMI(hh))*(exp(j*2*pi*R0*(zz2*p1))); F_gs(mm,nn)=F_gs(mm,nn)+conj((Wc_GS(hh))')*(exp(j*2*pi*R0*(zz2*p1))); end end end F_MMSE=abs(F_mmse); F_SMI=abs(F_smi); F_GS=abs(F_gs); figure(5) mesh(20*log10(F_MMSE)) figure(6) mesh(20*log10(F_SMI)) title('SMI算法波束形成图'); xlabel('方位角'); ylabel('俯仰角'); zlabel('幅度/dB'); figure(7) mesh(20*log10(F_GS)) title('G-S算法波束形成图'); xlabel('方位角'); ylabel('俯仰角'); zlabel('幅度/dB');
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服