波束形成Matlab程序

合集下载

自适应波束形成及Matlab程序代码注解

自适应波束形成及Matlab程序代码注解

1.均匀线阵方向图(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=32;%阵元数为8d_lamda=1/2;%阵元间距d与波长lamda的关系theta=linspace(-pi/2,pi/2,200);theta0=0;%来波方向w=exp(imag*2*pi*d_lamda*sin(theta0)*[0:element_num-1]');for j=1:length(theta)a=exp(imag*2*pi*d_lamda*sin(theta(j))*[0:element_num-1]');p(j)=w'*a;endpatternmag=abs(p);patternmagnorm=patternmag/max(max(patternmag));patterndB=20*log10(patternmag);patterndBnorm=20*log10(patternmagnorm);figure(1)plot(theta*180/pi,patternmag);grid on;xlabel('theta/radian')ylabel('amplitude/dB')title([num2str(element_num) '阵元均匀线阵方向图','来波方向为' num2str(theta0*180/pi) '度']); hold on;figure(2)plot(theta,patterndBnorm,'r');grid on;xlabel('theta/radian')ylabel('amplitude/dB')title([num2str(element_num) '阵元均匀线阵方向图','来波方向为' num2str(theta0*180/pi) '度']); axis([-1.5 1.5 -50 0]);(2)仿真结果A.来波方向为0°不归一化归一化B.来波方向为45°不归一化归一化C.随着阵元数的增加,波束宽度变窄,分辨力提高,仿真图如下:非归一化归一化不归一化归一化2.波束宽度与波达方向及阵元数的关系(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num1=16;element_num2=128;element_num3=1024;lambda=0.1;d=0.5*lambda;theta=0:0.5:90;for j=1:length(theta)fai(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lambda/(element_num1*d)); psi(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lambda/(element_num2*d)); beta(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lambda/(element_num3*d)); endfigureplot(theta,fai,'r',theta,psi,'b',theta,beta,'g');grid on;xlabel('theta');ylabel('width in radians');title('波束宽度与达波方向及阵元数目的关系');legend('N=16','N=128','N=1024');(2)仿真结果结果3. 当阵元间距/2d λ>时,会出现栅瓣,导致空间模糊(1)仿真结果非归一化归一化4. 类似于时域滤波,天线方向图是最优权的傅立叶变换(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=32;source_num=1;d_lambda=0.5;theta=linspace(-pi/2,pi/2,200);theta0=0;w=exp(imag*2*pi*d_lambda*sin(theta0)*[0:element_num-1]');for j=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(j))*[0:element_num-1]');p(j)=w'*a;endpatternmag=abs(p);patternmagnorm=patternmag/max(max(patternmag));patterndB=20*log10(patternmag); patterndBnorm=20*log10(patternmagnorm); figure(1)subplot(1,2,1);plot(theta,patterndBnorm);grid on;xlabel('theta/radian');ylabel('amplitude/dB');axis([-2.0 2.0 -50 0]);subplot(1,2,2);pfft=fftshift(fft(w,256));pfftmag=abs(pfft);pfftmagnorm=pfftmag/max(max(pfftmag)); pfftdB=20*log10(pfftmagnorm); pfftdBnorm=20*log10(pfftmagnorm);plot(linspace(-pi/2,pi/2,256),pfftdBnorm); grid on;xlabel('theta/radian');ylabel('FFT_amplitude/dB');axis([-2.0 2.0 -50 0]);(2)仿真结果5.最大信噪比准则方向图和功率谱(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=8;%阵元数为8d_lambda=0.5;%间距为半波长theta=-90:0.5:90;%扫描围theta0=0;%来波方位theta1=20;%干扰方向L=512;%采样点数for i=1:Lamp0=10*randn(1);amp1=200*randn(1);ampn=1;s(:,i)=amp0*exp(imag*2*pi*0.5*sin(theta0*pi/180)*[0:element_num-1]');j(:,i)=amp1*exp(imag*2*pi*0.5*sin(theta 1*pi/180)*[0:element_num-1]');n(:,i)=ampn*exp(randn(element_num,1)+imag*randn(element_num,1));endRs=1/L*s*s';%信号自相关矩阵Rnj=1/L*(j*j'+n*n'); %干扰+噪声的自相关矩阵[V,D]=eig(Rs,Rnj); %(Rs,Rnj)的广义特征值和特征向量[D,I]=sort(diag(D)); %特征向量排序Wopt=V(:,I(8));%最优权矢量for j=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(j)*pi/180)*[0:element_num-1]');f(j)=Wopt'*a;p(j)=a'*Rs*a+a'*Rnj*a;endF=20*log10(abs(f)/max(max(abs(f))));P=20*log10(abs(p)/max(max(abs(p))));subplot(1,2,1)plot(theta,F);grid on;hold on;plot(theta0,-80:0,'.'); plot(theta1,-80:0,'.'); xlabel('theta/0');ylabel('F in dB');title('max-SNR 方向图'); axis([-90 90 -80 0]); hold on;subplot(1,2,2);plot(theta,P,'r');grid on;xlabel('theta/0');ylabel('功率in dB'); title('max-SNR 功率谱'); grid on;axis([-90 90 -80 0]); (2)仿真结果6.ASC旁瓣相消----MSE准则(1) matlab 程序clc;close all;clear all;imag=sqrt(-1);M=32;%辅助天线数目d_lambda=0.5;%阵元间距theta0=-30;%来波方向theta1=60;%干扰方向L=512;%采样单元数s=zeros(1,512); %预划分一个区域for ii=1:Lamp0=1*randn(1);%信号的幅度随机产生,保证信号之间是不相关的amp1=200*randn(1);ampn=1;jam(:,ii)=amp1*exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:M-1]')+ampn*(randn(M,1)+imag* randn(M,1)); %干扰+噪声s(ii)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180))+amp1*exp(imag*2*pi*d_lambda*sin(th eta1*pi/180))+ampn*(randn(1,1)+imag*randn(1,1));%接收信号(信号+干扰+噪声)s0(ii)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180));endRx=1/L*jam*jam';r_xd=1/L*jam*s';Wopt=pinv(Rx)*r_xd;delta=s0-(s-Wopt'*jam);delta1=abs(mean(delta.^2)-(mean(delta)).^2);theta=linspace(-pi/2,pi/2,200);for jj=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(jj))*[0:M-1]');f(jj)=Wopt'*a;endF=20*log10(abs(f)/max(max(abs(f))));figure(1)plot(theta*180/pi,F);grid on;hold on;plot(theta0,-50:0,'.');plot(theta1,-50:0,'.');xlabel('theta/°');ylabel('F/dB');title('MSE准则下的方向图');axis([-90 90 -50 0]);(2)仿真结果7.线性约束最小方差(LCMV)准则(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=8;%阵元数d_lambda=0.5;%阵元间距与波长的关系theta=-90:0.5:90; %搜索围theta0=0; %三个信号源的来波方向theta1=30;theta2=60;L=512;%采样单元数for i=1:Lamp0=10*randn(1);amp1=100*randn(1);amp2=10*randn(1);ampn=10;x(:,i)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]')+amp1*exp(imag*2*pi*d_lambda* sin(theta1*pi/180)*[0:element_num-1]')+amp2*exp(imag*2*pi*d_lambda*sin(theta2*pi/180)*[0:element_num-1]' )+ampn*(randn(element_num,1)+imag*randn(element_num,1));endRx=1/L*x*x';steer1=exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]');steer2=exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:element_num-1]');steer3=exp(imag*2*pi*d_lambda*sin(theta2*pi/180)*[0:element_num-1]');C=[steer1 steer2 steer3];F=[1 0 1]';%把三个方向都作为来波方向w=inv(Rx)*C*(inv(C'*inv(Rx)*C))*F;for j=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(j)*pi/180)*[0:element_num-1]');f(j)=w'*a;p(j)=1/(a'*inv(Rx)*a);endF=20*log10(abs(f)/(max(max(abs(f)))));subplot(1,2,1)plot(theta,F);grid on;hold on;plot(theta0,-20:0,'.');plot(theta1,-20:0,'.');plot(theta2,-20:0,'.');xlabel('theta/°');ylabel('F/dB');title('Capon beamforming 方向图');axis([-90 90 -20 0]);P=20*log10(abs(p)/(max(max(abs(p)))));subplot(1,2,2)plot(theta,P);grid on;hold on;plot(theta0,-20:0,'.');plot(theta1,-20:0,'.');plot(theta2,-20:0,'.');xlabel('theta/°');ylabel('P/dB');title('Capon beamforming 功率谱');axis([-90 90 -20 0]);(2)仿真结果8.Capon beamforming(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=8;%阵元数d_lambda=0.5;%阵元间距与波长的关系theta=-90:0.5:90; %搜索围theta0=0; %三个信号源的来波方向theta1=20;theta2=60;L=1000;%采样单元数for i=1:Lamp0=10*randn(1);amp1=200*randn(1);amp2=200*randn(1);ampn=3;x(:,i)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]')+amp1*exp(imag*2*pi*d_lambda* sin(theta1*pi/180)*[0:element_num-1]')+amp2*exp(imag*2*pi*d_lambda*sin(theta2*pi/180)*[0:element_num-1]' )+ampn*(randn(element_num,1)+imag*randn(element_num,1));endRx=1/L*x*x';R=inv(Rx);steer=exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]'); w=R*steer/(steer'*R*steer);%最优权矢量for j=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(j)*pi/180)*[0:element_num-1]');f(j)=w'*a;p(j)=1/(a'*R*a);endF=20*log10(abs(f)/(max(max(abs(f)))));subplot(1,2,1)plot(theta,F);grid on;hold on;plot(theta0,-50:0,'.');plot(theta1,-50:0,'.');plot(theta2,-50:0,'.');xlabel('theta/°');ylabel('F/dB');title('Capon beamforming 方向图');axis([-90 90 -50 0]);P=20*log10(abs(p)/(max(max(abs(p)))));subplot(1,2,2)plot(theta,P);grid on;hold on;xlabel('theta/°');ylabel('P/dB');title('Capon beamforming 功率谱');axis([-90 90 -90 0]);(2)仿真结果9.不同方法估计协方差矩阵的Capon波束形成(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=8;%阵元数为8d_lambda=0.5;%间距为半波长theta=-90:0.5:90;%扫描围theta0=0;%来波方向theta1=50;%干扰方向L=1024;%采样单元数for i=1:Lamp0=10*randn(1);amp1=50*randn(1);ampn=0.5;s(:,i)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]'); j(:,i)=amp1*exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:element_num-1]'); n(:,i)=ampn*exp(imag*2*pi*randn(1)*[0:element_num-1]');endRx=1/L*(s+j+n)*(s+j+n)';%接收信号自相关矩阵Rnj=1/L*(j+n)*(j+n)';%%干拢+噪声的自相关矩阵e=exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]'); Wopt_Rx=inv(Rx)*e/(e'*inv(Rx)*e);%采用接收信号的权矢量Wopt_Rnj=inv(Rnj)*e/(e'*inv(Rnj)*e);%采用干拢+噪声信号的权矢量for j=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(j)*pi/180)*[0:element_num-1]');f1(j)=Wopt_Rx'*a;f2(j)=Wopt_Rnj'*a;endF1=20*log10(abs(f1)/max(max(abs(f1))));F2=20*log10(abs(f2/max(max(abs(f2)))));figure;plot(theta,F1,theta,F2,'r');grid on;hold on;plot(theta0,-50:0,'.');plot(theta1,-50:0,'.');xlabel('theta/°');ylabel('F(1,2)/dB');title('不同方法估计协方差矩阵的Capon波束形成');axis([-90 90 -60 0]);(2)仿真结果10.多点约束的Capon波束形成和方向图(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=8;d_lambda=0.5;theta=-90:0.3:90;theta0=0;theta1=20;theta2=50;L=512;Rx=zeros(element_num,element_num);%产生协方差矩阵for i=1:Lamp0=10*randn(1);amp1=10*randn(1);amp2=50*randn(1);ampn=0.5*randn(1);%噪声的幅度随机产生,保证噪声与信号之间是不相关的j(:,i)=amp1*exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:element_num-1]')+amp2*exp(imag*2*pi*d_lam bda*sin(theta2*pi/180)*[0:element_num-1]')+ampn*exp(imag*2*pi*randn(1)*[0:element_num-1]');x(:,i)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]')+j(:,i);%表示接收信号endRx=1/L*x*x';R=inv(Rx);w=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]')+amp1*exp(imag*2*pi*d_lambda*sin (theta1*pi/180)*[0:element_num-1]')+amp2*exp(imag*2*pi*d_lambda*sin(theta2*pi/180)*[0:element_num-1]'); for j=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(j)*pi/180)*[0:element_num-1]');f(j)=w'*a;p(j)=1/(a'*R*a);endF=20*log10(abs(f)/max(max(abs(f))));P=20*log10(abs(p)/max(max(abs(p))));figure;subplot(1,2,1);plot(theta,F);grid on;hold on;plot(theta0,-50:0,'.');plot(theta1,-50:0,'.');plot(theta2,-50:0,'.');xlabel('theta/°');ylabel('F/dB');title('Capon beamforming方向图');axis([-90 90 -50 0]);subplot(1,2,2);plot(theta,P);hold on;grid on;plot(theta0,-90:0,'.');plot(theta1,-90:0,'.');plot(theta2,-90:0,'.');xlabel('theta/°');ylabel('P/dB');title('Capon beamforming功率谱');(2)仿真结果11.自适应波束形成方向图(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=8;c=3e8;f=5e8;lambda=c/f;d_lambda=0.5;theta=-90:0.5:90;theta0=0;theta1=45;theta2=60;L=2048;for i=1:Lamp0=10*randn(1);amp1=100*randn(1);amp2=100*randn(1);ampn=10;x(:,i)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]')+amp1*exp(imag*2*pi*d_lambda* sin(theta1*pi/180)*[0:element_num-1]')+amp2*exp(imag*2*pi*d_lambda*sin(theta2*pi/180)*[0:element_num-1]' )+ampn*(randn(element_num,1)+imag*randn(element_num,1));endRx=1/L*x*x';steer1=exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]');steer2=exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:element_num-1]');steer3=exp(imag*2*pi*d_lambda*sin(theta2*pi/180)*[0:element_num-1]');C=[steer1 steer2 steer3];F=[1 0 0]';w=inv(Rx)*C*(inv(C'*inv(Rx)*C))*F;for j=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(j)*pi/180)*[0:element_num-1]');f(j)=w'*a;p(j)=1/(a'*inv(Rx)*a);endF=20*log10(abs(f)/(max(max(abs(f)))));subplot(1,2,1)plot(theta,F);grid on;hold on;plot(theta0,-50:0,'.');plot(theta1,-50:0,'.');plot(theta2,-50:0,'.');xlabel('theta/°');ylabel('F/dB');title('自适应波束形成方向图');axis([-90 90 -50 0]);P=20*log10(abs(p)/(max(max(abs(p))))); subplot(1,2,2)plot(theta,P);grid on;hold on;xlabel('theta/°');ylabel('P/dB');title('功率谱');axis([-90 90 -50 0]);(2)仿真结果(3)GUI界面。

(完整word版)自适应波束形成与Matlab程序代码注解

(完整word版)自适应波束形成与Matlab程序代码注解

1.均匀线阵方向图(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=32;%阵元数为8d_lamda=1/2;%阵元间距d与波长lamda的关系theta=linspace(-pi/2,pi/2,200);theta0=0;%来波方向w=exp(imag*2*pi*d_lamda*sin(theta0)*[0:element_num-1]');for j=1:length(theta)a=exp(imag*2*pi*d_lamda*sin(theta(j))*[0:element_num-1]');p(j)=w'*a;endpatternmag=abs(p);patternmagnorm=patternmag/max(max(patternmag));patterndB=20*log10(patternmag);patterndBnorm=20*log10(patternmagnorm);figure(1)plot(theta*180/pi,patternmag);grid on;xlabel('theta/radian')ylabel('amplitude/dB')title([num2str(element_num) '阵元均匀线阵方向图','来波方向为' num2str(theta0*180/pi) '度']);hold on;figure(2)plot(theta,patterndBnorm,'r');grid on;xlabel('theta/radian')ylabel('amplitude/dB')title([num2str(element_num) '阵元均匀线阵方向图','来波方向为' num2str(theta0*180/pi) '度']);axis([-1.5 1.5 -50 0]);(2)仿真结果A.来波方向为0°不归一化归一化B.来波方向为45°不归一化归一化C.随着阵元数的增加,波束宽度变窄,分辨力提高,仿真图如下:非归一化归一化不归一化归一化2.波束宽度与波达方向及阵元数的关系(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num1=16;element_num2=128;element_num3=1024;lambda=0.1;d=0.5*lambda;theta=0:0.5:90;for j=1:length(theta)fai(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lambda/(element_num1*d)); psi(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lambda/(element_num2*d)); beta(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lambda/(element_num3*d)); endfigureplot(theta,fai,'r',theta,psi,'b',theta,beta,'g');grid on;xlabel('theta');ylabel('width in radians');title('波束宽度与达波方向及阵元数目的关系');legend('N=16','N=128','N=1024');(2)仿真结果结果3. 当阵元间距/2d λ>时,会出现栅瓣,导致空间模糊(1)仿真结果非归一化归一化4. 类似于时域滤波,天线方向图是最优权的傅立叶变换(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=32;source_num=1;d_lambda=0.5;theta=linspace(-pi/2,pi/2,200);theta0=0;w=exp(imag*2*pi*d_lambda*sin(theta0)*[0:element_num-1]');for j=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(j))*[0:element_num-1]'); p(j)=w'*a;endpatternmag=abs(p);patternmagnorm=patternmag/max(max(patternmag));patterndB=20*log10(patternmag); patterndBnorm=20*log10(patternmagnorm); figure(1)subplot(1,2,1);plot(theta,patterndBnorm);grid on;xlabel('theta/radian');ylabel('amplitude/dB');axis([-2.0 2.0 -50 0]);subplot(1,2,2);pfft=fftshift(fft(w,256));pfftmag=abs(pfft);pfftmagnorm=pfftmag/max(max(pfftmag)); pfftdB=20*log10(pfftmagnorm);pfftdBnorm=20*log10(pfftmagnorm);plot(linspace(-pi/2,pi/2,256),pfftdBnorm); grid on;xlabel('theta/radian');ylabel('FFT_amplitude/dB');axis([-2.0 2.0 -50 0]);(2)仿真结果5.最大信噪比准则方向图和功率谱(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=8;%阵元数为8d_lambda=0.5;%间距为半波长theta=-90:0.5:90;%扫描范围theta0=0;%来波方位theta1=20;%干扰方向L=512;%采样点数for i=1:Lamp0=10*randn(1);amp1=200*randn(1);ampn=1;s(:,i)=amp0*exp(imag*2*pi*0.5*sin(theta0*pi/180)*[0:element_num-1]');j(:,i)=amp1*exp(imag*2*pi*0.5*sin(theta1*pi/180)*[0:element_num-1]');n(:,i)=ampn*exp(randn(element_num,1)+imag*randn(element_num,1)); endRs=1/L*s*s';%信号自相关矩阵Rnj=1/L*(j*j'+n*n'); %干扰+噪声的自相关矩阵[V,D]=eig(Rs,Rnj); %(Rs,Rnj)的广义特征值和特征向量[D,I]=sort(diag(D)); %特征向量排序Wopt=V(:,I(8));%最优权矢量for j=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(j)*pi/180)*[0:element_num-1]');f(j)=Wopt'*a;p(j)=a'*Rs*a+a'*Rnj*a;endF=20*log10(abs(f)/max(max(abs(f))));P=20*log10(abs(p)/max(max(abs(p))));subplot(1,2,1)plot(theta,F);grid on;hold on;plot(theta0,-80:0,'.'); plot(theta1,-80:0,'.'); xlabel('theta/0'); ylabel('F in dB');title('max-SNR 方向图'); axis([-90 90 -80 0]); hold on;subplot(1,2,2);plot(theta,P,'r');grid on;xlabel('theta/0'); ylabel('功率 in dB'); title('max-SNR 功率谱'); grid on;axis([-90 90 -80 0]); (2)仿真结果6.ASC旁瓣相消----MSE准则(1) matlab 程序clc;close all;clear all;imag=sqrt(-1);M=32;%辅助天线数目d_lambda=0.5;%阵元间距theta0=-30;%来波方向theta1=60;%干扰方向L=512;%采样单元数s=zeros(1,512); %预划分一个区域for ii=1:Lamp0=1*randn(1);%信号的幅度随机产生,保证信号之间是不相关的amp1=200*randn(1);ampn=1;jam(:,ii)=amp1*exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:M-1]' )+ampn*(randn(M,1)+imag*randn(M,1)); %干扰+噪声s(ii)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180))+amp1*exp(im ag*2*pi*d_lambda*sin(theta1*pi/180))+ampn*(randn(1,1)+imag*randn( 1,1));%接收信号(信号+干扰+噪声)s0(ii)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180));endRx=1/L*jam*jam';r_xd=1/L*jam*s';Wopt=pinv(Rx)*r_xd;delta=s0-(s-Wopt'*jam);delta1=abs(mean(delta.^2)-(mean(delta)).^2);theta=linspace(-pi/2,pi/2,200);for jj=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(jj))*[0:M-1]'); f(jj)=Wopt'*a;endF=20*log10(abs(f)/max(max(abs(f))));figure(1)plot(theta*180/pi,F);grid on;hold on;plot(theta0,-50:0,'.');plot(theta1,-50:0,'.');xlabel('theta/°');ylabel('F/dB');title('MSE准则下的方向图');axis([-90 90 -50 0]);(2)仿真结果7.线性约束最小方差(LCMV)准则(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=8;%阵元数d_lambda=0.5;%阵元间距与波长的关系theta=-90:0.5:90; %搜索范围theta0=0; %三个信号源的来波方向theta1=30;theta2=60;L=512;%采样单元数for i=1:Lamp0=10*randn(1);amp1=100*randn(1);amp2=10*randn(1);ampn=10;x(:,i)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]')+am p1*exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:element_num-1]')+amp2*exp(im ag*2*pi*d_lambda*sin(theta2*pi/180)*[0:element_num-1]')+ampn*(randn(element_ num,1)+imag*randn(element_num,1));endRx=1/L*x*x';steer1=exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]');steer2=exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:element_num-1]');steer3=exp(imag*2*pi*d_lambda*sin(theta2*pi/180)*[0:element_num-1]');C=[steer1 steer2 steer3];F=[1 0 1]';%把三个方向都作为来波方向w=inv(Rx)*C*(inv(C'*inv(Rx)*C))*F;for j=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(j)*pi/180)*[0:element_num-1]');f(j)=w'*a;p(j)=1/(a'*inv(Rx)*a);endF=20*log10(abs(f)/(max(max(abs(f)))));subplot(1,2,1)plot(theta,F);grid on;hold on;plot(theta0,-20:0,'.');plot(theta1,-20:0,'.');plot(theta2,-20:0,'.');xlabel('theta/°');ylabel('F/dB');title('Capon beamforming 方向图');axis([-90 90 -20 0]);P=20*log10(abs(p)/(max(max(abs(p)))));subplot(1,2,2)plot(theta,P);grid on;hold on;plot(theta0,-20:0,'.');plot(theta1,-20:0,'.');plot(theta2,-20:0,'.');xlabel('theta/°');ylabel('P/dB');title('Capon beamforming 功率谱');axis([-90 90 -20 0]);(2)仿真结果8.Capon beamforming(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=8;%阵元数d_lambda=0.5;%阵元间距与波长的关系theta=-90:0.5:90; %搜索范围theta0=0; %三个信号源的来波方向theta1=20;theta2=60;L=1000;%采样单元数for i=1:Lamp0=10*randn(1);amp1=200*randn(1);amp2=200*randn(1);ampn=3;x(:,i)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]')+am p1*exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:element_num-1]')+amp2*exp(im ag*2*pi*d_lambda*sin(theta2*pi/180)*[0:element_num-1]')+ampn*(randn(element_ num,1)+imag*randn(element_num,1));endRx=1/L*x*x';R=inv(Rx);steer=exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]');w=R*steer/(steer'*R*steer);%最优权矢量for j=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(j)*pi/180)*[0:element_num-1]');f(j)=w'*a;p(j)=1/(a'*R*a);endF=20*log10(abs(f)/(max(max(abs(f)))));subplot(1,2,1)plot(theta,F);grid on;hold on;plot(theta0,-50:0,'.');plot(theta1,-50:0,'.');plot(theta2,-50:0,'.');xlabel('theta/°');ylabel('F/dB');title('Capon beamforming 方向图');axis([-90 90 -50 0]);P=20*log10(abs(p)/(max(max(abs(p)))));subplot(1,2,2)plot(theta,P);grid on;hold on;xlabel('theta/°');ylabel('P/dB');title('Capon beamforming 功率谱');axis([-90 90 -90 0]);(2)仿真结果9.不同方法估计协方差矩阵的Capon波束形成(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=8;%阵元数为8d_lambda=0.5;%间距为半波长theta=-90:0.5:90;%扫描范围theta0=0;%来波方向theta1=50;%干扰方向L=1024;%采样单元数for i=1:Lamp0=10*randn(1);amp1=50*randn(1);ampn=0.5;s(:,i)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]');j(:,i)=amp1*exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:element_num-1]'); n(:,i)=ampn*exp(imag*2*pi*randn(1)*[0:element_num-1]');endRx=1/L*(s+j+n)*(s+j+n)';%接收信号自相关矩阵Rnj=1/L*(j+n)*(j+n)';%%干拢+噪声的自相关矩阵e=exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]'); Wopt_Rx=inv(Rx)*e/(e'*inv(Rx)*e);%采用接收信号的权矢量Wopt_Rnj=inv(Rnj)*e/(e'*inv(Rnj)*e);%采用干拢+噪声信号的权矢量for j=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(j)*pi/180)*[0:element_num-1]');f1(j)=Wopt_Rx'*a;f2(j)=Wopt_Rnj'*a;endF1=20*log10(abs(f1)/max(max(abs(f1))));F2=20*log10(abs(f2/max(max(abs(f2)))));figure;plot(theta,F1,theta,F2,'r');grid on;hold on;plot(theta0,-50:0,'.');plot(theta1,-50:0,'.');xlabel('theta/°');ylabel('F(1,2)/dB');title('不同方法估计协方差矩阵的Capon波束形成');axis([-90 90 -60 0]);(2)仿真结果10.多点约束的Capon波束形成和方向图(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=8;d_lambda=0.5;theta=-90:0.3:90;theta0=0;theta1=20;theta2=50;L=512;Rx=zeros(element_num,element_num);%产生协方差矩阵for i=1:Lamp0=10*randn(1);amp1=10*randn(1);amp2=50*randn(1);ampn=0.5*randn(1);%噪声的幅度随机产生,保证噪声与信号之间是不相关的j(:,i)=amp1*exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:element_num-1]') +amp2*exp(imag*2*pi*d_lambda*sin(theta2*pi/180)*[0:element_num-1]')+ampn*exp (imag*2*pi*randn(1)*[0:element_num-1]');x(:,i)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]') +j(:,i);%表示接收信号endRx=1/L*x*x';R=inv(Rx);w=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]')+amp1*ex p(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:element_num-1]')+amp2*exp(imag*2* pi*d_lambda*sin(theta2*pi/180)*[0:element_num-1]');for j=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(j)*pi/180)*[0:element_num-1]');f(j)=w'*a;p(j)=1/(a'*R*a);endF=20*log10(abs(f)/max(max(abs(f))));P=20*log10(abs(p)/max(max(abs(p))));figure;subplot(1,2,1);plot(theta,F);grid on;hold on;plot(theta0,-50:0,'.');plot(theta1,-50:0,'.');plot(theta2,-50:0,'.');xlabel('theta/°');ylabel('F/dB');title('Capon beamforming方向图'); axis([-90 90 -50 0]);subplot(1,2,2);plot(theta,P);hold on;grid on;plot(theta0,-90:0,'.');plot(theta1,-90:0,'.');plot(theta2,-90:0,'.');xlabel('theta/°');ylabel('P/dB');title('Capon beamforming功率谱');(2)仿真结果11.自适应波束形成方向图(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=8;c=3e8;f=5e8;lambda=c/f;d_lambda=0.5;theta=-90:0.5:90;theta0=0;theta1=45;theta2=60;L=2048;for i=1:Lamp0=10*randn(1);amp1=100*randn(1);amp2=100*randn(1);ampn=10;x(:,i)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]')+am p1*exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:element_num-1]')+amp2*exp(im ag*2*pi*d_lambda*sin(theta2*pi/180)*[0:element_num-1]')+ampn*(randn(element_ num,1)+imag*randn(element_num,1));endRx=1/L*x*x';steer1=exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]');steer2=exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:element_num-1]');steer3=exp(imag*2*pi*d_lambda*sin(theta2*pi/180)*[0:element_num-1]');C=[steer1 steer2 steer3];F=[1 0 0]';w=inv(Rx)*C*(inv(C'*inv(Rx)*C))*F;for j=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(j)*pi/180)*[0:element_num-1]');f(j)=w'*a;p(j)=1/(a'*inv(Rx)*a);endF=20*log10(abs(f)/(max(max(abs(f)))));subplot(1,2,1)plot(theta,F);grid on;hold on;plot(theta0,-50:0,'.');plot(theta1,-50:0,'.');plot(theta2,-50:0,'.');xlabel('theta/°');ylabel('F/dB');title('自适应波束形成方向图');axis([-90 90 -50 0]);P=20*log10(abs(p)/(max(max(abs(p))))); subplot(1,2,2)plot(theta,P);grid on;hold on;xlabel('theta/°');ylabel('P/dB');title('功率谱');axis([-90 90 -50 0]);(2)仿真结果(3)GUI界面。

(完整word版)自适应波束形成与Matlab程序代码注解

(完整word版)自适应波束形成与Matlab程序代码注解

(完整word版)⾃适应波束形成与Matlab程序代码注解1.均匀线阵⽅向图(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=32;%阵元数为8d_lamda=1/2;%阵元间距d与波长lamda的关系theta=linspace(-pi/2,pi/2,200);theta0=0;%来波⽅向w=exp(imag*2*pi*d_lamda*sin(theta0)*[0:element_num-1]');for j=1:length(theta)a=exp(imag*2*pi*d_lamda*sin(theta(j))*[0:element_num-1]');p(j)=w'*a;endpatternmag=abs(p);patternmagnorm=patternmag/max(max(patternmag));patterndB=20*log10(patternmag);patterndBnorm=20*log10(patternmagnorm);figure(1)plot(theta*180/pi,patternmag);grid on;xlabel('theta/radian')ylabel('amplitude/dB')title([num2str(element_num) '阵元均匀线阵⽅向图','来波⽅向为' num2str(theta0*180/pi) '度']);hold on;figure(2)plot(theta,patterndBnorm,'r');grid on;xlabel('theta/radian')ylabel('amplitude/dB')title([num2str(element_num) '阵元均匀线阵⽅向图','来波⽅向为' num2str(theta0*180/pi) '度']);axis([-1.5 1.5 -50 0]);(2)仿真结果A.来波⽅向为0°不归⼀化归⼀化B.来波⽅向为45°不归⼀化归⼀化C.随着阵元数的增加,波束宽度变窄,分辨⼒提⾼,仿真图如下:⾮归⼀化归⼀化不归⼀化归⼀化2.波束宽度与波达⽅向及阵元数的关系(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num1=16;element_num2=128;element_num3=1024;lambda=0.1;d=0.5*lambda;theta=0:0.5:90;for j=1:length(theta)fai(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lambda/(element_num1*d)); psi(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lambda/(element_num2*d)); beta(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lambda/(element_num3*d)); endfigureplot(theta,fai,'r',theta,psi,'b',theta,beta,'g');grid on;xlabel('theta');ylabel('width in radians');title('波束宽度与达波⽅向及阵元数⽬的关系');legend('N=16','N=128','N=1024');(2)仿真结果结果3. 当阵元间距/2d λ>时,会出现栅瓣,导致空间模糊(1)仿真结果⾮归⼀化归⼀化4. 类似于时域滤波,天线⽅向图是最优权的傅⽴叶变换(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=32;source_num=1;d_lambda=0.5;theta=linspace(-pi/2,pi/2,200);theta0=0;w=exp(imag*2*pi*d_lambda*sin(theta0)*[0:element_num-1]');for j=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(j))*[0:element_num-1]'); p(j)=w'*a;endpatternmag=abs(p);patternmagnorm=patternmag/max(max(patternmag));patterndB=20*log10(patternmag); patterndBnorm=20*log10(patternmagnorm); figure(1) subplot(1,2,1);plot(theta,patterndBnorm);grid on;xlabel('theta/radian');ylabel('amplitude/dB');axis([-2.0 2.0 -50 0]);subplot(1,2,2);pfft=fftshift(fft(w,256));pfftmag=abs(pfft);pfftmagnorm=pfftmag/max(max(pfftmag)); pfftdB=20*log10(pfftmagnorm); pfftdBnorm=20*log10(pfftmagnorm);plot(linspace(-pi/2,pi/2,256),pfftdBnorm); grid on;xlabel('theta/radian');ylabel('FFT_amplitude/dB');axis([-2.0 2.0 -50 0]);(2)仿真结果5.最⼤信噪⽐准则⽅向图和功率谱(1)matlab 程序clc;clear all;imag=sqrt(-1);element_num=8;%阵元数为8d_lambda=0.5;%间距为半波长theta=-90:0.5:90;%扫描范围theta0=0;%来波⽅位theta1=20;%⼲扰⽅向L=512;%采样点数for i=1:Lamp0=10*randn(1);amp1=200*randn(1);ampn=1;s(:,i)=amp0*exp(imag*2*pi*0.5*sin(theta0*pi/180)*[0:element_num-1]');j(:,i)=amp1*exp(imag*2*pi*0.5*sin(theta1*pi/180)*[0:element_num-1]');n(:,i)=ampn*exp(randn(element_num,1)+imag*randn(element_num,1)); end Rs=1/L*s*s';%信号⾃相关矩阵Rnj=1/L*(j*j'+n*n'); %⼲扰+噪声的⾃相关矩阵[V,D]=eig(Rs,Rnj); %(Rs,Rnj)的⼴义特征值和特征向量[D,I]=sort(diag(D)); %特征向量排序Wopt=V(:,I(8));%最优权⽮量for j=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(j)*pi/180)*[0:element_num-1]');f(j)=Wopt'*a;p(j)=a'*Rs*a+a'*Rnj*a;endF=20*log10(abs(f)/max(max(abs(f))));P=20*log10(abs(p)/max(max(abs(p))));subplot(1,2,1)plot(theta,F);grid on;hold on;plot(theta0,-80:0,'.'); plot(theta1,-80:0,'.'); xlabel('theta/0'); ylabel('F in dB'); title('max-SNR ⽅向图'); axis([-90 90 -80 0]); hold on;subplot(1,2,2);plot(theta,P,'r');xlabel('theta/0'); ylabel('功率 in dB'); title('max-SNR 功率谱'); grid on;axis([-90 90 -80 0]); (2)仿真结果6.ASC旁瓣相消----MSE准则(1) matlab 程序clc;close all;clear all;imag=sqrt(-1);M=32;%辅助天线数⽬d_lambda=0.5;%阵元间距theta0=-30;%来波⽅向theta1=60;%⼲扰⽅向L=512;%采样单元数s=zeros(1,512); %预划分⼀个区域for ii=1:Lamp0=1*randn(1);%信号的幅度随机产⽣,保证信号之间是不相关的amp1=200*randn(1);ampn=1;jam(:,ii)=amp1*exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:M-1]' )+ampn*(randn(M,1)+imag*randn(M,1)); %⼲扰+噪声s(ii)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180))+amp1*exp(im ag*2*pi*d_lambda*sin(theta1*pi/180))+ampn* (randn(1,1)+imag*randn( 1,1));%接收信号(信号+⼲扰+噪声)s0(ii)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180));endRx=1/L*jam*jam';r_xd=1/L*jam*s';Wopt=pinv(Rx)*r_xd;delta=s0-(s-Wopt'*jam);delta1=abs(mean(delta.^2)-(mean(delta)).^2);theta=linspace(-pi/2,pi/2,200);for jj=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(jj))*[0:M-1]'); f(jj)=Wopt'*a; endF=20*log10(abs(f)/max(max(abs(f))));figure(1)plot(theta*180/pi,F);grid on;hold on;plot(theta0,-50:0,'.');plot(theta1,-50:0,'.');xlabel('theta/°');ylabel('F/dB');title('MSE准则下的⽅向图');axis([-90 90 -50 0]);(2)仿真结果7.线性约束最⼩⽅差(LCMV)准则(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=8;%阵元数d_lambda=0.5;%阵元间距与波长的关系theta=-90:0.5:90; %搜索范围theta0=0; %三个信号源的来波⽅向theta1=30;L=512;%采样单元数for i=1:Lamp0=10*randn(1);amp1=100*randn(1);amp2=10*randn(1);ampn=10;x(:,i)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]')+amp1*exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:element_num-1]')+amp2*exp(im ag*2*pi*d_lambda*sin(theta2*pi/180)* [0:element_num-1]')+ampn*(randn(element_ num,1)+imag*randn(element_num,1));endRx=1/L*x*x';steer1=exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]');steer2=exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:element_num-1]');steer3=exp(imag*2*pi*d_lambda*sin(theta2*pi/180)*[0:element_num-1]');C=[steer1 steer2 steer3];F=[1 0 1]';%把三个⽅向都作为来波⽅向w=inv(Rx)*C*(inv(C'*inv(Rx)*C))*F;for j=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(j)*pi/180)*[0:element_num-1]');f(j)=w'*a;p(j)=1/(a'*inv(Rx)*a);endF=20*log10(abs(f)/(max(max(abs(f)))));subplot(1,2,1)plot(theta,F);grid on;hold on;plot(theta0,-20:0,'.');plot(theta1,-20:0,'.');plot(theta2,-20:0,'.');xlabel('theta/°');ylabel('F/dB');title('Capon beamforming ⽅向图');axis([-90 90 -20 0]);P=20*log10(abs(p)/(max(max(abs(p)))));plot(theta,P);grid on;hold on;plot(theta0,-20:0,'.');plot(theta1,-20:0,'.');plot(theta2,-20:0,'.');xlabel('theta/°');ylabel('P/dB');title('Capon beamforming 功率谱');axis([-90 90 -20 0]);(2)仿真结果8.Capon beamforming(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=8;%阵元数d_lambda=0.5;%阵元间距与波长的关系theta=-90:0.5:90; %搜索范围theta0=0; %三个信号源的来波⽅向theta1=20;theta2=60;L=1000;%采样单元数for i=1:Lamp0=10*randn(1);amp1=200*randn(1);amp2=200*randn(1);ampn=3;x(:,i)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]')+amp1*exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:element_num-1]')+amp2*exp(im ag*2*pi*d_lambda*sin(theta2*pi/180)* [0:element_num-1]')+ampn*(randn(element_ num,1)+imag*randn(element_num,1));endRx=1/L*x*x';R=inv(Rx);steer=exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]');w=R*steer/(steer'*R*steer);%最优权⽮量for j=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(j)*pi/180)*[0:element_num-1]');f(j)=w'*a;p(j)=1/(a'*R*a);endF=20*log10(abs(f)/(max(max(abs(f)))));subplot(1,2,1)plot(theta,F);grid on;hold on;plot(theta0,-50:0,'.');plot(theta1,-50:0,'.');plot(theta2,-50:0,'.');xlabel('theta/°');ylabel('F/dB');title('Capon beamforming ⽅向图');axis([-90 90 -50 0]);P=20*log10(abs(p)/(max(max(abs(p)))));subplot(1,2,2)plot(theta,P);grid on;hold on;xlabel('theta/°');ylabel('P/dB');title('Capon beamforming 功率谱');axis([-90 90 -90 0]);(2)仿真结果。

宽带波束形成matlab,关于均匀圆阵MVDR宽带波束形成的程序

宽带波束形成matlab,关于均匀圆阵MVDR宽带波束形成的程序

宽带波束形成matlab,关于均匀圆阵MVDR宽带波束形成的程序%⽤均匀圆阵MVDR⽅法进⾏宽带波束形成%% 基本参数f0 = 4*10^6; %信号中⼼频率bandwide = 0.5*10^6; %带宽0.05MHzinterval = 100; %每间隔interval(Hz)形成点频信号,合成宽带NarrowNumber = bandwide/interval; %所需点频个数NarrowF = linspace(f0-bandwide/2, f0+bandwide/2, NarrowNumber); %各点频的频率值R = 50; %阵元半径c = 3*10^8; %传播速度:光速bosu=340; % 波速degrad=pi/180;p=1;seta1=150*degrad; %信号到来⽅位⾓fai1=45*degrad; %信号到来仰⾓kk = 64; %进⾏MVDR所需采样数Nfft = 256; %进⾏FFT⼦带化点数,即进⾏Nfft点快速傅⽴叶变换Nlearn = kk * Nfft; %时域数据快拍数M=40; %均匀圆阵总数MElementFai=(0:(M-1))*9*degrad+4.5*degrad; %各阵元位置向量图MNumber = 10; %选出的阵元个数SelectElement=[ElementFai(1) ElementFai(5) ElementFai(9) ElementFai(13) ElementFai(17) ElementFai(21) ElementFai(25) ElementFai(29) ElementFai(33) ElementFai(37)];A=zeros(MNumber,p);k=[0:MNumber-1]';for t=1:pA(:,t)=exp(-j*2*pi*R*f0/bosu*(cos(seta1*degrad)*cos(2*pi*k/M)+cos(seta1*degrad)*sin(2*pi*k/M)));%圆阵的阵列流型ends=zeros(p,Nlearn);Am=[3,5]; %幅度phi=[20,30]; %初相for ii=1:ps(ii,:)=s(ii,:)+Am(ii)*cos(2*pi*f0*t+phi(ii)*degrad);%宽带信号endF=linspace(f0-bandwide/2, f0+bandwide/2, Nfft);snr=10;n=exp(j*2*pi*randn(MNumber,Nlearn))/snr;%噪声X=A*s + n; % 阵列输出%% 开始处理%对时域数据分段作FFT变换for mn=1:MNumberfor m=1:kkxxF(mn,m,:) = fft( X(mn,((m-1)*Nfft+1):((m-1)*Nfft+Nfft)), Nfft);endendtemp1=cos(seta1-SelectElement);F=linspace(f0-bandwide/2, f0+bandwide/2, Nfft);%求窄带信号的⾃适应最佳权for nfft=1:Nffth=zeros(MNumber);for k=1:kkh=h+xxF(:,k,nfft)*xxF(:,k,nfft)';endRxxf(:,:,nfft)=h./kk; %得到某窄频的⾃相关矩阵windows=ones(MNumber,1);a1=exp(-j*2*pi*R*F(nfft)/c*sin(fai1)*temp1);s=(a1.*windows.').';Wopt(:,nfft)=(inv(Rxxf(:,:,nfft))*s)/(s'*inv(Rxxf(:,:,nfft))*s); %MVDR算法的程序end%% 扫描⽮量NcurveAzi=180; %空间扫描⾓度采样数seta=linspace(0,2*pi,NcurveAzi); %阵元空间扫描指向⾓度for ne=1:Nfftfor na=1:NcurveAzitemp=cos(seta(na)-SelectElement);a=exp(-j*2*pi*R*F(ne)/c*sin(fai1)*temp);%扫描时⽅向⽮量f=(1+temp)/2; %扫描时的阵元⽅向图BF(na,ne)=abs(sum(a.*Wopt(:,nfft)'));end%%仿真结果plot(seta*180/pi,20*log10(BF(:,1)/max(BF(:,1))),'b') gridxlabel('\phi⽅位⾓(度)')ylabel('波束输出/分贝')title('均匀圆阵MVDR算法宽带波束形成图')endhold off。

自适应波束形成与Matlab程序代码注解

自适应波束形成与Matlab程序代码注解
gridon;
xlabel('theta/radian')
ylabel('amplitude/dB')
title([num2str(element_num)'阵元均匀线阵方向图','来波方向为'num2str(theta0*180/pi)'度']);
axis([-1.5 1.5 -50 0]);
(2)仿真结果
A.来波方向为0°
不归一化
归一化
B.来波方向为45°
不归一化
归一化
C.随着阵元数的增加,波束宽度变窄,分辨力提高,仿真图如下:
非归一化
归一化
不归一化
归一化
2.波束宽度与波达方向及阵元数的关系
(1)matlab 程序
clc;
clearall;
closeall;
imag=sqrt(-1);
element_num1=16;
psi(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lambda/(element_num2*d));
beta(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lambda/(element_num3*d));
end
gridon;
xlabel('theta/radian')
ylabel('amplitude/dB')
title([num2str(element_num)'阵元均匀线阵方向图','来波方向为'num2str(theta0*180/pi)'度']);

(完整版)波束形成-Matlab程序

(完整版)波束形成-Matlab程序

(完整版)波束形成-M a t l a b程序-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN1.均匀线阵方向图%8阵元均匀线阵方向图,来波方向为0度clc;clear all;close all;imag=sqrt(-1);element_num=8;%阵元数为8d_lamda=1/2;%阵元间距d与波长lamda的关系theta=linspace(-pi/2,pi/2,200);theta0=45/180*pi;%来波方向 (我觉得应该是天线阵的指向)%theta0=0;%来波方向w=exp(imag*2*pi*d_lamda*sin(theta0)*[0:element_num-1]');for j=1:length(theta) %(我认为是入射角度,即来波方向,计算阵列流形矩阵A) a=exp(imag*2*pi*d_lamda*sin(theta(j))*[0:element_num-1]');p(j)=w'*a; %(matlab中的'默认为共轭转置,如果要计算转置为w.'*a)endfigure;plot(theta,abs(p)),grid onxlabel('theta/radian')ylabel('amplitude')title('8阵元均匀线阵方向图')见张小飞的书《阵列信号处理的理论和应用2.3.4节阵列的方向图》当来波方向为45度时,仿真图如下:8阵元均匀线阵方向图如下,来波方向为0度,20log(dB)随着阵元数的增加,波束宽度变窄,分辨力提高:仿真图如下:2.波束宽度与波达方向及阵元数的关系clcclear allclose allima=sqrt(-1);element_num1=16; %阵元数element_num2=128;element_num3=1024;lamda=0.03; %波长为0.03米d=1/2*lamda; %阵元间距与波长的关系theta=0:0.5:90;for j=1:length(theta);fai(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_num1*d)); psi(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_num2*d)); beta(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_num3*d)); endfigure;plot(theta,fai,'r',theta,psi,'b',theta,beta,'g'),grid onxlabel('theta');ylabel('Width in radians')title('波束宽度与波达方向及阵元数的关系')仿真图如下:3. 当阵元间距 /2d λ> 时,会出现栅瓣,导致空间模糊。

波束形成 Matlab程序教学文稿

波束形成 Matlab程序教学文稿

波束形成M a t l a b程序1.均匀线阵方向图%8阵元均匀线阵方向图,来波方向为0度clc;clear all;close all;imag=sqrt(-1);element_num=8;%阵元数为8d_lamda=1/2;%阵元间距d与波长lamda的关系theta=linspace(-pi/2,pi/2,200);theta0=0;%来波方向w=exp(imag*2*pi*d_lamda*sin(theta0)*[0:element_num-1]'); for j=1:length(theta)a=exp(imag*2*pi*d_lamda*sin(theta(j))*[0:element_num-1]'); p(j)=w'*a;endfigure;plot(theta,abs(p)),grid onxlabel('theta/radian')ylabel('amplitude')title('8阵元均匀线阵方向图')当来波方向为45度时,仿真图如下:8阵元均匀线阵方向图如下,来波方向为0度,20log(dB)随着阵元数的增加,波束宽度变窄,分辨力提高:仿真图如下:2.波束宽度与波达方向及阵元数的关系clcclear allclose allima=sqrt(-1);element_num1=16; %阵元数element_num2=128;element_num3=1024;lamda=0.03; %波长为0.03米d=1/2*lamda; %阵元间距与波长的关系theta=0:0.5:90;for j=1:length(theta);fai(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_num1*d)); psi(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_num2*d)); beta(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_num3*d)); endfigure;plot(theta,fai,'r',theta,psi,'b',theta,beta,'g'),grid onxlabel('theta');ylabel('Width in radians')title('波束宽度与波达方向及阵元数的关系')仿真图如下:3. 当阵元间距 /2dλ> 时,会出现栅瓣,导致空间模糊。

自适应波束形成与Matlab程序代码注解

自适应波束形成与Matlab程序代码注解

1.均匀线阵方向图(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=32;%阵元数为8d_lamda=1/2;%阵元间距d与波长lamda的关系theta=linspace(-pi/2,pi/2,200);theta0=0;%来波方向w=exp(imag*2*pi*d_lamda*sin(theta0)*[0:element_num-1]');for j=1:length(theta)a=exp(imag*2*pi*d_lamda*sin(theta(j))*[0:element_num-1]');p(j)=w'*a;endpatternmag=abs(p);patternmagnorm=patternmag/max(max(patternmag));patterndB=20*log10(patternmag);patterndBnorm=20*log10(patternmagnorm);figure(1)plot(theta*180/pi,patternmag);grid on;xlabel('theta/radian')ylabel('amplitude/dB')title([num2str(element_num) '阵元均匀线阵方向图','来波方向为' num2str(theta0*180/pi) '度']);hold on;figure(2)plot(theta,patterndBnorm,'r');grid on;xlabel('theta/radian')ylabel('amplitude/dB')title([num2str(element_num) '阵元均匀线阵方向图','来波方向为' num2str(theta0*180/pi) '度']);axis([-1.5 1.5 -50 0]);(2)仿真结果A.来波方向为0°不归一化归一化B.来波方向为45°不归一化归一化C.随着阵元数的增加,波束宽度变窄,分辨力提高,仿真图如下:非归一化归一化不归一化归一化2.波束宽度与波达方向及阵元数的关系(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num1=16;element_num2=128;element_num3=1024;lambda=0.1;d=0.5*lambda;theta=0:0.5:90;for j=1:length(theta)fai(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lambda/(element_num1*d)); psi(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lambda/(element_num2*d)); beta(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lambda/(element_num3*d)); endfigureplot(theta,fai,'r',theta,psi,'b',theta,beta,'g');grid on;xlabel('theta');ylabel('width in radians');title('波束宽度与达波方向及阵元数目的关系');legend('N=16','N=128','N=1024');(2)仿真结果结果3. 当阵元间距/2d λ>时,会出现栅瓣,导致空间模糊(1)仿真结果非归一化归一化4. 类似于时域滤波,天线方向图是最优权的傅立叶变换(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=32;source_num=1;d_lambda=0.5;theta=linspace(-pi/2,pi/2,200);theta0=0;w=exp(imag*2*pi*d_lambda*sin(theta0)*[0:element_num-1]');for j=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(j))*[0:element_num-1]'); p(j)=w'*a;endpatternmag=abs(p);patternmagnorm=patternmag/max(max(patternmag));patterndB=20*log10(patternmag); patterndBnorm=20*log10(patternmagnorm); figure(1)subplot(1,2,1);plot(theta,patterndBnorm);grid on;xlabel('theta/radian');ylabel('amplitude/dB');axis([-2.0 2.0 -50 0]);subplot(1,2,2);pfft=fftshift(fft(w,256));pfftmag=abs(pfft);pfftmagnorm=pfftmag/max(max(pfftmag)); pfftdB=20*log10(pfftmagnorm);pfftdBnorm=20*log10(pfftmagnorm);plot(linspace(-pi/2,pi/2,256),pfftdBnorm); grid on;xlabel('theta/radian');ylabel('FFT_amplitude/dB');axis([-2.0 2.0 -50 0]);(2)仿真结果5.最大信噪比准则方向图和功率谱(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=8;%阵元数为8d_lambda=0.5;%间距为半波长theta=-90:0.5:90;%扫描范围theta0=0;%来波方位theta1=20;%干扰方向L=512;%采样点数for i=1:Lamp0=10*randn(1);amp1=200*randn(1);ampn=1;s(:,i)=amp0*exp(imag*2*pi*0.5*sin(theta0*pi/180)*[0:element_num-1]');j(:,i)=amp1*exp(imag*2*pi*0.5*sin(theta1*pi/180)*[0:element_num-1]');n(:,i)=ampn*exp(randn(element_num,1)+imag*randn(element_num,1)); endRs=1/L*s*s';%信号自相关矩阵Rnj=1/L*(j*j'+n*n'); %干扰+噪声的自相关矩阵[V,D]=eig(Rs,Rnj); %(Rs,Rnj)的广义特征值和特征向量[D,I]=sort(diag(D)); %特征向量排序Wopt=V(:,I(8));%最优权矢量for j=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(j)*pi/180)*[0:element_num-1]');f(j)=Wopt'*a;p(j)=a'*Rs*a+a'*Rnj*a;endF=20*log10(abs(f)/max(max(abs(f))));P=20*log10(abs(p)/max(max(abs(p))));subplot(1,2,1)plot(theta,F);grid on;hold on;plot(theta0,-80:0,'.'); plot(theta1,-80:0,'.'); xlabel('theta/0'); ylabel('F in dB');title('max-SNR 方向图'); axis([-90 90 -80 0]); hold on;subplot(1,2,2);plot(theta,P,'r');grid on;xlabel('theta/0'); ylabel('功率 in dB'); title('max-SNR 功率谱'); grid on;axis([-90 90 -80 0]); (2)仿真结果6.ASC旁瓣相消----MSE准则(1) matlab 程序clc;close all;clear all;imag=sqrt(-1);M=32;%辅助天线数目d_lambda=0.5;%阵元间距theta0=-30;%来波方向theta1=60;%干扰方向L=512;%采样单元数s=zeros(1,512); %预划分一个区域for ii=1:Lamp0=1*randn(1);%信号的幅度随机产生,保证信号之间是不相关的amp1=200*randn(1);ampn=1;jam(:,ii)=amp1*exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:M-1]' )+ampn*(randn(M,1)+imag*randn(M,1)); %干扰+噪声s(ii)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180))+amp1*exp(im ag*2*pi*d_lambda*sin(theta1*pi/180))+ampn*(randn(1,1)+imag*randn( 1,1));%接收信号(信号+干扰+噪声)s0(ii)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180));endRx=1/L*jam*jam';r_xd=1/L*jam*s';Wopt=pinv(Rx)*r_xd;delta=s0-(s-Wopt'*jam);delta1=abs(mean(delta.^2)-(mean(delta)).^2);theta=linspace(-pi/2,pi/2,200);for jj=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(jj))*[0:M-1]'); f(jj)=Wopt'*a;endF=20*log10(abs(f)/max(max(abs(f))));figure(1)plot(theta*180/pi,F);grid on;hold on;plot(theta0,-50:0,'.');plot(theta1,-50:0,'.');xlabel('theta/°');ylabel('F/dB');title('MSE准则下的方向图');axis([-90 90 -50 0]);(2)仿真结果7.线性约束最小方差(LCMV)准则(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=8;%阵元数d_lambda=0.5;%阵元间距与波长的关系theta=-90:0.5:90; %搜索范围theta0=0; %三个信号源的来波方向theta1=30;theta2=60;L=512;%采样单元数for i=1:Lamp0=10*randn(1);amp1=100*randn(1);amp2=10*randn(1);ampn=10;x(:,i)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]')+am p1*exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:element_num-1]')+amp2*exp(im ag*2*pi*d_lambda*sin(theta2*pi/180)*[0:element_num-1]')+ampn*(randn(element_ num,1)+imag*randn(element_num,1));endRx=1/L*x*x';steer1=exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]');steer2=exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:element_num-1]');steer3=exp(imag*2*pi*d_lambda*sin(theta2*pi/180)*[0:element_num-1]');C=[steer1 steer2 steer3];F=[1 0 1]';%把三个方向都作为来波方向w=inv(Rx)*C*(inv(C'*inv(Rx)*C))*F;for j=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(j)*pi/180)*[0:element_num-1]');f(j)=w'*a;p(j)=1/(a'*inv(Rx)*a);endF=20*log10(abs(f)/(max(max(abs(f)))));subplot(1,2,1)plot(theta,F);grid on;hold on;plot(theta0,-20:0,'.');plot(theta1,-20:0,'.');plot(theta2,-20:0,'.');xlabel('theta/°');ylabel('F/dB');title('Capon beamforming 方向图');axis([-90 90 -20 0]);P=20*log10(abs(p)/(max(max(abs(p)))));subplot(1,2,2)plot(theta,P);grid on;hold on;plot(theta0,-20:0,'.');plot(theta1,-20:0,'.');plot(theta2,-20:0,'.');xlabel('theta/°');ylabel('P/dB');title('Capon beamforming 功率谱');axis([-90 90 -20 0]);(2)仿真结果8.Capon beamforming(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=8;%阵元数d_lambda=0.5;%阵元间距与波长的关系theta=-90:0.5:90; %搜索范围theta0=0; %三个信号源的来波方向theta1=20;theta2=60;L=1000;%采样单元数for i=1:Lamp0=10*randn(1);amp1=200*randn(1);amp2=200*randn(1);ampn=3;x(:,i)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]')+am p1*exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:element_num-1]')+amp2*exp(im ag*2*pi*d_lambda*sin(theta2*pi/180)*[0:element_num-1]')+ampn*(randn(element_ num,1)+imag*randn(element_num,1));endRx=1/L*x*x';R=inv(Rx);steer=exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]');w=R*steer/(steer'*R*steer);%最优权矢量for j=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(j)*pi/180)*[0:element_num-1]');f(j)=w'*a;p(j)=1/(a'*R*a);endF=20*log10(abs(f)/(max(max(abs(f)))));subplot(1,2,1)plot(theta,F);grid on;hold on;plot(theta0,-50:0,'.');plot(theta1,-50:0,'.');plot(theta2,-50:0,'.');xlabel('theta/°');ylabel('F/dB');title('Capon beamforming 方向图');axis([-90 90 -50 0]);P=20*log10(abs(p)/(max(max(abs(p)))));subplot(1,2,2)plot(theta,P);grid on;hold on;xlabel('theta/°');ylabel('P/dB');title('Capon beamforming 功率谱');axis([-90 90 -90 0]);(2)仿真结果9.不同方法估计协方差矩阵的Capon波束形成(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=8;%阵元数为8d_lambda=0.5;%间距为半波长theta=-90:0.5:90;%扫描范围theta0=0;%来波方向theta1=50;%干扰方向L=1024;%采样单元数for i=1:Lamp0=10*randn(1);amp1=50*randn(1);ampn=0.5;s(:,i)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]');j(:,i)=amp1*exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:element_num-1]'); n(:,i)=ampn*exp(imag*2*pi*randn(1)*[0:element_num-1]');endRx=1/L*(s+j+n)*(s+j+n)';%接收信号自相关矩阵Rnj=1/L*(j+n)*(j+n)';%%干拢+噪声的自相关矩阵e=exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]'); Wopt_Rx=inv(Rx)*e/(e'*inv(Rx)*e);%采用接收信号的权矢量Wopt_Rnj=inv(Rnj)*e/(e'*inv(Rnj)*e);%采用干拢+噪声信号的权矢量for j=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(j)*pi/180)*[0:element_num-1]');f1(j)=Wopt_Rx'*a;f2(j)=Wopt_Rnj'*a;endF1=20*log10(abs(f1)/max(max(abs(f1))));F2=20*log10(abs(f2/max(max(abs(f2)))));figure;plot(theta,F1,theta,F2,'r');grid on;hold on;plot(theta0,-50:0,'.');plot(theta1,-50:0,'.');xlabel('theta/°');ylabel('F(1,2)/dB');title('不同方法估计协方差矩阵的Capon波束形成');axis([-90 90 -60 0]);(2)仿真结果10.多点约束的Capon波束形成和方向图(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=8;d_lambda=0.5;theta=-90:0.3:90;theta0=0;theta1=20;theta2=50;L=512;Rx=zeros(element_num,element_num);%产生协方差矩阵for i=1:Lamp0=10*randn(1);amp1=10*randn(1);amp2=50*randn(1);ampn=0.5*randn(1);%噪声的幅度随机产生,保证噪声与信号之间是不相关的j(:,i)=amp1*exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:element_num-1]') +amp2*exp(imag*2*pi*d_lambda*sin(theta2*pi/180)*[0:element_num-1]')+ampn*exp (imag*2*pi*randn(1)*[0:element_num-1]');x(:,i)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]') +j(:,i);%表示接收信号endRx=1/L*x*x';R=inv(Rx);w=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]')+amp1*ex p(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:element_num-1]')+amp2*exp(imag*2* pi*d_lambda*sin(theta2*pi/180)*[0:element_num-1]');for j=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(j)*pi/180)*[0:element_num-1]');f(j)=w'*a;p(j)=1/(a'*R*a);endF=20*log10(abs(f)/max(max(abs(f))));P=20*log10(abs(p)/max(max(abs(p))));figure;subplot(1,2,1);plot(theta,F);grid on;hold on;plot(theta0,-50:0,'.');plot(theta1,-50:0,'.');plot(theta2,-50:0,'.');xlabel('theta/°');ylabel('F/dB');title('Capon beamforming方向图'); axis([-90 90 -50 0]);subplot(1,2,2);plot(theta,P);hold on;grid on;plot(theta0,-90:0,'.');plot(theta1,-90:0,'.');plot(theta2,-90:0,'.');xlabel('theta/°');ylabel('P/dB');title('Capon beamforming功率谱');(2)仿真结果11.自适应波束形成方向图(1)matlab 程序clc;clear all;close all;imag=sqrt(-1);element_num=8;c=3e8;f=5e8;lambda=c/f;d_lambda=0.5;theta=-90:0.5:90;theta0=0;theta1=45;theta2=60;L=2048;for i=1:Lamp0=10*randn(1);amp1=100*randn(1);amp2=100*randn(1);ampn=10;x(:,i)=amp0*exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]')+am p1*exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:element_num-1]')+amp2*exp(im ag*2*pi*d_lambda*sin(theta2*pi/180)*[0:element_num-1]')+ampn*(randn(element_ num,1)+imag*randn(element_num,1));endRx=1/L*x*x';steer1=exp(imag*2*pi*d_lambda*sin(theta0*pi/180)*[0:element_num-1]');steer2=exp(imag*2*pi*d_lambda*sin(theta1*pi/180)*[0:element_num-1]');steer3=exp(imag*2*pi*d_lambda*sin(theta2*pi/180)*[0:element_num-1]');C=[steer1 steer2 steer3];F=[1 0 0]';w=inv(Rx)*C*(inv(C'*inv(Rx)*C))*F;for j=1:length(theta)a=exp(imag*2*pi*d_lambda*sin(theta(j)*pi/180)*[0:element_num-1]');f(j)=w'*a;p(j)=1/(a'*inv(Rx)*a);endF=20*log10(abs(f)/(max(max(abs(f)))));subplot(1,2,1)plot(theta,F);grid on;hold on;plot(theta0,-50:0,'.');plot(theta1,-50:0,'.');plot(theta2,-50:0,'.');xlabel('theta/°');ylabel('F/dB');title('自适应波束形成方向图');axis([-90 90 -50 0]);P=20*log10(abs(p)/(max(max(abs(p))))); subplot(1,2,2)plot(theta,P);grid on;hold on;xlabel('theta/°');ylabel('P/dB');title('功率谱');axis([-90 90 -50 0]);(2)仿真结果(3)GUI界面。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1?均匀线阵方向图%8阵元均匀线阵方向图,来波方向为clc; clear all; close all;
0度
imag=sqrt(_1);
element_num=8;% 阵元数为8
d_lamda=1/2;%阵元间距d与波长lamda的关系theta=li nspace(-pi/2,pi/2,200);
theta0=0;% 来波方向w=exp(imag*2*pi*dl_lamda*si
n(theta0)*[0:eleme nt_nu m-1]');
for j=1:le ngth(theta)
a=exp(imag*2*pi*dd_l amda*si n(theta(j))*[0:eleme nt_nu m-1]'); p(j)=w'*a;
end figure;
plot(theta,abs(p)),grid on xlabel('theta/radia n')
ylabel('amplitude')
title('8 阵元均匀线阵方向图')
°2 8阵元均匀线阵方向图
7
6
5
4
3
2
1
-15 -1 -0 5 0 06
thetaradian
1 15
8
当来波方向为45度时,仿真图如下
8阵元均匀线阵方向图如下,来波方向为0 度,20log (dB)
8阵元均苛銭阵方向图来波方向为0度
随着阵元数的增加,波束宽度变窄,分辨力提高:仿真图如下
Q d p
E =
ro 二
2. 波束宽度与波达方向及阵元数的关系
clc
clear all
close all
ima=sqrt(-1);
element_num1=16; %阵元数
element_num2=128;
element_num3=1024;
lamda=0.03; %波长为0.03 米
d=1/2*lamda; % 阵元间距与波长的关系theta=0:0.5:90; for
j=1:length(theta);
fai(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_n um1*d));
psi(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_n um2*d));
beta(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_ num3*d));
end
figure; plot(theta,fai,'r',theta,psi,'b',theta,beta,'g'),grid on xlabel('theta'); ylabel('Width in radians')
title(' 波束宽度与波达方向及阵元数的关系') 仿真图如下:。

相关文档
最新文档