MATLAB仿真天线阵代码
MATLAB仿真天线阵代码
clc clear all f=3e9;N1=4;N2=8;N3=12; a=pi/2; % 馈电相位差 i=1; % 天线电流值lambda=(3e8)/f; %lambda=c/f d=lambda/2;beta=2 、 *pi/lambda;W=-2*pi:0 、 001:2*pi; y1=sin((N1 、 *W 、 /2)) 、/(N1 、 y1=abs(y1);r1=max(y1);y2=sin((N2 、 *W 、 /2)) 、/(N2 、 y2=abs(y2);r2=max(y2);y3=sin((N3 、 *W 、 /2)) 、/(N3 、y3=abs(y3);r3=max(y3);%归一化阵因子绘图程序figure(1) subplot(311);plot(W,y1) ; grid on; % 阵因子xlabel('f=3GHz,N=4,d=1/2 波长,a= n /2') subplot(312);plot(W,y2) ; grid on; % 阵因子xlabel('f=3GHz,N=8,d=1/2 波长,a= n /2')subplot(313);plot(W,y3) ; grid on; % 化阵因子 xlabel('f=3GHz,N=12,d=1/2 波长,a= n /2')% --------------- %只有参数N 改变的天线方向图 t=0:0 、0 1 :2*pi; W=a+(beta 、*d 、*cos(t));z1=(N1/2) 、*(W); z2=(1/2) 、*(W);W1=sin(z1) 、/(N1 、*sin(z2)); % 非归一化的阵因子 K1K1=abs(W1);% ---------------天线阵代码波长*(sin(W 、/2))); % *(sin(W 、/2))); % *(sin(W 、/2))); % 归一化阵因子 归一化阵因子 归一化阵因子 绘出N=4等幅等矩阵列的归一化 绘出N=8等幅等矩阵列的归一化 绘出N=12等幅等矩阵列的归一W=a+(beta 、 *d 、*cos(t)); z3=(N2/2) 、 *(W); z4=(1/2) 、*(W);W2=sin(z3) 、/(N2 、*sin(z4)); % 非归一化的阵因子 K2K2=abs(W2);% ------------------W=a+(beta 、 *d 、*cos(t)); z5=(N3/2) 、 *(W); z6=(1/2) 、*(W);W3=sin(z5) 、/(N3 、*sin(z6)); % 非归一化的阵因子 K3K3=abs(W3);% -------------- 绘图函数figure(2)subplot(131);polar(t,K1);xlabel('f=3GHz,N=4,d=1/2 subplot(132);polar(t,K2);xlabel('f=3GHz,N=8,d=1/2 subplot(133);polar(t,K3);xlabel('f=3GHz,N=12,d=1/2 % %只有阵列单元方向角 a 改变的天线方向图N4=10;d1=lambda/4;a1=0;a2=pi/2;a3=pi/2+pi/10;A=a1+(beta 、*d1 、*cos(t)) ; x1=(N4/2) 、*(A); x2=(1/2) 、*(A);A1=sin(x1) 、/(N4 、*sin(x2)); % 非归一化的阵因子 K4 K4=abs(A1);% -------------------B=a2+(beta 、*d1、*cos(t));y_1=(N4/2) 、*(B);y_2=(1/2) 、*(B);B1=sin(y_1) 、/(N4 、 *sin(y_2)) ; % 非归一化的阵因子 K5 K5=abs(B1); % -------------------C=a3+(beta 、*d1、*cos(t));v1=(N4/2) 、*(C);v2=(1/2) 、*(C);C1=sin(v1) 、/(N4 、*sin(v2)); % 非归一化的阵因子 K6 K6=abs(C1);% ------------------- 绘图函数figure(3)subplot(131);polar(t,K4);xlabel('f=3GHz,N=10,d=1/4 subplot(132);polar(t,K5);xlabel('f=3GHz,N=10,d=1/4 subplot(133);polar(t,K6);xlabel('f=3GHz,N=10,d=1/4 长,a= n /2+ n /10');% ------------------------------------------------波长,a= n /2'); 波长,a= n /2'); 波长,a= n 波长,a=0'); 波长,a= n /2');波%只有阵列单元间隔 d 改变的天线方向图N5=20;d2=lambda/4;d3=lambda/2;d4=0 、7*lambda;a4=pi/2;D=a4+(beta 、*d2 、*cos(t));p1=(N5/2) 、*(D);p2=(1/2) 、*(D);D1=sin(p1) 、/(N5 、*sin(p2)); % 非归一化的阵因子 K7K7=abs(D1);% ----------------------E=a4+(beta 、*d3、*cos(t));q1=(N5/2) 、*(E);q2=(1/2) 、*(E);E1=sin(q1) 、/(N5 、*sin(q2)); % 非归一化的阵因子 K8 K8=abs(E1);% ----------------------F=a4+(beta 、*d4、*cos(t));r_1=(N5/2) 、*(F);r_2=(1/2) 、*(F);F1=sin(r_1) 、/(N5 、 *sin(r_2)); % 非归一化的阵因子 K9 K9=abs(F1); % ---------------- 绘图函数figure(4)subplot(131);polar(t,K7);xlabel('f=3GHz,N=20,d=1/4 波长,a= n /2'); subplot(132);polar(t,K8);xlabel('f=3GHz,N=20,d=1/2波长,a= n /2'); subplot(133);polar(t,K9);xlabel('f=3GHz,N=20,d=0% ------------------------------------------------ % ---------------------------- 3D- 天线方向图n_tehta = 130; % ------------- 采样视角点的仰角n_phi = 130; % --------------- 采样点的方向角[tehta,phi]=meshgrid(eps:pi 、/(n_tehta-1):pi, 、、、 %meshgrid为矩形区域的设定范围就是epfvtehtav n 0<phi<2 n0:2*pi 、/(n_phi-1):2*pi) ;t3=tehta; % -------- 只有参数N 改变的天线方向3D 图M=a+(beta 、*d 、*cos(t3)); % --- N1=4;N2=8;N3=12;z_1=(N1/2) 、*(M);z_2=(1/2) 、*(M);M1=sin(z_1) 、/(N1、*sin(z_2)); % 非归一化的阵因子 K1K_1=abs(M1);radio_1 =K_1;X1=radio_1 、*sin(tehta) 、*cos(phi);Y1=radio_1 、*sin(tehta) 、*sin(phi);Z1=radio_1 、*cos(tehta);% ------------------------M=a+(beta 、 *d 、*cos(t3));z_3=(N2/2) 、*(M);z_4=(1/2) 、*(M);7 波长,a= n /2');函数M2=sin(z_3) 、/(N2 、*sin(z_4)); % 非归一化的阵因子K2K_2=abs(M2);radio_2 =K_2;X2=radio_2 、*sin(tehta) 、*cos(phi);Y2=radio_2 、*sin(tehta) 、*sin(phi);Z2=radio_2 、*cos(tehta);% --------------------------M=a+(beta、*d 、*cos(t3));z_5=(N3/2) 、*(M);z_6=(1/2) 、*(M);M3=sin(z_5) 、/(N3 、*sin(z_6)); % 非归一化的阵因子K3K_3=abs(M3);radio_3 =K_3;X3=radio_3 、*sin(tehta) 、*cos(phi);Y3=radio_3 、*sin(tehta) 、*sin(phi);Z3=radio_3 、*cos(tehta);% -------------------------- 3D 绘图函数figure(5)surf(X1,Y1,Z1); % 三维绘图函数surf, 采用伪彩色表示曲面的高度camlight right lightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=4,d=1/2 波长,a= n /2');figure(6) surf(X2,Y2,Z2);camlight rightlightcolorbaraxis imagerotate3D on title('f=3GHz,N=8,d=1/2 波长,a= n /2');figure(7) surf(X3,Y3,Z3)camlight rightlightcolorbaraxis imagerotate3D on title('f=3GHz,N=12,d=1/2 波长,a= n /2');% ---------------------------------% -------------- 只有阵列单元方向角 a 改变的天线方向图N4=10;d1=lambda/4;a1=0;a2=pi/2;a3=pi/2+pi/10;A_3d=a1+(beta、*d1、*cos(t3));x_1=(N4/2) 、*(A_3d);x_2=(1/2) 、*(A_3d);A_1=sin(x_1) 、/(N4 、*sin(x_2)); % 非归一化的阵因子K4 K_4=abs(A_1);radio_4 =K_4;X4=radio_4 、*sin(tehta) 、*cos(phi);Y4=radio_4 、*sin(tehta) 、*sin(phi);Z4=radio_4 、*cos(tehta); %B_3d=a2+(beta 、*d1 、*cos(t3)); y_1_3d=(N4/2) 、*(B_3d);y_2_3d=(1/2) 、*(B_3d);B_1=sin(y_1_3d) 、/(N4 、*sin(y_2_3d)); % 非归一化的阵因子K5 K_5=abs(B_1); radio_5 =K_5;X5=radio_5 、*sin(tehta) 、*cos(phi);Y5=radio_5 、*sin(tehta) 、*sin(phi);Z5=radio_5 、*cos(tehta); %C_3d=a3+(beta、*d1、*cos(t3));v_1=(N4/2) 、*(C_3d);v_2=(1/2) 、*(C_3d);C_1=sin(v_1) 、/(N4 、*sin(v_2)); % 非归一化的阵因子K6 K_6=abs(C_1);radio_6 =K_6;X6=radio_6 、*sin(tehta) 、*cos(phi);Y6=radio_6 、*sin(tehta) 、*sin(phi);Z6=radio_6 、*cos(tehta);% -------------------------figure(8)surf(X4,Y4,Z4); % 三维绘图函数surf, 采用伪彩色表示曲面的高度camlight right lightcolorbaraxis imagerotate3D on title('f=3GHz,N=10,d=1/4 波长,a=0');figure(9) surf(X5,Y5,Z5);camlight rightlight colorbar axis image rotate3D on title('f=3GHz,N=10,d=1/4 figure(10)surf(X6,Y6,Z6) camlight rightlight colorbar axis image rotate3D ontitle('f=3GHz,N=10,d=1/4 波长,a= n /2+ n /10'); %% ------------ 只有阵列单元波长,a= n /2');间隔d改变的天线方向3D图N5=20;d2=lambda/4;d3=lambda/2;d4=0 、7*lambda;a4=pi/2;D_3d=a4+(beta、*d2、*cos(t3));p_1=(N5/2) 、*(D_3d);p_2=(1/2) 、*(D_3d);D_1=sin(p_1) 、/(N5、*sin(p_2)); % 非归一化的阵因子K7K_7=abs(D_1);radio_7 =K_7;X7=radio_7 、*sin(tehta) 、*cos(phi);Y7=radio_7 、*sin(tehta) 、*sin(phi);Z7=radio_7 、*cos(tehta);% ----------------------------E_3d=a4+(beta、*d3、*cos(t3));q_1=(N5/2) 、*(E_3d);q_2=(1/2) 、*(E_3d);E_1=sin(q_1) 、/(N5 、*sin(q_2)); % 非归一化的阵因子K8K_8=abs(E_1);radio_8 =K_8;X8=radio_8 、*sin(tehta) 、*cos(phi);Y8=radio_8 、*sin(tehta) 、*sin(phi);Z8=radio_8 、*cos(tehta);% ------------------------------F_3d=a4+(beta 、*d4、*cos(t3));r_1_3d=(N5/2) 、*(F_3d);r_2_3d=(1/2) 、*(F_3d);F_1=sin(r_1_3d) 、/(N5 、*sin(r_2_3d)); % 非归一化的阵因子K9K_9=abs(F_1);radio_9 =K_9;X9=radio_9 、*sin(tehta) 、*cos(phi);Y9=radio_9 、*sin(tehta) 、*sin(phi);Z9=radio_9 、*cos(tehta);% -------------------------figure(11)surf(X7,Y7,Z7); % 三维绘图函数surf, 采用伪彩色表示曲面的高度camlight right lightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=20,d=1/4 波长,a= n /2'); figure(12)surf(X8,Y8,Z8);camlight rightlightcolorbaraxis imagerotate3D on title('f=3GHz,N=20,d=1/2 波长,a= n /2');figure(13)surf(X9,Y9,Z9)camlight rightlightcolorbaraxis imagerotate3D on title('f=3GHz,N=20,d=0 、7 波长,a= n /2');二、% ------------ 均匀直线阵列天线的应用之一: 边射阵clcclear allf=3e10; %30GH z,厘米波i=1; % 天线电流值lambda=(3e8)/f; %lambda=c/f 波长beta=2、*pi/lambda;N=15;t=0:0 、01:2*pi;d1=lambda/4; %没有栅瓣效应的边射阵,即间隔d<波长W1=beta、*d1 、*cos(t); % 定义kdcos( 方向角) z1=(N/2) 、*W1; z2=(1/2) 、*W1;F1=sin(z1) 、/(N、*sin(z2));K1=abs(F1);d2=lambda*1、5; %有栅瓣现象的边射阵,即间隔d>波长W2=beta、*d2、*cos(t); % 定义kdcos( 方向角)z3=(N/2) 、*W2;z4=(1/2) 、*W2;F2=sin(z3) 、/(N 、*sin(z4));K2=abs(F2);figure(1)subplot(121);polar(t,K1);title('subplot(122);polar(t,K2);title(' 波长');% ------------ 均匀直线阵列天线的应用之二 : 普通端射阵clc clear all f=3e10; %30GHz, 厘米波 i=1; % 天线电流值lambda=(3e8)/f; %lambda=c/f 波长 beta=2 、 *pi/lambda;N=15;t=0:0 、01:2*pi;d1=lambda/4; % 没有栅瓣效应的普通端射阵 , 即间隔 d<1/2 波长W1=beta 、 *d1 、 *cos(t); % 定义 kdcos( 方向角 ) z1=((N/2) 、*W1)+N/2*beta*d1;z2=((1/2) 、 *W1)+1/2*beta*d1;F1=sin(z1) 、/(N 、*sin(z2));K1=abs(F1); d2=lambda*0、7; %有栅瓣现象的普通端射阵 ,即间隔 d>1/2 波长 W2=beta 、 *d2 、 *cos(t); % 定义 kdcos( 方向角 ) z3=((N/2) 、*W2)+N/2*beta*d2;z4=((1/2) 、 *W2)+1/2*beta*d2;F2=sin(z3) 、/(N 、*sin(z4));K2=abs(F2); figure(2) subplot(121);polar(t,K1);title(' 普通端射阵 f=30GHz,N=15,d=1/4 波长 ');subplot(122);polar(t,K2);title(' 普通端射阵 ( 有栅瓣) f=30GHz,N=15,d=0、7倍波长 ');四% ------------ 均匀直线阵列天线的应用之三 : 强方向性端射阵clc clear all f=3e10; %30GHz, 厘米波 i=1; % 天线电流值lambda=(3e8)/f; %lambda=c/f 波长 beta=2 、 *pi/lambda;N=15;t=0:0 、01:2*pi;d1=lambda/4; % 没有栅瓣效应的强方向性端射阵 , 即间隔 d<(1/2 波 长)*(1-1/N)W1=beta 、 *d1 、 *cos(t); % 定义 kdcos( 方向角 ) z1=((N/2) 、*W1)+N/2*(beta*d1+pi/N);z2=((1/2) 、*W1)+1/2*(beta*d1+pi/N);F1=sin(pi/2/N) 、*sin(z1) 、/(sin(z2));K1=abs(F1);d2=lambda*0、5; %有栅瓣现象的强方向性端射阵,即间隔d>1/2波长*(1-1/N) W2=beta 、 *d2、 *cos(t); % 定义 kdcos( 方向角) z3=((N/2) 、 边射阵 f=30GHz,N=15,d=1/4 波长 '); 边射阵(有栅瓣) f=30GHz,N=15,d=1 、5倍*W2)+N/2*(beta*d2+pi/N);z4=((1/2) 、*W2)+1/2*(beta*d2+pi/N);F2=sin(pi/2/N) 、*sin(z3) 、/(sin(z4));K2=abs(F2);figure(3)subplot(121);polar(t,K1);title(' 强方向性端射阵f=30GHz,N=15,d=1/4 波长');subplot(122);polar(t,K2);title(' 强方向性端射阵(有栅瓣)f=30GHz,N=15,d=0、5倍波长');。
MATLAB中V-Blast的ZF和MMSE检测算法仿真代码
MATLAB中V-Blast的ZF和MMSE检测算法仿真代码发送天线m1,接受天线m2,高斯白噪声,ZF时的仿真程序%发射天线数t某,接收天线数r某,发射矩阵长度L(帧长)t某=m1;r 某=m2;L=10000;Modulation='BPSK';EbN0=[0:5:20];B=30000;T=1/24300;%建立EbN0与SNR之间的换算关系SNR=EbN0-10某log10(T某B);%信源AA=randint(t某某L,1);%经过BPSK调制的V-Blat发射矩阵某某=zero(t某,L);fork=1:t某某(k,:)=(-1).^(A(k:t某:end)+1);end%信道传输============================================================%快衰落高斯信道HH=qrt(1/2)某(randn(r某,t某,L));%均值为0方差为1的高斯白噪声nn=qrt(1/2)某(randn(r某,L));%未叠加噪声的接收信号RR=zero(r某,L);fork=1:LR(:,k)=qrt(1/t某)某H(:,:,k)某某(:,k);end%检测%ZF========================================================= =========dip('berz');berz=[];%在不同的信噪比下计算ZF接收机误比特率berzform=SNRm%每个子信道的平均信噪比为nr的接受信号R_noiednr=10^(m/10);R_noied=awgn(R,m,1);某=[];a=zero(t某某L,1);%逐时隙对接收符号矢量进行检测,合并得到一帧发射矩阵某的估计某fort=1:Lr=R_noied(:,t);%迫零矩阵GG=pinv(H(:,:,t));y=G某r;某temp=(y>=0)-(y<0)+0;某=[某,某temp];end%从某求A的估计afork=1:t某a(k:t某:end)=(某(k:t某:end)+1)/2;end%比较A和a计算错值率temp_ber[errbit,temp_ber]=biterr(A,a);berz=[berz,temp_ber];end emilogy(EbN0,berz,'o-r'),gridon某label('Eb/N0(dB)');ylabel('误比特率');title('不同天线配置ZF系统仿真传输特性')te某t(9,0.15,'\\fontize{14}\\color{red}\\fontname{隶书}2某2')holdon发送天线m1,接受天线m2,高斯白噪声,MMSE时的仿真程序%发射天线数t某,接收天线数r某,发射矩阵长度L(帧长)t某=m1;r 某=m2;L=10000;Modulation='BPSK';EbN0=[0:5:20];B=30000;T=1/24300;%建立EbN0与SNR之间的换算关系SNR=EbN0-10某log10(T某B);%信源AA=randint(t某某L,1);%经过BPSK调制的V-Blat发射矩阵某某=zero(t某,L);fork=1:t某某(k,:)=(-1).^(A(k:t某:end)+1);end%信道传输============================================================%快衰落高斯信道HH=qrt(1/2)某(randn(r某,t某,L));%均值为0方差为1的高斯白噪声nn=qrt(1/2)某(randn(r某,L));%未叠加噪声的接收信号RR=zero(r某,L);fork=1:LR(:,k)=qrt(1/t某)某H(:,:,k)某某(:,k);end%检测%MMSE======================================================= ========dip('berz');berz=[];%在不同的信噪比下计算ZF接收机误比特率berzform=SNRm%每个子信道的平均信噪比为nr的接受信号R_noiednr=10^(m/10);R_noied=awgn(R,m,3);某=[];a=zero(t某某L,1);%逐时隙对接收符号矢量进行检测,合并得到一帧发射矩阵某的估计某fort=1:Lr=R_noied(:,t);HH=H(:,:,t);某temp=zero(t某,1);w=inv(HH'某HH+(1/nr)某eye(t某))某HH';y=w某r;某temp=(y>=0)-(y<0)+0;某=[某,某temp];end%从某求A的估计afork=1:t某a(k:t某:end)=(某(k:t某:end)+1)/2;end%比较A和a计算错值率temp_ber[errbit,temp_ber]=biterr(A,a);berz=[berz,temp_ber];end emilogy(EbN0,berz,'o-b'),gridon某label('Eb/N0(dB)');ylabel('误比特率');title('不同天线配置MMSE系统仿真传输性能')te某t(8,0.08,'\\fontize{14}\\color{blue}\\fontname{隶书}1某2')holdon。
(两个辐射单元)偶极子天线阵辐射场图matlab仿真工程电磁场小论文
偶极子天线辐射场图——MATLAB动态仿真【摘要】天线遍布于生活中的每一个角落,为了更好地学习天线,本文对直线天线的简单模型——半波偶极子进行分析。
应用MATLAB这个学习软件,对偶极子天线进行了动态仿真,通过结果分析,很好地符合书本中的实验结论,对抽象的天线理论很好地结合到了实际理解当中。
【关键字】偶极子天线元辐射场MATLAB动态仿真偶极子(dipole)定义:指相距很近的符号相反的一对电荷或“磁荷”。
在电磁学的概念里,有两种偶极子:电偶极子和磁偶极子。
电偶极子是两个分隔一段距离,电量相等,正负相反的电荷。
应用有偶极子天线。
磁偶极子是一圈封闭循环的电流,例如一个有常定电流运行的线圈,称为载流回路。
偶极子的性质可以用它的偶极矩描述。
电偶极矩由负电荷指向正电荷,大小等于正电荷量乘以正负电荷之间的距离。
磁偶极矩的方向,根据右手法则,是大拇指从载流回路的平面指出的方向,而其它拇指则指向电流运行方向,磁偶极矩的大小等于电流乘以线圈面积。
而将两个辐射单元(天线元或者阵元),也就是偶极子,按照一定方式排列的列阵天线,如果排列在直线上,称线阵天线(图一),如果排列在一个平面上,则称为面阵天线。
而这里媒质是线性的,根据线性系统的叠加定理,列阵天线的辐射场就是这两个天线元辐射场的矢量和。
并且适当地各天线元激励电流的大小和相位,就可以得到所需的辐射特性。
从而也很好地讨论由相似天线元组成的线阵天线的方向性。
偶极子天线用来发射和接收固定频率的信号。
虽然在平时的测量中都使用宽带天线,但在场地衰减和天线系数的测量中都需要使用偶极子天线。
SCHWARZBECK 偶极子天线的频率范围由30MHz~4GHz。
其中的VHAP和UHAP是一套精确偶极子天线,特别适用于场地衰减和天线系数的测量。
同时该天线为日本VCCI等标准机构指定的电波暗室和开阔场场地衰减测量等的唯一专用天线。
该天线为众多实验室所采用,作为实验室的天线标准。
垂直天线实际上是一种偶极子天线。
圆形相控阵天线matlab程序
圆形相控阵天线是一种常见的天线布局形式,它能够实现空间波束赋形和指向,适用于雷达、通信和无线电导航等领域。
在本文中,我将从圆形相控阵天线的原理、设计和matlab程序实现三个方面展开详细的讨论。
1. 圆形相控阵天线的原理圆形相控阵天线是由多个单元天线组成的阵列,每个单元天线均具有相位调控能力。
通过调节各个单元天线的相位,可以实现对不同方向的波束进行形成和指向。
在雷达和通信系统中,这种特性可以实现目标探测和数据传输的定向性。
2. 圆形相控阵天线的设计在设计圆形相控阵天线时,需要考虑阵元间的距离、阵元的数量、工作频率和辐射特性等因素。
通过合理的设计,可以实现对特定方向的高增益波束形成,并且抑制其他方向的干扰信号。
还需要考虑相控阵天线的布局方式、控制电路和信号处理算法等方面。
3. 圆形相控阵天线的matlab程序实现借助matlab等仿真工具,可以方便地进行圆形相控阵天线的仿真分析和性能评估。
在编写matlab程序时,需要考虑阵列的结构、波束赋形算法和相位控制策略。
通过调用matlab中的信号处理和天线阵列工具箱,可以快速实现圆形相控阵天线的仿真和性能优化。
总结圆形相控阵天线作为一种重要的天线结构,在雷达、通信和导航等领域具有广泛的应用前景。
通过深入理解其原理和设计方法,以及借助matlab等工具进行仿真分析,可以更好地实现对目标的探测和数据传输。
在未来的研究和应用中,圆形相控阵天线将发挥更加重要的作用。
个人观点在圆形相控阵天线的研究和应用中,我认为需要更加注重对其在多个领域的交叉应用,例如在无人机导航和卫星通信中的应用。
借助人工智能和大数据分析等技术手段,可以进一步提升圆形相控阵天线的性能和应用范围。
通过本文的阐述,我希望读者能够对圆形相控阵天线有一个更加深入和全面的了解,从而促进其在工程技术和科学研究中的应用和发展。
感谢阅读!圆形相控阵天线的原理及其工作原理圆形相控阵天线是由许多具有相位调制能力的单元天线组成的阵列。
手把手教你天线设计——用MATLAB仿真天线方向图
手把手教你天线设计——用MATLAB仿真天线方向图吴正琳天线是一种变换器,它把传输线上传播的导行波,变换成在无界媒介(通常是自由空间)中传播的电磁波,或者进行相反的变换。
在无线电设备中用来发射或接收电磁波的部件。
无线电通信、广播、电视、雷达、导航、电子对抗、遥感、射电天文等工程系统,凡是利用电磁波来传递信息的,都依靠天线来进行工作。
此外,在用电磁波传送能量方面,非信号的能量辐射也需要天线。
一般天线都具有可逆性,即同一副天线既可用作发射天线,也可用作接收天线。
同一天线作为发射或接收的基本特性参数是相同的。
这就是天线的互易定理。
天线的基本单元就是单元天线。
1、单元天线对称振子是一种经典的、迄今为止使用最广泛的天线,单个半波对称振子可简单地单独立地使用或用作为抛物面天线的馈源,也可采用多个半波对称振子组成天线阵。
两臂长度相等的振子叫做对称振子。
每臂长度为四分之一波长、全长为二分之一波长的振子,称半波对称振子。
对称振子是一种经典的、迄今为止使用最广泛的天线,单个半波对称振子可简单地单独立地使用或用作为抛物面天线的馈源,也可采用多个半波对称振子组成天线阵。
两臂长度相等的振子叫做对称振子。
每臂长度为四分之一波长、全长为二分之一波长的振子,称半波对称振子。
1.1用MATLAB画半波振子天线方向图主要是说明一下以下几点:1、在Matlab中的极坐标画图的方法:polar(theta,rho,LineSpec);theta:极坐标坐标系0-2*pirho:满足极坐标的方程LineSpec:画出线的颜色2、在方向图的过程中如果rho不用abs(f),在polar中只能画出正值。
也就是说这时的方向图只剩下一半。
3、半波振子天线方向图归一化方程:Matlab程序:clear alllam=1000;%波长k=2*pi./lam;L=lam/4;%天线臂长theta=0:pi/100:2*pi;f1=1./(1-cos(k*L));f2=(cos(k*L*cos(theta))-cos(k*L))./sin(theta);rho=f1*f2;polar(theta,abs(rho),'b');%极坐标系画图2、线性阵列天线2.1方向图乘积定理阵中第i 个天线单元在远区产生的电场强度为:2(,)ij i i i i ie E K If r πλθϕ-=式中,i K 为第i 个天线单元辐射场强的比例常数,i r 为第i 个天线单元至观察点的距离,(,)i f θϕ为第i 个天线单元的方向图函数,i I 为第i 个天线单元的激励电流,可以表示成为:Bji i i I a e φ-∆=式中,i a 为幅度加权系数,B φ∆为等间距线阵中,相邻单元之间的馈电相位差,亦称阵内相移值。
MATLAB仿真天线阵代码共8页
天线阵代码http://pudn/downloads164/sourcecode/math/detail750575.html一、clcclear allf=3e9;N1=4;N2=8;N3=12;a=pi/2; %馈电相位差i=1; %天线电流值lambda=(3e8)/f; %lambda=c/f 波长d=lambda/2;beta=2.*pi/lambda;W=-2*pi:0.001:2*pi;y1=sin((N1.*W./2))./(N1.*(sin(W./2))); %归一化阵因子y1=abs(y1);r1=max(y1);y2=sin((N2.*W./2))./(N2.*(sin(W./2))); %归一化阵因子y2=abs(y2);r2=max(y2);y3=sin((N3.*W./2))./(N3.*(sin(W./2))); %归一化阵因子y3=abs(y3);r3=max(y3);%归一化阵因子绘图程序,figure(1)subplot(311);plot(W,y1) ; grid on; %绘出N=4等幅等矩阵列的归一化阵因子xlabel('f=3GHz,N=4,d=1/2波长,a=π/2')subplot(312);plot(W,y2) ; grid on; %绘出N=8等幅等矩阵列的归一化阵因子xlabel('f=3GHz,N=8,d=1/2波长,a=π/2')subplot(313);plot(W,y3) ; grid on; %绘出N=12等幅等矩阵列的归一化阵因子xlabel('f=3GHz,N=12,d=1/2波长,a=π/2')%只有参数N改变的天线方向图t=0:0.01:2*pi;W=a+(beta.*d.*cos(t));z1=(N1/2).*(W);z2=(1/2).*(W);W1=sin(z1)./(N1.*sin(z2)); %非归一化的阵因子K1K1=abs(W1);W=a+(beta.*d.*cos(t));z3=(N2/2).*(W);z4=(1/2).*(W);W2=sin(z3)./(N2.*sin(z4)); %非归一化的阵因子K2K2=abs(W2);W=a+(beta.*d.*cos(t));z5=(N3/2).*(W);z6=(1/2).*(W);W3=sin(z5)./(N3.*sin(z6)); %非归一化的阵因子K3K3=abs(W3);%--------------------绘图函数figure(2)subplot(131);polar(t,K1);xlabel('f=3GHz,N=4,d=1/2波长,a=π/2'); subplot(132);polar(t,K2);xlabel('f=3GHz,N=8,d=1/2波长,a=π/2'); subplot(133);polar(t,K3);xlabel('f=3GHz,N=12,d=1/2波长,a=π/2'); %只有阵列单元方向角a改变的天线方向图N4=10;d1=lambda/4;a1=0;a2=pi/2;a3=pi/2+pi/10;A=a1+(beta.*d1.*cos(t));x1=(N4/2).*(A);x2=(1/2).*(A);A1=sin(x1)./(N4.*sin(x2)); %非归一化的阵因子K4K4=abs(A1);B=a2+(beta.*d1.*cos(t));y_1=(N4/2).*(B);y_2=(1/2).*(B);B1=sin(y_1)./(N4.*sin(y_2)); %非归一化的阵因子K5K5=abs(B1);C=a3+(beta.*d1.*cos(t));v1=(N4/2).*(C);v2=(1/2).*(C);C1=sin(v1)./(N4.*sin(v2)); %非归一化的阵因子K6K6=abs(C1);%--------------------------绘图函数figure(3)subplot(131);polar(t,K4);xlabel('f=3GHz,N=10,d=1/4波长,a=0'); subplot(132);polar(t,K5);xlabel('f=3GHz,N=10,d=1/4波长,a=π/2'); subplot(133);polar(t,K6);xlabel('f=3GHz,N=10,d=1/4波长,a=π/2+π/10');%只有阵列单元间隔d改变的天线方向图N5=20;d2=lambda/4;d3=lambda/2;d4=0.7*lambda;a4=pi/2;D=a4+(beta.*d2.*cos(t));p1=(N5/2).*(D);p2=(1/2).*(D);D1=sin(p1)./(N5.*sin(p2)); %非归一化的阵因子K7K7=abs(D1);E=a4+(beta.*d3.*cos(t));q1=(N5/2).*(E);q2=(1/2).*(E);E1=sin(q1)./(N5.*sin(q2)); %非归一化的阵因子K8K8=abs(E1);F=a4+(beta.*d4.*cos(t));r_1=(N5/2).*(F);r_2=(1/2).*(F);F1=sin(r_1)./(N5.*sin(r_2)); %非归一化的阵因子K9K9=abs(F1);%-----------------------绘图函数figure(4)subplot(131);polar(t,K7);xlabel('f=3GHz,N=20,d=1/4波长,a=π/2'); subplot(132);polar(t,K8);xlabel('f=3GHz,N=20,d=1/2波长,a=π/2'); subplot(133);polar(t,K9);xlabel('f=3GHz,N=20,d=0.7波长,a=π/2');%---------------------------------------3D-天线方向图n_tehta = 130; %-------------------- 采样视角点的仰角n_phi = 130; %--------------------采样点的方向角[tehta,phi]=meshgrid(eps:pi./(n_tehta-1):pi,... %meshgrid函数为矩形区域的设定范围是epf<tehta<π 0<phi<2π0:2*pi./(n_phi-1):2*pi) ;t3=tehta;%-------------只有参数N改变的天线方向3D图M=a+(beta.*d.*cos(t3)); %----N1=4;N2=8;N3=12;z_1=(N1/2).*(M);z_2=(1/2).*(M);M1=sin(z_1)./(N1.*sin(z_2)); %非归一化的阵因子K1K_1=abs(M1);radio_1 =K_1;X1=radio_1.*sin(tehta).*cos(phi);Y1=radio_1.*sin(tehta).*sin(phi);Z1=radio_1.*cos(tehta);M=a+(beta.*d.*cos(t3));z_3=(N2/2).*(M);z_4=(1/2).*(M);M2=sin(z_3)./(N2.*sin(z_4)); %非归一化的阵因子K2K_2=abs(M2);radio_2 =K_2;X2=radio_2.*sin(tehta).*cos(phi);Y2=radio_2.*sin(tehta).*sin(phi);Z2=radio_2.*cos(tehta);M=a+(beta.*d.*cos(t3));z_5=(N3/2).*(M);z_6=(1/2).*(M);M3=sin(z_5)./(N3.*sin(z_6)); %非归一化的阵因子K3K_3=abs(M3);radio_3 =K_3;X3=radio_3.*sin(tehta).*cos(phi);Y3=radio_3.*sin(tehta).*sin(phi);Z3=radio_3.*cos(tehta);%------------------------------------3D绘图函数figure(5)surf(X1,Y1,Z1); %三维绘图函数surf,采用伪彩色表示曲面的高度camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=4,d=1/2波长,a=π/2');figure(6)surf(X2,Y2,Z2);camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=8,d=1/2波长,a=π/2');figure(7)surf(X3,Y3,Z3)camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=12,d=1/2波长,a=π/2');%--------------------只有阵列单元方向角a改变的天线方向图N4=10;d1=lambda/4;a1=0;a2=pi/2;a3=pi/2+pi/10;A_3d=a1+(beta.*d1.*cos(t3));x_1=(N4/2).*(A_3d);x_2=(1/2).*(A_3d);A_1=sin(x_1)./(N4.*sin(x_2)); %非归一化的阵因子K4K_4=abs(A_1);radio_4 =K_4;X4=radio_4.*sin(tehta).*cos(phi);Y4=radio_4.*sin(tehta).*sin(phi);Z4=radio_4.*cos(tehta);B_3d=a2+(beta.*d1.*cos(t3));y_1_3d=(N4/2).*(B_3d);y_2_3d=(1/2).*(B_3d);B_1=sin(y_1_3d)./(N4.*sin(y_2_3d)); %非归一化的阵因子K5K_5=abs(B_1);radio_5 =K_5;X5=radio_5.*sin(tehta).*cos(phi);Y5=radio_5.*sin(tehta).*sin(phi);Z5=radio_5.*cos(tehta);C_3d=a3+(beta.*d1.*cos(t3));v_1=(N4/2).*(C_3d);v_2=(1/2).*(C_3d);C_1=sin(v_1)./(N4.*sin(v_2)); %非归一化的阵因子K6K_6=abs(C_1);radio_6 =K_6;X6=radio_6.*sin(tehta).*cos(phi);Y6=radio_6.*sin(tehta).*sin(phi);Z6=radio_6.*cos(tehta);figure(8)surf(X4,Y4,Z4); %三维绘图函数surf,采用伪彩色表示曲面的高度camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=10,d=1/4波长,a=0');figure(9)surf(X5,Y5,Z5);camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=10,d=1/4波长,a=π/2');figure(10)surf(X6,Y6,Z6)camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=10,d=1/4波长,a=π/2+π/10');%-------------------只有阵列单元间隔d改变的天线方向3D图N5=20;d2=lambda/4;d3=lambda/2;d4=0.7*lambda;a4=pi/2;D_3d=a4+(beta.*d2.*cos(t3));p_1=(N5/2).*(D_3d);p_2=(1/2).*(D_3d);D_1=sin(p_1)./(N5.*sin(p_2)); %非归一化的阵因子K7K_7=abs(D_1);radio_7 =K_7;X7=radio_7.*sin(tehta).*cos(phi);Y7=radio_7.*sin(tehta).*sin(phi);Z7=radio_7.*cos(tehta);E_3d=a4+(beta.*d3.*cos(t3));q_1=(N5/2).*(E_3d);q_2=(1/2).*(E_3d);E_1=sin(q_1)./(N5.*sin(q_2)); %非归一化的阵因子K8K_8=abs(E_1);radio_8 =K_8;X8=radio_8.*sin(tehta).*cos(phi);Y8=radio_8.*sin(tehta).*sin(phi);Z8=radio_8.*cos(tehta);F_3d=a4+(beta.*d4.*cos(t3));r_1_3d=(N5/2).*(F_3d);r_2_3d=(1/2).*(F_3d);F_1=sin(r_1_3d)./(N5.*sin(r_2_3d)); %非归一化的阵因子K9K_9=abs(F_1);radio_9 =K_9;X9=radio_9.*sin(tehta).*cos(phi);Y9=radio_9.*sin(tehta).*sin(phi);Z9=radio_9.*cos(tehta);figure(11)surf(X7,Y7,Z7); %三维绘图函数surf,采用伪彩色表示曲面的高度camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=20,d=1/4波长,a=π/2');figure(12)surf(X8,Y8,Z8);camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=20,d=1/2波长,a=π/2');figure(13)surf(X9,Y9,Z9)camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=20,d=0.7波长,a=π/2');二、%-----------------均匀直线阵列天线的应用之一:边射阵clcclear allf=3e10; %30GHz,厘米波i=1; %天线电流值lambda=(3e8)/f; %lambda=c/f 波长beta=2.*pi/lambda;N=15;t=0:0.01:2*pi;d1=lambda/4; %没有栅瓣效应的边射阵,即间隔d<波长W1=beta.*d1.*cos(t); %定义kdcos(方向角)z1=(N/2).*W1;z2=(1/2).*W1;F1=sin(z1)./(N.*sin(z2));K1=abs(F1);d2=lambda*1.5; %有栅瓣现象的边射阵,即间隔d>波长W2=beta.*d2.*cos(t); %定义kdcos(方向角)z3=(N/2).*W2;z4=(1/2).*W2;F2=sin(z3)./(N.*sin(z4));K2=abs(F2);figure(1)subplot(121);polar(t,K1);title('边射阵 f=30GHz,N=15,d=1/4波长'); subplot(122);polar(t,K2);title('边射阵(有栅瓣) f=30GHz,N=15,d=1.5倍波长');三、%-----------------均匀直线阵列天线的应用之二:普通端射阵clcclear allf=3e10; %30GHz,厘米波i=1; %天线电流值lambda=(3e8)/f; %lambda=c/f 波长beta=2.*pi/lambda;N=15;t=0:0.01:2*pi;d1=lambda/4; %没有栅瓣效应的普通端射阵,即间隔d<1/2波长W1=beta.*d1.*cos(t); %定义kdcos(方向角)z1=((N/2).*W1)+N/2*beta*d1;z2=((1/2).*W1)+1/2*beta*d1;F1=sin(z1)./(N.*sin(z2));K1=abs(F1);d2=lambda*0.7; %有栅瓣现象的普通端射阵,即间隔d>1/2波长W2=beta.*d2.*cos(t); %定义kdcos(方向角)z3=((N/2).*W2)+N/2*beta*d2;z4=((1/2).*W2)+1/2*beta*d2;F2=sin(z3)./(N.*sin(z4));K2=abs(F2);figure(2)subplot(121);polar(t,K1);title('普通端射阵 f=30GHz,N=15,d=1/4波长'); subplot(122);polar(t,K2);title('普通端射阵(有栅瓣) f=30GHz,N=15,d=0.7倍波长');四%-----------------均匀直线阵列天线的应用之三:强方向性端射阵clcclear allf=3e10; %30GHz,厘米波i=1; %天线电流值lambda=(3e8)/f; %lambda=c/f 波长beta=2.*pi/lambda;N=15;t=0:0.01:2*pi;d1=lambda/4; %没有栅瓣效应的强方向性端射阵,即间隔d<(1/2波长)*(1-1/N)W1=beta.*d1.*cos(t); %定义kdcos(方向角)z1=((N/2).*W1)+N/2*(beta*d1+pi/N);z2=((1/2).*W1)+1/2*(beta*d1+pi/N);F1=sin(pi/2/N).*sin(z1)./(sin(z2));K1=abs(F1);d2=lambda*0.5; %有栅瓣现象的强方向性端射阵,即间隔d>1/2波长*(1-1/N) W2=beta.*d2.*cos(t); %定义kdcos(方向角)z3=((N/2).*W2)+N/2*(beta*d2+pi/N);z4=((1/2).*W2)+1/2*(beta*d2+pi/N);F2=sin(pi/2/N).*sin(z3)./(sin(z4));K2=abs(F2);figure(3)subplot(121);polar(t,K1);title('强方向性端射阵 f=30GHz,N=15,d=1/4波长');subplot(122);polar(t,K2);title('强方向性端射阵(有栅瓣)f=30GHz,N=15,d=0.5倍波长');。
matlab仿真天线阵代码
matlab仿真天线阵代码天线阵代码tail750575.html一、clcclear allf=3e9;N1=4;N2=8;N3=12;a=pi/2; %馈电相位差i=1; %天线电流值lambda=(3e8)/f; %lambda=c/f 波长d=lambda/2;beta=2.*pi/lambda;W=-2*pi:0.001:2*pi;y1=sin((N1.*W./2))./(N1.*(sin(W./2))); %归一化阵因子y1=abs(y1);r1=max(y1);y2=sin((N2.*W./2))./(N2.*(sin(W./2))); %归一化阵因子y2=abs(y2);r2=max(y2);y3=sin((N3.*W./2))./(N3.*(sin(W./2))); %归一化阵因子y3=abs(y3);r3=max(y3);%归一化阵因子绘图程序,figure(1)subplot(311);plot(W,y1) ; grid on; %绘出N=4等幅等矩阵列的归一化阵因子xlabel('f=3GHz,N=4,d=1/2波长,a=π/2')subplot(312);plot(W,y2) ; grid on; %绘出N=8等幅等矩阵列的归一化阵因子xlabel('f=3GHz,N=8,d=1/2波长,a=π/2')subplot(313);plot(W,y3) ; grid on; %绘出N=12等幅等矩阵列的归一化阵因子xlabel('f=3GHz,N=12,d=1/2波长,a=π/2') %--------------------- %只有参数N改变的天线方向图t=0:0.01:2*pi;W=a+(beta.*d.*cos(t));z1=(N1/2).*(W);z2=(1/2).*(W);W1=sin(z1)./(N1.*sin(z2)); %非归一化的阵因子K1K1=abs(W1);%---------------------- W=a+(beta.*d.*cos(t));z3=(N2/2).*(W);z4=(1/2).*(W);W2=sin(z3)./(N2.*sin(z4)); %非归一化的阵因子K2 K2=abs(W2);%------------------------- W=a+(beta.*d.*cos(t));z5=(N3/2).*(W);z6=(1/2).*(W);W3=sin(z5)./(N3.*sin(z6)); %非归一化的阵因子K3 K3=abs(W3);--------------------绘图函数 %figure(2)subplot(131);polar(t,K1);xlabel('f=3GHz,N=4,d=1/2波长,a=π/2');subplot(132);polar(t,K2);xlabel('f=3GHz,N=8,d=1/2波长,a=π/2');,a=π/2'); subplot(133);polar(t,K3);xlabel('f=3GHz,N=12,d=1/2波长%---------------------- %只有阵列单元方向角a改变的天线方向图N4=10;d1=lambda/4;a1=0;a2=pi/2;a3=pi/2+pi/10;A=a1+(beta.*d1.*cos(t)); x1=(N4/2).*(A);x2=(1/2).*(A);A1=sin(x1)./(N4.*sin(x2)); %非归一化的阵因子K4 K4=abs(A1);%--------------------------- B=a2+(beta.*d1.*cos(t));y_1=(N4/2).*(B);y_2=(1/2).*(B);B1=sin(y_1)./(N4.*sin(y_2)); %非归一化的阵因子K5 K5=abs(B1);%---------------------------- C=a3+(beta.*d1.*cos(t));v1=(N4/2).*(C);v2=(1/2).*(C);C1=sin(v1)./(N4.*sin(v2)); %非归一化的阵因子K6 K6=abs(C1);%--------------------------绘图函数figure(3)subplot(131);polar(t,K4);xlabel('f=3GHz,N=10,d=1/4波长,a=0');subplot(132);polar(t,K5);xlabel('f=3GHz,N=10,d=1/4波长,a=π/2');subplot(133);polar(t,K6);xlabel('f=3GHz,N=10,d=1/4波长,a=π/2+π/10');%----------------------------------------------------------------------%只有阵列单元间隔d改变的天线方向图N5=20;d2=lambda/4;d3=lambda/2;d4=0.7*lambda;a4=pi/2;D=a4+(beta.*d2.*cos(t));p1=(N5/2).*(D);p2=(1/2).*(D);D1=sin(p1)./(N5.*sin(p2)); %非归一化的阵因子K7K7=abs(D1);%------------------------------ E=a4+(beta.*d3.*cos(t));q1=(N5/2).*(E);q2=(1/2).*(E);E1=sin(q1)./(N5.*sin(q2)); %非归一化的阵因子K8K8=abs(E1);%------------------------------- F=a4+(beta.*d4.*cos(t));r_1=(N5/2).*(F);r_2=(1/2).*(F);F1=sin(r_1)./(N5.*sin(r_2)); %非归一化的阵因子K9K9=abs(F1);%-----------------------绘图函数figure(4)subplot(131);polar(t,K7);xlabel('f=3GHz,N=20,d=1/4波长,a=π/2'); subplot(132);polar(t,K8);xlabel('f=3GHz,N=20,d=1/2波长,a=π/2'); subplot(133);polar(t,K9);xlabel('f=3GHz,N=20,d=0.7波长,a=π/2');%--------------------------------------------------------------------------%---------------------------------------3D-天线方向图n_tehta = 130; %-------------------- 采样视角点的仰角n_phi = 130; %--------------------采样点的方向角[tehta,phi]=meshgrid(eps:pi./(n_tehta-1):pi,... %meshgrid函数为矩形区域的设定范围是epf<tehta<π 0<phi<2π0:2*pi./(n_phi-1):2*pi) ;t3=tehta;%-------------只有参数N改变的天线方向3D图M=a+(beta.*d.*cos(t3)); %----N1=4;N2=8;N3=12;z_1=(N1/2).*(M);z_2=(1/2).*(M);M1=sin(z_1)./(N1.*sin(z_2)); %非归一化的阵因子K1K_1=abs(M1);radio_1 =K_1;X1=radio_1.*sin(tehta).*cos(phi);Y1=radio_1.*sin(tehta).*sin(phi);Z1=radio_1.*cos(tehta); %-----------------------------------M=a+(beta.*d.*cos(t3));z_3=(N2/2).*(M);z_4=(1/2).*(M);M2=sin(z_3)./(N2.*sin(z_4)); %非归一化的阵因子K2 K_2=abs(M2);radio_2 =K_2;X2=radio_2.*sin(tehta).*cos(phi);Y2=radio_2.*sin(tehta).*sin(phi);Z2=radio_2.*cos(tehta); ------------------------------------- %M=a+(beta.*d.*cos(t3));z_5=(N3/2).*(M);z_6=(1/2).*(M);M3=sin(z_5)./(N3.*sin(z_6)); %非归一化的阵因子K3 K_3=abs(M3);radio_3 =K_3;X3=radio_3.*sin(tehta).*cos(phi);Y3=radio_3.*sin(tehta).*sin(phi);Z3=radio_3.*cos(tehta); %------------------------------------3D绘图函数 figure(5)surf(X1,Y1,Z1); %三维绘图函数surf,采用伪彩色表示曲面的高度 camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=4,d=1/2波长,a=π/2'); figure(6)surf(X2,Y2,Z2);camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=8,d=1/2波长,a=π/2'); fi gure(7)surf(X3,Y3,Z3)camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=12,d=1/2波长,a=π/2');%----------------------------------------------%--------------------只有阵列单元方向角a改变的天线方向图N4=10;d1=lambda/4;a1=0;a2=pi/2;a3=pi/2+pi/10;A_3d=a1+(beta.*d1.*cos(t3));x_1=(N4/2).*(A_3d);x_2=(1/2).*(A_3d);A_1=sin(x_1)./(N4.*sin(x_2)); %非归一化的阵因子K4K_4=abs(A_1);radio_4 =K_4;X4=radio_4.*sin(tehta).*cos(phi); Y4=radio_4.*sin(tehta).*sin(phi); Z4=radio_4.*cos(tehta);%----------------------------------- B_3d=a2+(beta.*d1.*cos(t3));y_1_3d=(N4/2).*(B_3d);y_2_3d=(1/2).*(B_3d);B_1=sin(y_1_3d)./(N4.*sin(y_2_3d)); %非归一化的阵因子K5 K_5=abs(B_1);radio_5 =K_5;X5=radio_5.*sin(tehta).*cos(phi); Y5=radio_5.*sin(tehta).*sin(phi);Z5=radio_5.*cos(tehta);%------------------------------------ C_3d=a3+(beta.*d1.*cos(t3));v_1=(N4/2).*(C_3d);v_2=(1/2).*(C_3d);C_1=sin(v_1)./(N4.*sin(v_2)); %非归一化的阵因子K6K_6=abs(C_1);radio_6 =K_6;X6=radio_6.*sin(tehta).*cos(phi); Y6=radio_6.*sin(tehta).*sin(phi);Z6=radio_6.*cos(tehta);%----------------------------------- figure(8)surf(X4,Y4,Z4); %三维绘图函数surf,采用伪彩色表示曲面的高度 camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=10,d=1/4波长,a=0');figure(9)surf(X5,Y5,Z5);camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=10,d=1/4波长,a=π/2');figure(10)surf(X6,Y6,Z6)camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=10,d=1/4波长,a=π/2+π/10');%----------------------------------------------------------------只有阵列单元间隔d改变的天线方向3D图 % N5=20;d2=lambda/4;d3=lambda/2;d4=0.7*lambda;a4=pi/2;D_3d=a4+(beta.*d2.*cos(t3)); p_1=(N5/2).*(D_3d);p_2=(1/2).*(D_3d);D_1=sin(p_1)./(N5.*sin(p_2)); %非归一化的阵因子K7K_7=abs(D_1);radio_7 =K_7;X7=radio_7.*sin(tehta).*cos(phi); Y7=radio_7.*sin(tehta).*sin(phi);Z7=radio_7.*cos(tehta);%--------------------------------------- E_3d=a4+(beta.*d3.*cos(t3)); q_1=(N5/2).*(E_3d);q_2=(1/2).*(E_3d);E_1=sin(q_1)./(N5.*sin(q_2)); %非归一化的阵因子K8K_8=abs(E_1);radio_8 =K_8;X8=radio_8.*sin(tehta).*cos(phi); Y8=radio_8.*sin(tehta).*sin(phi);Z8=radio_8.*cos(tehta);%------------------------------------------F_3d=a4+(beta.*d4.*cos(t3)); r_1_3d=(N5/2).*(F_3d);r_2_3d=(1/2).*(F_3d);F_1=sin(r_1_3d)./(N5.*sin(r_2_3d)); %非归一化的阵因子K9 K_9=abs(F_1);radio_9 =K_9;X9=radio_9.*sin(tehta).*cos(phi);Y9=radio_9.*sin(tehta).*sin(phi);Z9=radio_9.*cos(tehta); %-----------------------------------figure(11)surf(X7,Y7,Z7); %三维绘图函数surf,采用伪彩色表示曲面的高度camlight rightlightcolorbaraxis imagerotate3D on,a=π/2'); title('f=3GHz,N=20,d=1/4波长figure(12)surf(X8,Y8,Z8); camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=20,d=1/2波长,a=π/2'); figure(13)surf(X9,Y9,Z9)camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=20,d=0.7波长,a=π/2');二、%-----------------均匀直线阵列天线的应用之一:边射阵 clc clear allf=3e10; %30GHz,厘米波i=1; %天线电流值lambda=(3e8)/f; %lambda=c/f 波长beta=2.*pi/lambda;N=15;t=0:0.01:2*pi;d1=lambda/4; %没有栅瓣效应的边射阵,即间隔d<波长 W1=beta.*d1.*cos(t); %定义kdcos(方向角) z1=(N/2).*W1;z2=(1/2).*W1;F1=sin(z1)./(N.*sin(z2)); K1=abs(F1);d2=lambda*1.5; %有栅瓣现象的边射阵,即间隔d>波长 W2=beta.*d2.*cos(t); %定义kdcos(方向角) z3=(N/2).*W2;z4=(1/2).*W2;F2=sin(z3)./(N.*sin(z4)); K2=abs(F2);figure(1)subplot(121);polar(t,K1);title('边射阵 f=30GHz,N=15,d=1/4波长');subplot(122);polar(t,K2);title('边射阵(有栅瓣) f=30GHz,N=15,d=1.5倍波长');三、%-----------------均匀直线阵列天线的应用之二:普通端射阵 clcclear allf=3e10; %30GHz,厘米波i=1; %天线电流值lambda=(3e8)/f; %lambda=c/f 波长beta=2.*pi/lambda;N=15;t=0:0.01:2*pi;d1=lambda/4; %没有栅瓣效应的普通端射阵,即间隔d<1/2波长W1=beta.*d1.*cos(t); %定义kdcos(方向角)z1=((N/2).*W1)+N/2*beta*d1; z2=((1/2).*W1)+1/2*beta*d1;F1=sin(z1)./(N.*sin(z2)); K1=abs(F1);d2=lambda*0.7; %有栅瓣现象的普通端射阵,即间隔d>1/2波长W2=beta.*d2.*cos(t); %定义kdcos(方向角)z3=((N/2).*W2)+N/2*beta*d2; z4=((1/2).*W2)+1/2*beta*d2;F2=sin(z3)./(N.*sin(z4)); K2=abs(F2);figure(2)subplot(121);polar(t,K1);title('普通端射阵 f=30GHz,N=15,d=1/4波长');subplot(122);polar(t,K2);title('普通端射阵(有栅瓣)f=30GHz,N=15,d=0.7倍波长');四%-----------------均匀直线阵列天线的应用之三:强方向性端射阵 clcclear allf=3e10; %30GHz,厘米波i=1; %天线电流值lambda=(3e8)/f; %lambda=c/f 波长beta=2.*pi/lambda;N=15;t=0:0.01:2*pi;d1=lambda/4; %没有栅瓣效应的强方向性端射阵,即间隔d<(1/2波长)*(1-1/N)W1=beta.*d1.*cos(t); %定义kdcos(方向角)z1=((N/2).*W1)+N/2*(beta*d1+pi/N); z2=((1/2).*W1)+1/2*(beta*d1+pi/N); F1=sin(pi/2/N).*sin(z1)./(sin(z2)); K1=abs(F1);d2=lambda*0.5; %有栅瓣现象的强方向性端射阵,即间隔d>1/2波长*(1-1/N) 方向角) W2=beta.*d2.*cos(t); %定义kdcos(z3=((N/2).*W2)+N/2*(beta*d2+pi/N); z4=((1/2).*W2)+1/2*(beta*d2+pi/N); F2=sin(pi/2/N).*sin(z3)./(sin(z4)); K2=abs(F2);figure(3)subplot(121);polar(t,K1);title('强方向性端射阵 f=30GHz,N=15,d=1/4波长');subplot(122);polar(t,K2);title('强方向性端射阵(有栅瓣)f=30GHz,N=15,d=0.5倍波长');。
matlab无线通信仿真代码
matlab无线通信仿真代码
本文分享了一份基于MATLAB平台的无线通信仿真代码。
该代码包含了常用的调制解调算法、信道模型、编码解码等模块,通过调用这些模块可以实现多种无线通信系统的仿真。
具体来说,该代码可以用于仿真以下几种无线通信系统:
1. 传统的模拟调制系统,包括AM、FM、PM等模式的调制解调。
2. 数字调制系统,包括PSK、QAM、FSK等模式的调制解调。
3. 多径衰落信道模型,包括AWGN信道、瑞利衰落信道、莱斯衰落信道等。
4. 信道编码解码,包括卷积码、Turbo码、LDPC码等。
除此之外,该代码还包含了多个演示程序,可以直观地展示无线通信系统的仿真结果。
这些演示程序涉及到信道容量、误码率、信噪比等指标,可以帮助用户深入理解无线通信系统的性能。
总之,该MATLAB无线通信仿真代码简单易用,功能齐全,可用于学术研究、教学实验、工程应用等多个领域。
- 1 -。
对称阵子天线matlab
方向图clearlamda=10;%自由空间的波长n=1.125;l=n*lamda;k=2*pi/lamda;%自由空间的相移常数theta0=[0.0001:0.1:360];theta=theta0*pi/180;for i=1:length(theta0)fe(i)=abs((cos(k*l*cos(theta(i)))-cos(k*l))/sin(theta(i)));% fh(i)=1-cos(k*l);end% figurepolar(theta,fe/max(fe));xlabel('l=1.125λ');% figure% polar(theta,fh/max(fh));辐射阻抗clearlamda=10;%自由空间的波长n=0.1:0.01:0.9;l=n*lamda;k=2*pi/lamda;%自由空间的相移常数gama=0.5772156;for i=1:length(n)Rr1(i)=sin(2*k*l(i))*(Si(4*k*l(i))-2*Si(2*k*l(i)));Rr2(i)=cos(2*k*l(i))*(gama+log(k*l(i))+Ci(4*k*l(i))-2*Ci(2*k*l(i)));Rr3(i)=2*(gama+log(2*k*l(i))-Ci(2*k));Rr(i)=(Rr1(i)+Rr2(i)+Rr3(i))*30;endplot(n,Rr)阻抗特性clcclearlamda=100;%自由空间的波长n=0.1:0.01:0.9;l=n*lamda;a=[30,300,3000];%l和a的比值k=2*pi/lamda;%自由空间的相移常数gama=0.5772156;for j=1:length(a)for i=1:length(n)Rr1(i)=sin(2*k*l(i))*(Si(4*k*l(i))-2*Si(2*k*l(i)));Rr2(i)=cos(2*k*l(i))*(gama+log(k*l(i))+Ci(4*k*l(i))-2*Ci(2*k*l(i)));Rr3(i)=2*(gama+log(2*k*l(i))-Ci(2*k));Rr(i)=(Rr1(i)+Rr2(i)+Rr3(i))*30;Xr1(i)=2*Si(2*k*l(i));Xr2(i)=sin(2*k*l(i))*(gama+log(k*l(i))+Ci(4*k*l(i))-2*Ci(2*k*l(i))-2*log(a(j)));Xr3(i)=cos(2*k*l(i))*(2*Si(2*k*l(i))-Si(4*k*l(i)));Xr(i,j)=(Xr1(i)+Xr2(i)+Xr3(i))*30;Zca(i)=120*(log(2*(a(j)))-1);afa(i)=Rr(i)/(Zca(i)*l(i)*(1-sin(2*k*l(i))/(2*k*l(i))));Rin(i,j)=Zca(i)*(sinh(2*afa(i)*l(i))-afa(i)/k*sin(2*k*l(i)))/(cosh(2*afa(i)*l(i))-cos(2* k*l(i)));Xin(i,j)=-Zca(i)*(afa(i)/k*sinh(2*afa(i)*l(i))+sin(2*k*l(i)))/(cosh(2*afa(i)*l(i))-cos(2 *k*l(i)));endendfigureplot(n,Rr)%辐射电阻title('辐射电阻随l/λ的变化曲线');xlabel('l/λ');ylabel('Rr (Ω)');figureplot(n,Xr)%辐射电抗title('l/a不同时辐射电抗随l/λ的变化曲线');xlabel('l/λ');ylabel('Xr (Ω)');figureplot(n,Rin)%输入电阻title('不同平均特性阻抗时输入电阻随l/λ的变化曲线');xlabel('l/λ');ylabel('Rin (Ω)');figureplot(n,Xin)%输入电抗title('不同平均特性阻抗时电抗随l/λ的变化曲线');xlabel('l/λ');ylabel('Xin (Ω)');对称阵子clcclearlamda=10;%自由空间的波长n=0.25;l=n*lamda;k=2*pi/lamda;%自由空间的相移常数theta0=[0.0001:0.1:360];theta=theta0*pi/180;for i=1:length(theta0)fe(i)=abs((cos(k*l*cos(theta(i)))-cos(k*l))/sin(theta(i)));fh(i)=1-cos(k*l);endfigurepolar(theta,fe/max(fe));figurepolar(theta,fh);用MATLAB语言编程计算半波对称振子场图,电流分布和输入阻抗n=2*pi;d=n/50+0.001;[x,y] = meshgrid(-n:d:n,-n:d:n);nn=30j=0;M = moviein(nn);for j=1:nnz=(x./sqrt(x.^2+y.^2)).^2.*(...-sin(sqrt(x.^2+y.^2)-j*2*pi/nn)...-cos(sqrt(x.^2+y.^2)-j*2*pi/nn)./sqrt(x.^2+y.^2)...);v=[-1 -0.9 -0.8 -0.75 -0.5 -0.25 -0.1 -0.05 0 0.05 0.1 0.25 0.5 ...0.75 0.8 0.9 1];%v=[ -0.75 -0.5 -0.25 0 0.25 0.5 0.75 ];contour(z,v);%contour(z,30);%colorbaraxis equal%grid onM(:,j) = getframe;endmovie(M,100,10)clear allN = 10;d = 0.5;alpha = 2*pi;dip=[1:N];kd=2*pi*d;phi=[0:2*pi/800.1:2*pi];framemax = 48;M = moviein(framemax);set(gcf,'Position',[100 100 640 480])for n=1:framemaxu=kd*cos(phi)-alpha/framemax*(n-1);F=abs(sin(N.*u./2+N*1e-15)./sin(u./2+1e-15));plot(F.*cos(phi),F.*sin(phi),'r','LineWidth',3);%polar(phi,abs(F));title([ num2str(N),' elements, '...,num2str(d),' \lambda apart'],'fontsize', 18)xlabel(['\alpha=' ,num2str(alpha/framemax*(n-1))],'Color','k','fontsize', 18) hold onplot(N.*cos(phi),N.*sin(phi),'b','LineWidth',2);plot(dip-N/2-0.5,dip*0,'o','linewidth',3)hold offaxis equalM(:,n) = getframe(gcf);endclf resetset(gcf,'Position',[100 100 800 600])axis offmovie(M,1,6)clear allN = 10;d = 0.5;alpha = 2*pi;dip=[1:N];kd=2*pi*d;phi=[0:2*pi/800.1:2*pi];framemax = 48;M = moviein(framemax);set(gcf,'Position',[100 100 640 480])for n=1:framemaxu=kd*cos(phi)-alpha/framemax*(n-1);F=abs(sin(N.*u./2+N*1e-15)./sin(u./2+1e-15));plot(F.*cos(phi),F.*sin(phi),'r','LineWidth',3);%polar(phi,abs(F));title([ num2str(N),' elements, '...,num2str(d),' \lambda apart'],'fontsize', 18)xlabel(['\alpha=' ,num2str(alpha/framemax*(n-1))],'Color','k','fontsize', 18) hold onplot(N.*cos(phi),N.*sin(phi),'b','LineWidth',2);plot(dip-N/2-0.5,dip*0,'o','linewidth',3)hold offaxis equalM(:,n) = getframe(gcf);endclf resetset(gcf,'Position',[100 100 800 600])axis offmovie(M,1,6)clear;clc;range=1/4;point=6;wave_length_value=1;measurement=7.022*(10)^(-3);v0=1;k=(2*pi)/wave_length_value;a=measurement*wave_length_value;l=range*wave_length_value;step=l/(point-1);i_point=1:point; % 测试点赋值matrix_wavelength(i_point)=step*(i_point-1);z=linspace(-l,l,100); % 积分离散for i_point=1:point; % 求解A向量r=((matrix_wavelength(i_point)-z).^2 + a^2).^(1/2); % 场源距离离散g=exp(-j*k*r)./r; % 格林函数离散A(i_point)=trapz(z,sin(k*(1/4-abs(z))).*g); % A元素确定endfor i_point=1:point; % 求解B向量r=((matrix_wavelength(i_point)-z).^2 + a^2).^(1/2); % 场源距离离散g=exp(-j*k*r)./r; % 格林函数离散B(i_point)=trapz(z,sin(2*k*(1/4-abs(z))).*g); % B元素确定endfor i_point=1:point; % 求解C向量r=((matrix_wavelength(i_point)-z).^2 + a^2).^(1/2); % 场源距离离散g=exp(-j*k*r)./r; % 格林函数离散C(i_point)=trapz(z,sin(3*k*(1/4-abs(z))).*g); % B元素确定endfor i_point=1:point; % 求解D向量r=((matrix_wavelength(i_point)-z).^2 + a^2).^(1/2); % 场源距离离散g=exp(-j*k*r)./r; % 格林函数离散D(i_point)=trapz(z,sin(4*k*(1/4-abs(z))).*g); % B元素确定endfor i_point=1:point; % 求解E向量r=((matrix_wavelength(i_point)-z).^2 + a^2).^(1/2); % 场源距离离散g=exp(-j*k*r)./r; % 格林函数离散E(i_point)=trapz(z,sin(5*k*(1/4-abs(z))).*g); % B元素确定endfor i_point=1:point; % 求解F向量F(i_point)=cos(k*matrix_wavelength(i_point)); % B元素确定endimpedance_matrix=[A.',B.',C.',D.',E.',F.']; % 阻抗矩阵确定for i_point=1:point; % 电压矩阵确定voltage_matrix(i_point)=(-j*v0/60)*sin(k*abs(matrix_wavelength(i_point))); % B元素确定end% 求解a1,a2,a3,a4,a5,C_contant;current=impedance_matrix\voltage_matrix';z_distribute=linspace(0,l,100); % 图形表示current_function=current(1,1)*sin(k*(l-abs(z_distribute)))+current(2,1)*sin(2*k*(l-abs(z_distribute)))+current(3,1)*sin(3*k*(l-abs(z_distribute)))+current(4,1)*sin(4*k*(l-abs(z_distribute)))+current(5,1)*s in(5*k*(l-abs(z_distribute)));current_re=real(current_function); % 电流实虚部current_im=imag(current_function);plot(current_re,z_distribute,'r'); % 绘图hold on;plot(current_im,z_distribute,'g');xlabel('current distribution');ylabel('unitary distance')title('antenna current distribution plot'); legend('real current','imag current',2);。
matlab仿真天线辐射图
微波技术与天线作业电工1001,lvypf(12)1、二元阵天线辐射图matlab实现1)matlab程序:theta = 0 : .01*pi : 2*pi; %确定θ的范围phi = 0 : .01*pi : 2*pi; %确定φ的范围f = input('Input f(Ghz)='); %输入频率fc = 3*10^8; %常量clambda = c / (f*10^9); %求波长λk = (2*pi) / lambda; %求系数kd = input('Input d(m)='); %输入距离dzeta = input('Input ζ='); %输入方向系数ζE_theta=abs(cos((pi/2)*cos(theta))/sin(theta))*abs(cos((k*d*sin(theta)+zeta)/2));%二元阵的E面方向图函数H_phi=abs(cos((k*d*cos(phi)+zeta)/2)); %二元阵的H面方向图函数subplot(2,2,1);polar(theta,E_theta);title('F_E_θ')subplot(2,2,2);polar(phi,H_phi);title('F_H_φ');subplot(2,2,3);plot(theta,E_theta);title('F_E_θ');gridxlim([0,2*pi])subplot(2,2,4);plot(phi,H_phi);gridxlim([0,2*pi])title('F_H_φ');2)测试数据生成的图形:a)f=2.4Ghz,d=lambda/2,ζ=0图1,f=2.4Ghz,d=lambda/2,ζ=0b)f=2.4Ghz,d=lambda/2,ζ=pi图2,f=2.4Ghz,d=lambda/2,ζ=pic)f=2.4Ghz,d=lambda/4,ζ=-pi/2图3,f=2.4Ghz,d=lambda/4,ζ=-pi/22、均匀直线阵matlab实现1)matlab程序:phi = 0 : .01*pi : 2*pi; %确定φ的范围f = input('Input f(Ghz)='); %输入频率fc = 3*10^8; %常量clambda = c / (f*10^9); %求波长λk = (2*pi) / lambda; %求系数kd = input('Input d(m)='); %输入距离dzeta = input('Input ζ='); %输入方向系数ζN = input('Input N=');psai = k*d*cos(phi)+zeta;A_psai = abs((sin(N.*psai./2)./sin(psai./2)))./N;polar(theta,A_psai);title('A_ψ')2)测试数据生成的图形:A.边射阵(ζ=0)a)f=2.4Ghz,d=lambda/2,ζ=0,N=3b)f=2.4Ghz,d=lambda/2,ζ=0,N=4d)f=2.4Ghz,d=lambda/2,ζ=0,N=6f)f=2.4Ghz,d=lambda/2,ζ=0,N=8B.端射阵(ζ=0)a)f=2.4Ghz,d=lambda/2,ζ=-k*d,N=3b)f=2.4Ghz,d=lambda/2,ζ=-k*d,N=4c)f=2.4Ghz,d=lambda/2,ζ=-k*d,N=5d)f=2.4Ghz,d=lambda/2,ζ=-k*d,N=6e)f=2.4Ghz,d=lambda/2,ζ=-k*d,N=7f)f=2.4Ghz,d=lambda/2,ζ=-k*d,N=8。
MIMO OFDM MATLAB仿真程序一
: OFDM Simulator (outer function)clear all;A = [1 1/exp(1) 1/exp(2)]; % power delay profileN = 64; % number of symbols in a single OFDM symbolGI = 16; % guard intervalMt = 1; % number of Tx antennasMr = 1; % number of Rx antennassig2 = 1e-3; % noise varianceM = 8; % max constellation bit numberMgap = 10.^(1:(1.7/10):2.7); % gapBtot = 100*Mt; % total # bits per OFDM symbolTransmitIter = 50; % # iterations of symbol transmissions for each channel instance ChannelIter = 100; % # iterations of independent identically distributed channel instances GapIter = length(Mgap);loadloadloadloadloadTotEbNo = [];Errors =[];EbNo = [];for lGap = 1:GapIterlGapgap = Mgap(lGap);totalErrors = 0;for lChan = 1:ChannelIter% create channel[H h_f]=create_channel(Mt, Mr, A, N+GI);% decompose each subchannel in the frequency domain[U S V] = svd_decompose_channel(Mt, Mr, h_f, N);% bitloading[bits_alloc,energy_alloc] = BitLoad(S,Btot,Mt*N,gap,sig2,M);%energy_alloc=energy_alloc/(mean(energy_alloc));%energy_alloc=ones(1,128);for lTrans = 1:TransmitIter% bits to transmitx = (randn(1,Btot)>0);% modulatex_mod = modulate(x,bits_alloc,energy_alloc, s2,s4,s16,s64,s256);% precode modulated signalx_pre = precode(Mt, x_mod, V, N);% ifft, with cyclic prefix for each antennaofdm_symbol =[];for i=1:Mtofdm_symbol = [ofdm_symbol; ifft_cp_tx_blk(x_pre(i:Mt:Mt*(N-1)+i),N,GI)];endofdm_symbol2 = reshape(ofdm_symbol,Mt*(N+GI),1);% channely = transpose(channel(sig2, Mt, Mr, ofdm_symbol2, H, N+GI));% fftrec_symbol =[];for i=1:Mtrec_symbol = [rec_symbol; fft_cp_rx_blk(y(i:Mt:Mt*(N+GI-1)+i),N,GI)];endrec_symbol2 = reshape(rec_symbol,1,Mt*N);% shape received signalshaped_vals = shape(rec_symbol2, Mr, U, N);% demodulatey_demod = demodulate(shaped_vals, bits_alloc, energy_alloc, S, s2,s4,s16,s64,s256, c2,c4,c16,c64,c256); % comparisontotalErrors = totalErrors + sum(xor(y_demod,x));endEbNo = [EbNo sum(energy_alloc)/Btot/sig2];endErrors = [Errors totalErrors/Btot/ChannelIter/TransmitIter]TotEbNo = [TotEbNo mean(EbNo)]EbNo = [];endsemilogx(TotEbNo, Errors);xlabel('Eb/No');ylabel('BER');title('SISO link, adaptive rate and power')save Errors EbNo: Generates a Rayleigh fading frequency-selective channel, parametrized by the antenna configuration, the OFDM configuration, and the power-delay profile.function [H, H_f]=create_channel(Mt, Mr, A, N);% function [H, H_f]=create_channel(Mt, Mr, A, N);%% A - vector containing the power-delay profile (real values)% Mt - number of Tx antennas% Mr - number of Rx antennas% N - number of vector symbols to be sent in a single OFDM symbol Tx% ie: N MIMO transmissions in one OFDM symbol% This is for Rayleigh frequency-selective fading, which assumes complex% Gaussian matrix elements with in-phase and quadrature components independent.% Assume iid matrix channel elements, and further, independent channel taps % define the channel tapsH_int = 1/sqrt(2)*(randn(Mr*length(A),Mt) + j*randn(Mr*length(A),Mt));H_int2=[];for i = 1:length(A)H_int2 = [H_int2;sqrt(A(i))*H_int((i-1)*Mr+1:i*Mr,:)];end%h_f = fft(H_int2',64);%%H = H_int2';H_int2 = [H_int2;zeros((N-length(A))*Mr,Mt)];H_f = zeros(Mr,Mt*(N-16));for i = 1:Mtfor j = 1:Mrh_f = fft(H_int2(j:Mr:(N-16-1)*Mr+j,i));for k = 1:(N-16)H_f(j,i+(k-1)*Mt) = h_f(k);endendendH=[H_int2];for i = 1:N-1H=[H,[zeros(Mr*i,Mt);H_int2(1:(N-i)*Mr,:)]];end: Since full channel knowledge is assumed, transmission is across parallel singular value modes. This function decomposes the channel into these modes.function [U, S, V] = svd_decompose_channel(Mt, Mr, h_f, N);% [U S V] = svd_decompose_channel(Mt, Mr, h_f, N);%% Function decomposes the channel at each subcarrier into its SVD components %% Mt - # Tx antennas% Mr - # Rx antennas% h_f - MIMO impulse response - Mr rows, Mt*L columns, where L is the number of% channel taps% N - # subcarriersU = [];S = [];V = [];for i = 1:N[Utmp Stmp Vtmp] = svd(h_f(:,(i-1)*Mt+1:i*Mt));U=[U Utmp];V=[V Vtmp];S=[S Stmp];endS = sum(S,1);: Apply the bit-loading algorithm to achieve the desired bit and energy allocation for the current channel instance.function [bits_alloc,energy_alloc] =BitLoad(subchan_gains,total_bits,num_subc,gap,noise,M)% Bit Loading Algorithm% ---------------------%% Inputs :% subchan_gains : SubCarrier Gains% total_bits : Total Number of bits% num_subc : Number of Subcarriers% gap : Gap of the system% noise : Noise Power% M : Max Constellation Size% Outputs:% bits_alloc : Bits allocation for each subchannel% power_alloc : Total Power allocation% ---------------------------------------------------------------% Compute SNR's for each channelSNR = ComputeSNR(subchan_gains,noise,gap);% This function just initializes the system with a particular bit% allocation and energy allocation using Chow's Algorithm. This is% further efficientize using Campello's Algorithm[bits_alloc, energy_alloc] = chow_algo(SNR,num_subc,M);% Form the Energy Increment Table based on the present channel% gains for all the subchannels in order to be used by Campello% Algorithmenergytable = EnergyTableInit(SNR,M);% Efficientize the algorithm using the Campello's algorithm[bits_alloc,energy_alloc] =campello_algo(bits_alloc,energy_alloc,energytable,total_bits,num_subc,M );: Given the subcarrier gains, this simple function generates the SNR values of each channel (each singular value on each tone is a separate channel).function SNR = ComputeSNR(subcar_gains,noise,gap)SNR = abs((subcar_gains.^2)./(noise*gap));: Apply Chow's algorithm to generate a particular bit and energy allocation.% Chow's Algorithm% ----------------% This is based on the paper by Chow et al titled%% A Practical Discrete Multitone Transceiver Loading Algorithm% for Data Transmission over Spectrally Shaped Channels.IEEE Trans% on Communications. Vol. 43, No 2/3/4, pp. 773-775, Feb/Mar/Apr 1995 function [bits_alloc, energy_alloc] = chow_algo(SNR,num_subc,M)for i = 1:num_subc% Assuming each of the subchannels has a flat fading, we get initial estimate % of the bits for each subchanneltempbits = log2(1 + abs(SNR(i))); % bits per two dimension. roundtempbits = round(tempbits); % round the bitsif (roundtempbits > 8) % Limit them between 2 and 15 roundtempbits = 8;endif (mod(roundtempbits,2)== 1 & roundtempbits ~= 1)roundtempbits = roundtempbits -1;endif roundtempbits > 0 % Calculate the Energy required for the subchannelenergy_alloc(i) = (2^roundtempbits-1)/SNR(i) ;elseenergy_alloc(i) = 0;endbits_alloc(i) = roundtempbits; % Update the BitSubChan end% end of function: Given the SNR values, form a table of energy increments for each channel.function energytable = EnergyTableInit(SNR,M);% Inputs:% subcar_gains : Subcarrier Gains% M : max Constellation Size% Gap : Gap of the system% Noise : Noise Power% Outputs:% energytable : Energytable%% Based on the Subcarrier Gains, we calculate the energy% increment required by each subcarrier for transmitting% 1,2 ,4 ,6,8 bits.% Energy = 2^(i-1)/subcar_gains;% ------------------------------------------------------%subcar_gains = (subcar_gains.^2)/(Gap*Noise);energytable = abs((1./SNR)'*(2.^([1:M+1]-1)));% Increase the energy value for constellation size of more than M to% a very high value so that it is not assigned.energytable(:,M+1) = Inf*ones(size(energytable(:,M+1)));for i = 3:2:Menergytable(:,i) = (energytable(:,i) +energytable(:,i+1))/2;energytable(:,i+1) = energytable(:,i);end%energytable = [ones(1,size(energytable,1))' energytable];: Apply Campello's algorithm to converge to the optimal bit and energy allocation for the given channel conditions.% --------------% This function is used by Campello's algorithm to allocate bits and energy for% each subchannel optimally.function [bits_alloc, energy_alloc] =campello_algo(bits_alloc,energy_alloc,energytable,total_bits,num_subc,M)bt = sum(bits_alloc);% We can't transmit more than M*(Number of subchannel) bitsif total_bits > M*num_subctotal_bits = M*num_subc;endwhile (bt ~= total_bits)if (bt > total_bits)max_val = 0;max_ind = ceil(rand(1)*num_subc);for i = 1:num_subcif bits_alloc(i) ~= 0temp = energytable(i,bits_alloc(i)) ;elsetemp = 0;endif (temp > max_val)max_val = temp;max_ind = i;endendif (bits_alloc(max_ind) > 0)bits_alloc(max_ind) = bits_alloc(max_ind) -1;energy_alloc(max_ind) = energy_alloc(max_ind) - max_val;bt = bt-1;endelsemin_val = Inf;min_ind = ceil(rand(1)*num_subc);for i = 1:num_subcif bits_alloc(i) ~=0 & bits_alloc(i) <9temp = energytable(i,bits_alloc(i) + 1);elsetemp = Inf;endif (temp < min_val)min_val = temp;min_ind = i;endendif (bits_alloc(min_ind) < 8)bits_alloc(min_ind) = bits_alloc(min_ind) +1;if (min_val==inf)min_val = energytable(min_ind,bits_alloc(min_ind));endenergy_alloc(min_ind) = energy_alloc(min_ind) +min_val;bt = bt+1;endendendfor i = 1:length(bits_alloc)if (mod(bits_alloc(i),2) == 1 & bits_alloc(i) ~=1)[bits_alloc,energy_alloc] =ResolvetheLastBit(bits_alloc,energy_alloc,i,energytable,num_subc);endend: An optimal bit-loading of the last bit requires a unique optimization.function [bits_alloc, energy_alloc] =ResolvetheLastBit(bits_alloc,energy_alloc,index,energytable,num_subc) max_val = 0;for i = 1:num_subcif (i ~= index & bits_alloc(i) == 1)if bits_alloc(i) ~= 0temp = energytable(i,bits_alloc(i)) ;endif (temp > max_val)max_val = temp;max_ind = i;endendendmin_val = Inf;for i = 1:num_subcif (i~= index & bits_alloc(i) == 1)if bits_alloc(i) ~=0temp = energytable(i,bits_alloc(i) + 1);endif (temp < min_val)min_val = temp;min_ind = i;endendendif (min_val < max_val)bits_alloc(min_ind) = bits_alloc(min_ind) + 1;bits_alloc(index) = bits_alloc(index) - 1;energy_alloc(index) = energy_alloc(index) - min_val; elsebits_alloc(max_ind) = bits_alloc(max_ind) - 1;bits_alloc(index) = bits_alloc(index) + 1;energy_alloc(index) = energy_alloc(index) + max_val; end。
阵列天线方向图及其MATLAB仿真
阵列天线方向图及其MATLAB仿真一.实验目的1.了解阵列天线的波束形成原理写出方向图函数2.运用MATLAB仿真阵列天线的方向图曲线3.变换各参量观察曲线变化并分析参量间的关系二.实验原理1.阵列天线:阵列天线是一类由不少于两个天线单元规则或随机排列并通过适当激励获得预定辐射特性的特殊天线。
阵列天线的辐射电磁场是组成该天线阵各单元辐射场的总和—矢量和由于各单元的位置和馈电电流的振幅和相位均可以独立调整,这就使阵列天线具有各种不同的功能,这些功能是单个天线无法实现的。
^2.方向图原理:对于单元数很多的天线阵,用解析方法计算阵的总方向图相当繁杂。
假如一个多元天线阵能分解为几个相同的子阵,则可利用方向图相乘原理比较简单地求出天线阵的总方向图。
一个可分解的多元天线阵的方向图,等于子阵的方向图乘上以子阵为单元阵列天线天线阵的方向图。
这就是方向图相乘原理。
一个复杂的天线阵可考虑多次分解,即先分解成大的子阵,这些子阵再分解为较小的子阵,直至得到单元数很少的简单子阵为止,然后再利用方向图相乘原理求得阵的总方向图。
这种情况适应于单元是无方向性的条件,当单元以相同的取向排列并自身具有非均匀辐射的方向图时,则天线阵的总方向图应等于单元的方向图乘以阵的方向图。
三.源程序及相应的仿真图1.方向图随n变化的源程序clear;sita=-pi/2::pi/2;lamda=;]d=lamda/4;n1=20;beta=2*pi*d*sin(sita)/lamda;z11=(n1/2)*beta;z21=(1/2)*beta;f1=sin(z11)./(n1*sin(z21));F1=abs(f1);figure(1);plot(sita,F1,'b');hold on;n2=25;:beta=2*pi*d*sin(sita)/lamda;z12=(n2/2)*beta;z22=(1/2)*beta;f2=sin(z12)./(n2*sin(z22));F2=abs(f2);plot(sita,F2,'r');hold on;n3=30;beta=2*pi*d*sin(sita)/lamda;z13=(n3/2)*beta;z23=(1/2)*beta;>f3=sin(z13)./(n3*sin(z23));F3=abs(f3);plot(sita,F3,'k')hold off;grid on;xlabel('theta/radian');ylabel('amplitude');title('方向图与阵列个数的关系'); legend('n=20','n=25','n=30');·结果分析:随着阵列个数n的增加,方向图衰减越快,效果越好;2.方向图随lamda变化的源程序clear;sita=-pi/2::pi/2;n=20;d=;lamda1=;beta=2*pi*d*sin(sita)/lamda1;z11=(n/2)*beta;z21=(1/2)*beta;f1=sin(z11)./(n*sin(z21));~F1=abs(f1);%·½ÏòͼÇúÏßfigure(1);lamda2=;beta=2*pi*d*sin(sita)/lamda2;z12=(n/2)*beta;z22=(1/2)*beta;f2=sin(z12)./(n*sin(z22));F2=abs(f2);lamda3=;beta=2*pi*d*sin(sita)/lamda3;z13=(n/2)*beta;,z23=(1/2)*beta;f3=sin(z13)./(n*sin(z23));F3=abs(f3)plot(sita,F1,'b',sita,F2,'r',sita,F3,'k');grid on;xlabel('theta/radian');ylabel('amplitude');title('方向图与波长的关系');legend('lamda=','lamda=','lamda=');四.,随着波长lamda的增大,方向图衰减越慢,收敛性越五.结果分析:不是很好;3.方向图随d变化的源程序clear;sita=-pi/2::pi/2;n=20;lamda=;d1=;beta=2*pi*d1*sin(sita)/lamda;z11=(n/2)*beta;z21=(1/2)*beta;【f1=sin(z11)./(n*sin(z21));F1=abs(f1);%·½ÏòͼÇúÏßfigure(1);plot(sita,F1,'b');hold on;d2=;beta=2*pi*d2*sin(sita)/lamda;z12=(n/2)*beta;z22=(1/2)*beta;f2=sin(z12)./(n*sin(z22));F2=abs(f2);-plot(sita,F2,'r');hold on;d3=;beta=2*pi*d3*sin(sita)/lamda;z13=(n/2)*beta;z23=(1/2)*beta;f3=sin(z13)./(n*sin(z23));F3=abs(f3)plot(sita,F3,'k')hold off;grid on;xlabel('theta/radian');ylabel('amplitude');title('·½ÏòͼÓëÌìÏßÕóÁмä¸ôdµÄ¹Øϵ'); legend('d1=','d=','d=');结果分析;随着阵元之间间隔的增加,方向图衰减越快,主次瓣的差距越大,次瓣衰减越快,效果越好。
MATLAB仿真天线阵代码
天线阵代码一、clcclear allf=3e9;N1=4;N2=8;N3=12;a=pi/2; %馈电相位差i=1; %天线电流值lambda=(3e8)/f; %lambda=c/f 波长d=lambda/2;beta=2、*pi/lambda;W=-2*pi:0、001:2*pi;y1=sin((N1、*W、/2))、/(N1、*(sin(W、/2))); %归一化阵因子y1=abs(y1);r1=max(y1);y2=sin((N2、*W、/2))、/(N2、*(sin(W、/2))); %归一化阵因子y2=abs(y2);r2=max(y2);y3=sin((N3、*W、/2))、/(N3、*(sin(W、/2))); %归一化阵因子y3=abs(y3);r3=max(y3);%归一化阵因子绘图程序,figure(1)subplot(311);plot(W,y1) ; grid on; %绘出N=4等幅等矩阵列的归一化阵因子xlabel('f=3GHz,N=4,d=1/2波长,a=π/2')subplot(312);plot(W,y2) ; grid on; %绘出N=8等幅等矩阵列的归一化阵因子xlabel('f=3GHz,N=8,d=1/2波长,a=π/2')subplot(313);plot(W,y3) ; grid on; %绘出N=12等幅等矩阵列的归一化阵因子xlabel('f=3GHz,N=12,d=1/2波长,a=π/2')%---------------------%只有参数N改变的天线方向图t=0:0、01:2*pi;W=a+(beta、*d、*cos(t));z1=(N1/2)、*(W);z2=(1/2)、*(W);W1=sin(z1)、/(N1、*sin(z2)); %非归一化的阵因子K1K1=abs(W1);%----------------------W=a+(beta、*d、*cos(t));z3=(N2/2)、*(W);z4=(1/2)、*(W);W2=sin(z3)、/(N2、*sin(z4)); %非归一化的阵因子K2K2=abs(W2);%-------------------------W=a+(beta、*d、*cos(t));z5=(N3/2)、*(W);z6=(1/2)、*(W);W3=sin(z5)、/(N3、*sin(z6)); %非归一化的阵因子K3K3=abs(W3);%--------------------绘图函数figure(2)subplot(131);polar(t,K1);xlabel('f=3GHz,N=4,d=1/2波长,a=π/2'); subplot(132);polar(t,K2);xlabel('f=3GHz,N=8,d=1/2波长,a=π/2'); subplot(133);polar(t,K3);xlabel('f=3GHz,N=12,d=1/2波长,a=π/2');%----------------------%只有阵列单元方向角a改变的天线方向图N4=10;d1=lambda/4;a1=0;a2=pi/2;a3=pi/2+pi/10;A=a1+(beta、*d1、*cos(t));x1=(N4/2)、*(A);x2=(1/2)、*(A);A1=sin(x1)、/(N4、*sin(x2)); %非归一化的阵因子K4K4=abs(A1);%---------------------------B=a2+(beta、*d1、*cos(t));y_1=(N4/2)、*(B);y_2=(1/2)、*(B);B1=sin(y_1)、/(N4、*sin(y_2)); %非归一化的阵因子K5K5=abs(B1);%----------------------------C=a3+(beta、*d1、*cos(t));v1=(N4/2)、*(C);v2=(1/2)、*(C);C1=sin(v1)、/(N4、*sin(v2)); %非归一化的阵因子K6K6=abs(C1);%--------------------------绘图函数figure(3)subplot(131);polar(t,K4);xlabel('f=3GHz,N=10,d=1/4波长,a=0'); subplot(132);polar(t,K5);xlabel('f=3GHz,N=10,d=1/4波长,a=π/2'); subplot(133);polar(t,K6);xlabel('f=3GHz,N=10,d=1/4波长,a=π/2+π/10');%----------------------------------------------------------------------%只有阵列单元间隔d改变的天线方向图N5=20;d2=lambda/4;d3=lambda/2;d4=0、7*lambda;a4=pi/2;D=a4+(beta、*d2、*cos(t));p1=(N5/2)、*(D);p2=(1/2)、*(D);D1=sin(p1)、/(N5、*sin(p2)); %非归一化的阵因子K7K7=abs(D1);%------------------------------E=a4+(beta、*d3、*cos(t));q1=(N5/2)、*(E);q2=(1/2)、*(E);E1=sin(q1)、/(N5、*sin(q2)); %非归一化的阵因子K8K8=abs(E1);%-------------------------------F=a4+(beta、*d4、*cos(t));r_1=(N5/2)、*(F);r_2=(1/2)、*(F);F1=sin(r_1)、/(N5、*sin(r_2)); %非归一化的阵因子K9K9=abs(F1);%-----------------------绘图函数figure(4)subplot(131);polar(t,K7);xlabel('f=3GHz,N=20,d=1/4波长,a=π/2'); subplot(132);polar(t,K8);xlabel('f=3GHz,N=20,d=1/2波长,a=π/2'); subplot(133);polar(t,K9);xlabel('f=3GHz,N=20,d=0、7波长,a=π/2');%--------------------------------------------------------------------------%---------------------------------------3D-天线方向图n_tehta = 130; %-------------------- 采样视角点的仰角n_phi = 130; %--------------------采样点的方向角[tehta,phi]=meshgrid(eps:pi、/(n_tehta-1):pi,、、、 %meshgrid函数为矩形区域的设定范围就是epf<tehta<π 0<phi<2π0:2*pi、/(n_phi-1):2*pi) ;t3=tehta;%-------------只有参数N改变的天线方向3D图M=a+(beta、*d、*cos(t3)); %----N1=4;N2=8;N3=12;z_1=(N1/2)、*(M);z_2=(1/2)、*(M);M1=sin(z_1)、/(N1、*sin(z_2)); %非归一化的阵因子K1K_1=abs(M1);radio_1 =K_1;X1=radio_1、*sin(tehta)、*cos(phi);Y1=radio_1、*sin(tehta)、*sin(phi);Z1=radio_1、*cos(tehta);%-----------------------------------M=a+(beta、*d、*cos(t3));z_3=(N2/2)、*(M);z_4=(1/2)、*(M);M2=sin(z_3)、/(N2、*sin(z_4)); %非归一化的阵因子K2K_2=abs(M2);radio_2 =K_2;X2=radio_2、*sin(tehta)、*cos(phi);Y2=radio_2、*sin(tehta)、*sin(phi);Z2=radio_2、*cos(tehta);%-------------------------------------M=a+(beta、*d、*cos(t3));z_5=(N3/2)、*(M);z_6=(1/2)、*(M);M3=sin(z_5)、/(N3、*sin(z_6)); %非归一化的阵因子K3K_3=abs(M3);radio_3 =K_3;X3=radio_3、*sin(tehta)、*cos(phi);Y3=radio_3、*sin(tehta)、*sin(phi);Z3=radio_3、*cos(tehta);%------------------------------------3D绘图函数figure(5)surf(X1,Y1,Z1); %三维绘图函数surf,采用伪彩色表示曲面的高度camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=4,d=1/2波长,a=π/2');figure(6)surf(X2,Y2,Z2);camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=8,d=1/2波长,a=π/2');figure(7)surf(X3,Y3,Z3)camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=12,d=1/2波长,a=π/2');%----------------------------------------------%--------------------只有阵列单元方向角a改变的天线方向图N4=10;d1=lambda/4;a1=0;a2=pi/2;a3=pi/2+pi/10;A_3d=a1+(beta、*d1、*cos(t3));x_1=(N4/2)、*(A_3d);x_2=(1/2)、*(A_3d);A_1=sin(x_1)、/(N4、*sin(x_2)); %非归一化的阵因子K4K_4=abs(A_1);radio_4 =K_4;X4=radio_4、*sin(tehta)、*cos(phi);Y4=radio_4、*sin(tehta)、*sin(phi);Z4=radio_4、*cos(tehta);%-----------------------------------B_3d=a2+(beta、*d1、*cos(t3));y_1_3d=(N4/2)、*(B_3d);y_2_3d=(1/2)、*(B_3d);B_1=sin(y_1_3d)、/(N4、*sin(y_2_3d)); %非归一化的阵因子K5 K_5=abs(B_1);radio_5 =K_5;X5=radio_5、*sin(tehta)、*cos(phi);Y5=radio_5、*sin(tehta)、*sin(phi);Z5=radio_5、*cos(tehta);%------------------------------------C_3d=a3+(beta、*d1、*cos(t3));v_1=(N4/2)、*(C_3d);v_2=(1/2)、*(C_3d);C_1=sin(v_1)、/(N4、*sin(v_2)); %非归一化的阵因子K6K_6=abs(C_1);radio_6 =K_6;X6=radio_6、*sin(tehta)、*cos(phi);Y6=radio_6、*sin(tehta)、*sin(phi);Z6=radio_6、*cos(tehta);%-----------------------------------figure(8)surf(X4,Y4,Z4); %三维绘图函数surf,采用伪彩色表示曲面的高度camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=10,d=1/4波长,a=0');figure(9)surf(X5,Y5,Z5);camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=10,d=1/4波长,a=π/2');figure(10)surf(X6,Y6,Z6)camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=10,d=1/4波长,a=π/2+π/10');%---------------------------------------------%-------------------只有阵列单元间隔d改变的天线方向3D图N5=20;d2=lambda/4;d3=lambda/2;d4=0、7*lambda;a4=pi/2;D_3d=a4+(beta、*d2、*cos(t3));p_1=(N5/2)、*(D_3d);p_2=(1/2)、*(D_3d);D_1=sin(p_1)、/(N5、*sin(p_2)); %非归一化的阵因子K7K_7=abs(D_1);radio_7 =K_7;X7=radio_7、*sin(tehta)、*cos(phi);Y7=radio_7、*sin(tehta)、*sin(phi);Z7=radio_7、*cos(tehta);%---------------------------------------E_3d=a4+(beta、*d3、*cos(t3));q_1=(N5/2)、*(E_3d);q_2=(1/2)、*(E_3d);E_1=sin(q_1)、/(N5、*sin(q_2)); %非归一化的阵因子K8K_8=abs(E_1);radio_8 =K_8;X8=radio_8、*sin(tehta)、*cos(phi);Y8=radio_8、*sin(tehta)、*sin(phi);Z8=radio_8、*cos(tehta);%------------------------------------------F_3d=a4+(beta、*d4、*cos(t3));r_1_3d=(N5/2)、*(F_3d);r_2_3d=(1/2)、*(F_3d);F_1=sin(r_1_3d)、/(N5、*sin(r_2_3d)); %非归一化的阵因子K9 K_9=abs(F_1);radio_9 =K_9;X9=radio_9、*sin(tehta)、*cos(phi);Y9=radio_9、*sin(tehta)、*sin(phi);Z9=radio_9、*cos(tehta);%-----------------------------------figure(11)surf(X7,Y7,Z7); %三维绘图函数surf,采用伪彩色表示曲面的高度camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=20,d=1/4波长,a=π/2');figure(12)surf(X8,Y8,Z8);camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=20,d=1/2波长,a=π/2');figure(13)surf(X9,Y9,Z9)camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=20,d=0、7波长,a=π/2');二、%-----------------均匀直线阵列天线的应用之一:边射阵clcclear allf=3e10; %30GHz,厘米波i=1; %天线电流值lambda=(3e8)/f; %lambda=c/f 波长beta=2、*pi/lambda;N=15;t=0:0、01:2*pi;d1=lambda/4; %没有栅瓣效应的边射阵,即间隔d<波长W1=beta、*d1、*cos(t); %定义kdcos(方向角)z1=(N/2)、*W1;z2=(1/2)、*W1;F1=sin(z1)、/(N、*sin(z2));K1=abs(F1);d2=lambda*1、5; %有栅瓣现象的边射阵,即间隔d>波长W2=beta、*d2、*cos(t); %定义kdcos(方向角)z3=(N/2)、*W2;z4=(1/2)、*W2;F2=sin(z3)、/(N、*sin(z4));K2=abs(F2);figure(1)subplot(121);polar(t,K1);title('边射阵 f=30GHz,N=15,d=1/4波长'); subplot(122);polar(t,K2);title('边射阵(有栅瓣) f=30GHz,N=15,d=1、5倍波长');三、%-----------------均匀直线阵列天线的应用之二:普通端射阵clcclear allf=3e10; %30GHz,厘米波i=1; %天线电流值lambda=(3e8)/f; %lambda=c/f 波长beta=2、*pi/lambda;N=15;t=0:0、01:2*pi;d1=lambda/4; %没有栅瓣效应的普通端射阵,即间隔d<1/2波长W1=beta、*d1、*cos(t); %定义kdcos(方向角)z1=((N/2)、*W1)+N/2*beta*d1;z2=((1/2)、*W1)+1/2*beta*d1;F1=sin(z1)、/(N、*sin(z2));K1=abs(F1);d2=lambda*0、7; %有栅瓣现象的普通端射阵,即间隔d>1/2波长W2=beta、*d2、*cos(t); %定义kdcos(方向角)z3=((N/2)、*W2)+N/2*beta*d2;z4=((1/2)、*W2)+1/2*beta*d2;F2=sin(z3)、/(N、*sin(z4));K2=abs(F2);figure(2)subplot(121);polar(t,K1);title('普通端射阵 f=30GHz,N=15,d=1/4波长'); subplot(122);polar(t,K2);title('普通端射阵(有栅瓣) f=30GHz,N=15,d=0、7倍波长');四%-----------------均匀直线阵列天线的应用之三:强方向性端射阵clcclear allf=3e10; %30GHz,厘米波i=1; %天线电流值lambda=(3e8)/f; %lambda=c/f 波长beta=2、*pi/lambda;N=15;t=0:0、01:2*pi;d1=lambda/4; %没有栅瓣效应的强方向性端射阵,即间隔d<(1/2波长)*(1-1/N)W1=beta、*d1、*cos(t); %定义kdcos(方向角)z1=((N/2)、*W1)+N/2*(beta*d1+pi/N);z2=((1/2)、*W1)+1/2*(beta*d1+pi/N);F1=sin(pi/2/N)、*sin(z1)、/(sin(z2));K1=abs(F1);d2=lambda*0、5; %有栅瓣现象的强方向性端射阵,即间隔d>1/2波长*(1-1/N) W2=beta、*d2、*cos(t); %定义kdcos(方向角)z3=((N/2)、*W2)+N/2*(beta*d2+pi/N);z4=((1/2)、*W2)+1/2*(beta*d2+pi/N);F2=sin(pi/2/N)、*sin(z3)、/(sin(z4));K2=abs(F2);figure(3)subplot(121);polar(t,K1);title('强方向性端射阵 f=30GHz,N=15,d=1/4波长');subplot(122);polar(t,K2);title('强方向性端射阵(有栅瓣)f=30GHz,N=15,d=0、5倍波长');。
基于LabVIEW和MATLAB联合编程的天线仿真实验程序设计
摘要摘要天线作为无线电信号收发设备,被广泛用于通信、智能控制系统、机器人控制系统中。
而天线与微波技术作为信息类专业的一门重要课程,有课程难度大、公式多、概念抽象等特点。
而传统天线与微波技术教学偏于理论性,缺乏互动及难点问题的图形化演示,不利于学生对抽象概念的理解。
MATLAB具有强大的计算功能,常用在通信系统仿真、图像处理、电磁场数值仿真等研究中;LabVIEW软件可进行可视化图形界面实时编程,常用于硬件的连接和界面的设计,有图形化仪表界面的优势。
LabVIEW中的MATLAB Script等模块可调用MATLAB程序及函数。
因此本文借助LabVIEW与MATLAB,搭建了一个天线仿真平台。
该仿真平台包含了常见线天线、面天线、环天线、阵列天线的仿真实验。
在每个天线的实验界面可以自由输入振子电长度、阵元间距、激励电流相位差、等基本天线参数,得到天线的二维方向图、三维方向图、增益变化关系图等结果。
针对在线实验的需求,利用LabVIEW实现了Web发布,并结合VNN (Virtual Native Network,虚拟局域网)技术实现了在不同网段的访问。
论文第一章为绪论,第二章介绍了搭建平台所运用到的主要技术,第三章介绍了平台用户界面及实现过程,第四章结合天线理论进行了实践操作,达到了预期的实验结果。
实践证明,基于LabVIEW与MATLAB联合编程的天线仿真实验平台的搭建提升了天线与微波技术课程交互性,能够加强学生对天线课程难点及抽象性问题的理解与认知。
总之,论文结合MATLAB函数计算功能和LabVIEW图形化界面的优势,建立在线天线仿真实验平台,对提升微波与天线课程的教学演示效果和交互性具有实际意义。
关键词:天线;LabVIEW;MATLAB;Web发布;实验平台。
AbstractAbstractAs a radio signal transceiver, antenna is widely used in communication、Intelligent Control Technology and robot Control Technology. Antenna and microwave technology are important course for students in the field of electronic communication, having many characteristics such as difficult, multifarious formulas, Conceptual abstraction.However, the teaching of traditional antenna and microwave technology is theoretical, lack of graphical demonstration of interactive and interaction, which is not conducive to students' understanding of abstract concepts.MATLAB software has powerful calculation function, Commonly used in communication system simulation, image processing, electromagnetic field numerical simulation and other research; LabVIEW software has real-time graphical interface programming, which is often used for hardware connection and interface design. Modules such as MATLAB Script in LabVIEW can call MATLAB programs and functions. So an antenna co-simulation system had been set up by using LabVIEW and MATLAB programming in this thesis.The simulation platform includes the simulation experiment of common linear antenna, plane antenna, loop antenna and array antenna. It can be arbitrarily input vibrator electric length, array element spacing, current phase difference and other basic antenna parameters at each antenna experimental interface, and get many experimental result such as the antenna pattern of 2D and 3D, antenna gain diagram. According to the requirements of online experiment, using LabVIEW to implement the Web publishing, and combining the VNN (Virtual Native Network) technology to realize the access of different Network segments. The first chapter of this thesis is prolegomenon, The second chapter introduces the main technologies which is used in building platform; the third chapter introduces the platform design and the implemental process; the fourth chapter combined antenna theory in the practice operation and achieved the desired results.Practice has proved that antenna simulation experiment platform based on LabVIEW and MATLABAbstractprogramming can p romote the antenna and microwave technology course’s interactivity, strengthing student's understanding of antenna course.In summary, an online antenna simulation platform is established with the advantages of MATLAB calculate function and LabVIEW graphical interface in this thesis, it is of practical significance to enhance the teaching demonstration effect and interactivity of microwave and antenna courses.Key words:Antenna; LabVIEW; MATLAB; Web Publishing;Experimental Platform.目录目录摘要 (I)Abstract (III)目录 (V)第一章绪论 (1)1.1 研究背景及意义 (1)1.2 在线实验研究现状及发展趋势 (2)1.2.1国内外研究现状 (2)1.2.2特点与发展趋势 (4)1.3 本文主要工作及结构 (5)第二章实验平台技术 (7)2.1 虚拟仪器技术 (7)2.1.1 虚拟仪器的概念 (7)2.1.2 虚拟仪器的组成 (7)2.2 LabVIEW开发技术 (8)2.2.1 LabVIEW开发环境 (8)2.2.2 LabVIEW 创建虚拟仪器程序的步骤 (9)2.2.3 LabVIEW开发平台的特点 (9)2.3 联合编程技术 (9)第三章实验平台用户界面及设计 (11)3.1 总体用户界面及设计 (11)3.2 各天线仿真模块用户界面及设计 (13)3.3.1 电基本振子界面与设计 (13)3.3.2 对称振子界面与设计 (15)3.3.3 高斯曲线振子界面与设计 (17)3.3.4 方向图的乘积定理界面与设计 (18)云南大学专业硕士学位论文3.3.5 均匀直线阵界面与设计 (19)3.3.6 非均匀直线阵界面与设计 (20)3.3.7 相控阵天线界面与设计 (21)3.3.8 平面阵天线界面与设计 (22)3.3.9 圆阵天线界面与设计 (23)3.3.10 双极天线界面与设计 (25)3.3.11 旋转场天线界面与设计 (26)3.3.12 直立天线界面与设计 (28)3.3.13 环天线界面与设计 (29)3.3.14 行波天线界面与设计 (30)3.3.15 平面口径天线界面与设计 (31)3.3.16 喇叭天线界面与设计 (32)3.3.17 抛物面天线界面与设计 (33)3.3 本章总结 (34)第四章天线仿真实验及网络发布 (35)4.1 天线仿真实验 (35)4.1.1 电基本振子仿真实验 (35)4.1.2 对称振子仿真实验 (37)4.1.3 高斯曲线振子仿真实验 (40)4.1.4 方向图乘积定理仿真实验 (42)4.1.5 均匀直线阵仿真实验 (46)4.1.6 非均匀直线阵仿真实验 (47)4.1.7 相控阵天线仿真实验 (49)4.1.8 平面阵天线仿真实验 (50)4.1.9 圆阵天线仿真实验 (52)4.1.10 双极天线仿真实验 (54)4.1.11 旋转场天线仿真实验 (55)4.1.12 直立天线仿真实验 (57)目录4.1.13 环天线仿真实验 (59)4.1.14 行波天线仿真实验 (60)4.1.15 平面口径天线仿真实验 (63)4.1.16 喇叭天线仿真实验 (65)4.1.17 抛物面天线仿真实验 (66)4.2 实验平台的网络发布 (68)4.3 本章总结 (72)第五章总结与展望 (73)参考文献 (75)攻读硕士学位期间完成的科研成果 (79)致谢 (81)第一章绪论第一章绪论1.1 研究背景及意义2018年政府工作计划里明确阐明要继续深入推进“互联网+”发展,施与严谨督查,推动云计算的普及、大数据的畅通、物联网的广泛应用[1]。
14元阵列天线方向图及其MATLAB仿真
阵列天线方向图及其MATLAB 仿真1设计目的1.了解阵列天线的波束形成原理写出方向图函数2.运用MATLAB 仿真阵列天线的方向图曲线3.变换各参量观察曲线变化并分析参量间的关系2设计原理阵列天线:阵列天线是一类由不少于两个天线单元规则或随机排列并通过适当激励获得预定辐射特性的特殊天线。
阵列天线的辐射电磁场是组成该天线阵各单元辐射场的总和—矢量和由于各单元的位置和馈电电流的振幅和相位均可以独立调整,这就使阵列天线具有各种不同的功能,这些功能是单个天线无法实现的。
在本次设计中,讨论的是均匀直线阵天线。
均匀直线阵是等间距,各振源电流幅度相等,而相位依次递增或递减的直线阵。
均匀直线阵的方向图函数依据方向图乘积定理,等于元因子和阵因子的乘积。
二元阵辐射场:式中: 类似二元阵的分析,可以得到N 元均匀直线振的辐射场:令 ,可得到H 平面的归一化方向图函数,即阵因子的方向函数:式中:ζφθψ+=cos sin kd均匀直线阵最大值发生在0=ψ 处。
由此可以得出])[,(212121ζθθθϕθj jkr jkr m e r e r e F E E E E --+=+=12cos ),(21jkrm e F r E E -=ψϕθθζφθψ+=cos sin kd ∑-=+-=1)cos sin (),(N i kd ji jkrme erF E E ζϕθθϕθ2πθ=)2/sin()2/sin(1)(ψψψN N A =kdm ζϕ-=cos这里有两种情况最为重要。
1.边射阵,即最大辐射方向垂直于阵轴方向,此时 ,在垂直于阵轴的方向上,各元观察点没有波程差,所以各元电流不需要有相位差。
2.端射振,计最大辐射方向在阵轴方向上,此时0=mϕ或π,也就是说阵的各元电流沿阵轴方向依次超前或滞后kd 。
3设计过程本次设计的天线为14元均匀直线阵天线,天线的参数为:d=λ/2,N=14相位滞后的端射振天线。
基于MATLAB 可实现天线阵二维方向图和三维方向图的图形分析。
Matlab仿真4天线准正交空时编码结合波束形成
clcclear allSNR_dB=0:5:25;len=length(SNR_dB);for i=1:1:lenSNR_dB(i)P(i)=qostbc(SNR_dB(i));endsemilogy(SNR_dB,P,'*')xlabel('SNR/dB');ylabel('BER');grid on%------------------------------------------------------------------------function Pb=qostbc(SNR_dB)%------------------------------------------------------------------------%星座映射采用的是QPSK映射% SNR_dB 接收天线上的接收信噪比,在仿真的过程中把接收信号的功率归一化为1 % Pb是误比特率%-------------------------------------------------------------------------SNR=10^(SNR_dB/10);Cons=sqrt(1/2)*[1+j -1+j -1-j 1-j]; % QPSK星座E=1; %接收端的信号功率No=E/(SNR);%高斯白噪声的功率谱密度Frame=100000;ErrorNum=0;for i=1:1:Frametemp=rand(1);if (temp<0.25)x1=Cons((temp<0.25));elseif (temp<0.5)x1=Cons((temp<0.5)+1);elseif (temp<0.75)x1=Cons((temp<0.75)+2); elsex1=Cons((temp<1)+3); endendendtemp=rand(1);if (temp<0.25)x2=Cons((temp<0.25)); elseif (temp<0.5)x2=Cons((temp<0.5)+1); elseif (temp<0.75)x2=Cons((temp<0.75)+2);elsex2=Cons((temp<1)+3); endendendtemp=rand(1);if (temp<0.25)x3=Cons((temp<0.25)); elseif (temp<0.5)x3=Cons((temp<0.5)+1); elseif (temp<0.75)x3=Cons((temp<0.75)+2); elsex3=Cons((temp<1)+3); endendendtemp=rand(1);if (temp<0.25)x4=Cons((temp<0.25)); elseif (temp<0.5)x4=Cons((temp<0.5)+1); elseif (temp<0.75)x4=Cons((temp<0.75)+2); elsex4=Cons((temp<1)+3); endendendX=[x1 x2 x3 x4;-conj(x2) conj(x1) -conj(x4) conj(x3);-conj(x3) -conj(x4) conj(x1) conj(x2);x4 -x3 -x2 x1]; % 进行空时编码h1=sqrt(1/2)*(randn(1)+j*randn(1)); % 产生信道h2=sqrt(1/2)*(randn(1)+j*randn(1));h3=sqrt(1/2)*(randn(1)+j*randn(1));h4=sqrt(1/2)*(randn(1)+j*randn(1));H=[h1;h2;h3;h4];N=sqrt(No/2)*(randn(4,1)+j*randn(4,1));%接收端的噪声bf1=sqrt(1/16)*[1;exp(j*pi*sin(0.1*pi));exp(j*2*pi*sin(0.1*pi));exp (j*3*pi*sin(0.1*pi));exp(j*4*pi*sin(0.1*pi));exp(j*5*pi*sin(0.1*pi));exp(j*6*pi*sin(0.1*pi));exp(j*7 *pi*sin(0.1*pi))]'*h1*[1;exp(j*pi*sin(0.1*pi));exp(j*2*pi*sin(0.1*pi));exp(j*3*pi*sin(0.1*pi));ex p(j*4*pi*sin(0.1*pi));exp(j*5*pi*sin(0.1*pi));exp(j*6*pi*sin(0.1*pi));exp(j*7*pi*sin(0.1*pi))];bf2=sqrt(1/16)*[1;exp(j*pi*sin(0.2*pi));exp(j*2*pi*sin(0.2*pi));exp (j*3*pi*sin(0.2*pi));exp(j*4*pi*sin(0.2*pi));exp(j*5*pi*sin(0.2*pi));exp(j*6*pi*sin(0.2*pi));exp(j*7 *pi*sin(0.2*pi))]'*h2*[1;exp(j*pi*sin(0.2*pi));exp(j*2*pi*sin(0.2*pi));exp(j*3*pi*sin(0.2*pi));ex p(j*4*pi*sin(0.2*pi));exp(j*5*pi*sin(0.2*pi));exp(j*6*pi*sin(0.2*pi));exp(j*7*pi*sin(0.2*pi))];bf3=sqrt(1/16)*[1;exp(j*pi*sin(0.8*pi));exp(j*2*pi*sin(0.8*pi));exp (j*3*pi*sin(0.8*pi));exp(j*4*pi*sin(0.8*pi));exp(j*5*pi*sin(0.8*pi));exp(j*6*pi*sin(0.8*pi));exp(j*7 *pi*sin(0.8*pi))]'*h3*[1;。
matlab天线超表面代码
matlab天线超表面代码以下是一个示例的MATLAB代码,用于模拟天线超表面的工作原理:matlab.% 定义超表面参数。
n = 10; % 超表面单元格的行数和列数。
a = 0.5; % 超表面单元格的边长。
lambda = 1; % 波长。
% 定义天线参数。
d = lambda/2; % 天线到超表面的距离。
% 定义场景参数。
L = 10lambda; % 场景尺寸。
% 创建场景。
x = linspace(-L/2, L/2, 100);y = linspace(-L/2, L/2, 100);[X, Y] = meshgrid(x, y);Z = zeros(size(X));% 计算超表面的相位调控。
k = 2pi/lambda; % 波数。
theta = atan2(Y, X); % 角度。
phase = exp(1ikdcos(theta)); % 相位调控。
% 计算场景中的电场分布。
E = phase.exp(1ikZ); % 电场分布。
% 绘制电场分布。
figure;imagesc(x, y, abs(E));axis square;colormap('hot');colorbar;title('电场分布');% 计算场景中的辐射模式。
P = abs(E).^2; % 辐射强度。
% 绘制辐射模式。
figure;polarplot(theta(:), P(:));title('辐射模式');这段代码演示了如何使用MATLAB模拟天线超表面的工作原理。
首先定义了超表面的参数,包括单元格的行数和列数、边长以及波长。
然后定义了天线的参数,包括到超表面的距离。
接下来创建了一个场景,包括场景的尺寸和坐标。
然后计算了超表面的相位调控,根据天线到超表面的距离和角度计算相位。
然后根据相位调控计算了场景中的电场分布,并绘制了电场分布图。
最后计算了场景中的辐射模式,并绘制了辐射模式图。
对称阵子天线matlab
方向图clearlamda=10;%自由空间的波长n=1.125;l=n*lamda;k=2*pi/lamda;%自由空间的相移常数theta0=[0.0001:0.1:360];theta=theta0*pi/180;for i=1:length(theta0)fe(i)=abs((cos(k*l*cos(theta(i)))-cos(k*l))/sin(theta(i)));% fh(i)=1-cos(k*l);end% figurepolar(theta,fe/max(fe));xlabel('l=1.125λ');% figure% polar(theta,fh/max(fh));辐射阻抗clearlamda=10;%自由空间的波长n=0.1:0.01:0.9;l=n*lamda;k=2*pi/lamda;%自由空间的相移常数gama=0.5772156;for i=1:length(n)Rr1(i)=sin(2*k*l(i))*(Si(4*k*l(i))-2*Si(2*k*l(i)));Rr2(i)=cos(2*k*l(i))*(gama+log(k*l(i))+Ci(4*k*l(i))-2*Ci(2*k*l(i)));Rr3(i)=2*(gama+log(2*k*l(i))-Ci(2*k));Rr(i)=(Rr1(i)+Rr2(i)+Rr3(i))*30;endplot(n,Rr)阻抗特性clcclearlamda=100;%自由空间的波长n=0.1:0.01:0.9;l=n*lamda;a=[30,300,3000];%l和a的比值k=2*pi/lamda;%自由空间的相移常数gama=0.5772156;for j=1:length(a)for i=1:length(n)Rr1(i)=sin(2*k*l(i))*(Si(4*k*l(i))-2*Si(2*k*l(i)));Rr2(i)=cos(2*k*l(i))*(gama+log(k*l(i))+Ci(4*k*l(i))-2*Ci(2*k*l(i)));Rr3(i)=2*(gama+log(2*k*l(i))-Ci(2*k));Rr(i)=(Rr1(i)+Rr2(i)+Rr3(i))*30;Xr1(i)=2*Si(2*k*l(i));Xr2(i)=sin(2*k*l(i))*(gama+log(k*l(i))+Ci(4*k*l(i))-2*Ci(2*k*l(i))-2*log(a(j)));Xr3(i)=cos(2*k*l(i))*(2*Si(2*k*l(i))-Si(4*k*l(i)));Xr(i,j)=(Xr1(i)+Xr2(i)+Xr3(i))*30;Zca(i)=120*(log(2*(a(j)))-1);afa(i)=Rr(i)/(Zca(i)*l(i)*(1-sin(2*k*l(i))/(2*k*l(i))));Rin(i,j)=Zca(i)*(sinh(2*afa(i)*l(i))-afa(i)/k*sin(2*k*l(i)))/(cosh(2*afa(i)*l(i))-cos(2* k*l(i)));Xin(i,j)=-Zca(i)*(afa(i)/k*sinh(2*afa(i)*l(i))+sin(2*k*l(i)))/(cosh(2*afa(i)*l(i))-cos(2 *k*l(i)));endendfigureplot(n,Rr)%辐射电阻title('辐射电阻随l/λ的变化曲线');xlabel('l/λ');ylabel('Rr (Ω)');figureplot(n,Xr)%辐射电抗title('l/a不同时辐射电抗随l/λ的变化曲线');xlabel('l/λ');ylabel('Xr (Ω)');figureplot(n,Rin)%输入电阻title('不同平均特性阻抗时输入电阻随l/λ的变化曲线');xlabel('l/λ');ylabel('Rin (Ω)');figureplot(n,Xin)%输入电抗title('不同平均特性阻抗时电抗随l/λ的变化曲线');xlabel('l/λ');ylabel('Xin (Ω)');对称阵子clcclearlamda=10;%自由空间的波长n=0.25;l=n*lamda;k=2*pi/lamda;%自由空间的相移常数theta0=[0.0001:0.1:360];theta=theta0*pi/180;for i=1:length(theta0)fe(i)=abs((cos(k*l*cos(theta(i)))-cos(k*l))/sin(theta(i)));fh(i)=1-cos(k*l);endfigurepolar(theta,fe/max(fe));figurepolar(theta,fh);用MATLAB语言编程计算半波对称振子场图,电流分布和输入阻抗n=2*pi;d=n/50+0.001;[x,y] = meshgrid(-n:d:n,-n:d:n);nn=30j=0;M = moviein(nn);for j=1:nnz=(x./sqrt(x.^2+y.^2)).^2.*(...-sin(sqrt(x.^2+y.^2)-j*2*pi/nn)...-cos(sqrt(x.^2+y.^2)-j*2*pi/nn)./sqrt(x.^2+y.^2)...);v=[-1 -0.9 -0.8 -0.75 -0.5 -0.25 -0.1 -0.05 0 0.05 0.1 0.25 0.5 ...0.75 0.8 0.9 1];%v=[ -0.75 -0.5 -0.25 0 0.25 0.5 0.75 ];contour(z,v);%contour(z,30);%colorbaraxis equal%grid onM(:,j) = getframe;endmovie(M,100,10)clear allN = 10;d = 0.5;alpha = 2*pi;dip=[1:N];kd=2*pi*d;phi=[0:2*pi/800.1:2*pi];framemax = 48;M = moviein(framemax);set(gcf,'Position',[100 100 640 480])for n=1:framemaxu=kd*cos(phi)-alpha/framemax*(n-1);F=abs(sin(N.*u./2+N*1e-15)./sin(u./2+1e-15));plot(F.*cos(phi),F.*sin(phi),'r','LineWidth',3);%polar(phi,abs(F));title([ num2str(N),' elements, '...,num2str(d),' \lambda apart'],'fontsize', 18)xlabel(['\alpha=' ,num2str(alpha/framemax*(n-1))],'Color','k','fontsize', 18) hold onplot(N.*cos(phi),N.*sin(phi),'b','LineWidth',2);plot(dip-N/2-0.5,dip*0,'o','linewidth',3)hold offaxis equalM(:,n) = getframe(gcf);endclf resetset(gcf,'Position',[100 100 800 600])axis offmovie(M,1,6)clear allN = 10;d = 0.5;alpha = 2*pi;dip=[1:N];kd=2*pi*d;phi=[0:2*pi/800.1:2*pi];framemax = 48;M = moviein(framemax);set(gcf,'Position',[100 100 640 480])for n=1:framemaxu=kd*cos(phi)-alpha/framemax*(n-1);F=abs(sin(N.*u./2+N*1e-15)./sin(u./2+1e-15));plot(F.*cos(phi),F.*sin(phi),'r','LineWidth',3);%polar(phi,abs(F));title([ num2str(N),' elements, '...,num2str(d),' \lambda apart'],'fontsize', 18)xlabel(['\alpha=' ,num2str(alpha/framemax*(n-1))],'Color','k','fontsize', 18) hold onplot(N.*cos(phi),N.*sin(phi),'b','LineWidth',2);plot(dip-N/2-0.5,dip*0,'o','linewidth',3)hold offaxis equalM(:,n) = getframe(gcf);endclf resetset(gcf,'Position',[100 100 800 600])axis offmovie(M,1,6)clear;clc;range=1/4;point=6;wave_length_value=1;measurement=7.022*(10)^(-3);v0=1;k=(2*pi)/wave_length_value;a=measurement*wave_length_value;l=range*wave_length_value;step=l/(point-1);i_point=1:point; % 测试点赋值matrix_wavelength(i_point)=step*(i_point-1);z=linspace(-l,l,100); % 积分离散for i_point=1:point; % 求解A向量r=((matrix_wavelength(i_point)-z).^2 + a^2).^(1/2); % 场源距离离散g=exp(-j*k*r)./r; % 格林函数离散A(i_point)=trapz(z,sin(k*(1/4-abs(z))).*g); % A元素确定endfor i_point=1:point; % 求解B向量r=((matrix_wavelength(i_point)-z).^2 + a^2).^(1/2); % 场源距离离散g=exp(-j*k*r)./r; % 格林函数离散B(i_point)=trapz(z,sin(2*k*(1/4-abs(z))).*g); % B元素确定endfor i_point=1:point; % 求解C向量r=((matrix_wavelength(i_point)-z).^2 + a^2).^(1/2); % 场源距离离散g=exp(-j*k*r)./r; % 格林函数离散C(i_point)=trapz(z,sin(3*k*(1/4-abs(z))).*g); % B元素确定endfor i_point=1:point; % 求解D向量r=((matrix_wavelength(i_point)-z).^2 + a^2).^(1/2); % 场源距离离散g=exp(-j*k*r)./r; % 格林函数离散D(i_point)=trapz(z,sin(4*k*(1/4-abs(z))).*g); % B元素确定endfor i_point=1:point; % 求解E向量r=((matrix_wavelength(i_point)-z).^2 + a^2).^(1/2); % 场源距离离散g=exp(-j*k*r)./r; % 格林函数离散E(i_point)=trapz(z,sin(5*k*(1/4-abs(z))).*g); % B元素确定endfor i_point=1:point; % 求解F向量F(i_point)=cos(k*matrix_wavelength(i_point)); % B元素确定endimpedance_matrix=[A.',B.',C.',D.',E.',F.']; % 阻抗矩阵确定for i_point=1:point; % 电压矩阵确定voltage_matrix(i_point)=(-j*v0/60)*sin(k*abs(matrix_wavelength(i_point))); % B元素确定end% 求解a1,a2,a3,a4,a5,C_contant;current=impedance_matrix\voltage_matrix';z_distribute=linspace(0,l,100); % 图形表示current_function=current(1,1)*sin(k*(l-abs(z_distribute)))+current(2,1)*sin(2*k*(l-abs(z_distribute)))+current(3,1)*sin(3*k*(l-abs(z_distribute)))+current(4,1)*sin(4*k*(l-abs(z_distribute)))+current(5,1)*s in(5*k*(l-abs(z_distribute)));current_re=real(current_function); % 电流实虚部current_im=imag(current_function);plot(current_re,z_distribute,'r'); % 绘图hold on;plot(current_im,z_distribute,'g');xlabel('current distribution');ylabel('unitary distance')title('antenna current distribution plot'); legend('real current','imag current',2);。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
天线阵代码.pudn./downloads164/sourcecode/math/detail750575.html一、clcclear allf=3e9;N1=4;N2=8;N3=12;a=pi/2; %馈电相位差i=1; %天线电流值lambda=(3e8)/f; %lambda=c/f 波长d=lambda/2;beta=2.*pi/lambda;W=-2*pi:0.001:2*pi;y1=sin((N1.*W./2))./(N1.*(sin(W./2))); %归一化阵因子y1=abs(y1);r1=max(y1);y2=sin((N2.*W./2))./(N2.*(sin(W./2))); %归一化阵因子y2=abs(y2);r2=max(y2);y3=sin((N3.*W./2))./(N3.*(sin(W./2))); %归一化阵因子y3=abs(y3);r3=max(y3);%归一化阵因子绘图程序,figure(1)subplot(311);plot(W,y1) ; grid on; %绘出N=4等幅等矩阵列的归一化阵因子xlabel('f=3GHz,N=4,d=1/2波长,a=π/2')subplot(312);plot(W,y2) ; grid on; %绘出N=8等幅等矩阵列的归一化阵因子xlabel('f=3GHz,N=8,d=1/2波长,a=π/2')subplot(313);plot(W,y3) ; grid on; %绘出N=12等幅等矩阵列的归一化阵因子xlabel('f=3GHz,N=12,d=1/2波长,a=π/2')%---------------------%只有参数N改变的天线方向图t=0:0.01:2*pi;W=a+(beta.*d.*cos(t));z1=(N1/2).*(W);z2=(1/2).*(W);W1=sin(z1)./(N1.*sin(z2)); %非归一化的阵因子K1K1=abs(W1);%----------------------W=a+(beta.*d.*cos(t));z3=(N2/2).*(W);z4=(1/2).*(W);W2=sin(z3)./(N2.*sin(z4)); %非归一化的阵因子K2K2=abs(W2);%-------------------------W=a+(beta.*d.*cos(t));z5=(N3/2).*(W);z6=(1/2).*(W);W3=sin(z5)./(N3.*sin(z6)); %非归一化的阵因子K3K3=abs(W3);%--------------------绘图函数figure(2)subplot(131);polar(t,K1);xlabel('f=3GHz,N=4,d=1/2波长,a=π/2'); subplot(132);polar(t,K2);xlabel('f=3GHz,N=8,d=1/2波长,a=π/2'); subplot(133);polar(t,K3);xlabel('f=3GHz,N=12,d=1/2波长,a=π/2'); %----------------------%只有阵列单元方向角a改变的天线方向图N4=10;d1=lambda/4;a1=0;a2=pi/2;a3=pi/2+pi/10;A=a1+(beta.*d1.*cos(t));x1=(N4/2).*(A);x2=(1/2).*(A);A1=sin(x1)./(N4.*sin(x2)); %非归一化的阵因子K4K4=abs(A1);%---------------------------B=a2+(beta.*d1.*cos(t));y_1=(N4/2).*(B);y_2=(1/2).*(B);B1=sin(y_1)./(N4.*sin(y_2)); %非归一化的阵因子K5K5=abs(B1);%----------------------------C=a3+(beta.*d1.*cos(t));v1=(N4/2).*(C);v2=(1/2).*(C);C1=sin(v1)./(N4.*sin(v2)); %非归一化的阵因子K6K6=abs(C1);%--------------------------绘图函数figure(3)subplot(131);polar(t,K4);xlabel('f=3GHz,N=10,d=1/4波长,a=0');subplot(132);polar(t,K5);xlabel('f=3GHz,N=10,d=1/4波长,a=π/2'); subplot(133);polar(t,K6);xlabel('f=3GHz,N=10,d=1/4波长,a=π/2+π/10'); %----------------------------------------------------------------------%只有阵列单元间隔d改变的天线方向图N5=20;d2=lambda/4;d3=lambda/2;d4=0.7*lambda;a4=pi/2;D=a4+(beta.*d2.*cos(t));p1=(N5/2).*(D);p2=(1/2).*(D);D1=sin(p1)./(N5.*sin(p2)); %非归一化的阵因子K7K7=abs(D1);%------------------------------E=a4+(beta.*d3.*cos(t));q1=(N5/2).*(E);q2=(1/2).*(E);E1=sin(q1)./(N5.*sin(q2)); %非归一化的阵因子K8K8=abs(E1);%-------------------------------F=a4+(beta.*d4.*cos(t));r_1=(N5/2).*(F);r_2=(1/2).*(F);F1=sin(r_1)./(N5.*sin(r_2)); %非归一化的阵因子K9K9=abs(F1);%-----------------------绘图函数figure(4)subplot(131);polar(t,K7);xlabel('f=3GHz,N=20,d=1/4波长,a=π/2'); subplot(132);polar(t,K8);xlabel('f=3GHz,N=20,d=1/2波长,a=π/2'); subplot(133);polar(t,K9);xlabel('f=3GHz,N=20,d=0.7波长,a=π/2');%--------------------------------------------------------------------------%---------------------------------------3D-天线方向图n_tehta = 130; %-------------------- 采样视角点的仰角n_phi = 130; %--------------------采样点的方向角[tehta,phi]=meshgrid(eps:pi./(n_tehta-1):pi,... %meshgrid函数为矩形区域的设定围是epf<tehta<π0<phi<2π0:2*pi./(n_phi-1):2*pi) ;t3=tehta;%-------------只有参数N改变的天线方向3D图M=a+(beta.*d.*cos(t3)); %----N1=4;N2=8;N3=12;z_1=(N1/2).*(M);z_2=(1/2).*(M);M1=sin(z_1)./(N1.*sin(z_2)); %非归一化的阵因子K1K_1=abs(M1);radio_1 =K_1;X1=radio_1.*sin(tehta).*cos(phi);Y1=radio_1.*sin(tehta).*sin(phi);Z1=radio_1.*cos(tehta);%-----------------------------------M=a+(beta.*d.*cos(t3));z_3=(N2/2).*(M);z_4=(1/2).*(M);M2=sin(z_3)./(N2.*sin(z_4)); %非归一化的阵因子K2K_2=abs(M2);radio_2 =K_2;X2=radio_2.*sin(tehta).*cos(phi);Y2=radio_2.*sin(tehta).*sin(phi);Z2=radio_2.*cos(tehta);%-------------------------------------M=a+(beta.*d.*cos(t3));z_5=(N3/2).*(M);z_6=(1/2).*(M);M3=sin(z_5)./(N3.*sin(z_6)); %非归一化的阵因子K3K_3=abs(M3);radio_3 =K_3;X3=radio_3.*sin(tehta).*cos(phi);Y3=radio_3.*sin(tehta).*sin(phi);Z3=radio_3.*cos(tehta);%------------------------------------3D绘图函数figure(5)surf(X1,Y1,Z1); %三维绘图函数surf,采用伪彩色表示曲面的高度camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=4,d=1/2波长,a=π/2');figure(6)surf(X2,Y2,Z2);camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=8,d=1/2波长,a=π/2');figure(7)surf(X3,Y3,Z3)camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=12,d=1/2波长,a=π/2');%----------------------------------------------%--------------------只有阵列单元方向角a改变的天线方向图N4=10;d1=lambda/4;a1=0;a2=pi/2;a3=pi/2+pi/10;A_3d=a1+(beta.*d1.*cos(t3));x_1=(N4/2).*(A_3d);x_2=(1/2).*(A_3d);A_1=sin(x_1)./(N4.*sin(x_2)); %非归一化的阵因子K4K_4=abs(A_1);radio_4 =K_4;X4=radio_4.*sin(tehta).*cos(phi);Y4=radio_4.*sin(tehta).*sin(phi);Z4=radio_4.*cos(tehta);%-----------------------------------B_3d=a2+(beta.*d1.*cos(t3));y_1_3d=(N4/2).*(B_3d);y_2_3d=(1/2).*(B_3d);B_1=sin(y_1_3d)./(N4.*sin(y_2_3d)); %非归一化的阵因子K5 K_5=abs(B_1);radio_5 =K_5;X5=radio_5.*sin(tehta).*cos(phi);Y5=radio_5.*sin(tehta).*sin(phi);Z5=radio_5.*cos(tehta);%------------------------------------C_3d=a3+(beta.*d1.*cos(t3));v_1=(N4/2).*(C_3d);v_2=(1/2).*(C_3d);C_1=sin(v_1)./(N4.*sin(v_2)); %非归一化的阵因子K6K_6=abs(C_1);radio_6 =K_6;X6=radio_6.*sin(tehta).*cos(phi);Y6=radio_6.*sin(tehta).*sin(phi);Z6=radio_6.*cos(tehta);%-----------------------------------figure(8)surf(X4,Y4,Z4); %三维绘图函数surf,采用伪彩色表示曲面的高度camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=10,d=1/4波长,a=0');figure(9)surf(X5,Y5,Z5);camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=10,d=1/4波长,a=π/2');figure(10)surf(X6,Y6,Z6)camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=10,d=1/4波长,a=π/2+π/10');%---------------------------------------------%-------------------只有阵列单元间隔d改变的天线方向3D图N5=20;d2=lambda/4;d3=lambda/2;d4=0.7*lambda;a4=pi/2; D_3d=a4+(beta.*d2.*cos(t3));p_1=(N5/2).*(D_3d);p_2=(1/2).*(D_3d);D_1=sin(p_1)./(N5.*sin(p_2)); %非归一化的阵因子K7K_7=abs(D_1);radio_7 =K_7;X7=radio_7.*sin(tehta).*cos(phi);Y7=radio_7.*sin(tehta).*sin(phi);Z7=radio_7.*cos(tehta);%---------------------------------------E_3d=a4+(beta.*d3.*cos(t3));q_1=(N5/2).*(E_3d);q_2=(1/2).*(E_3d);E_1=sin(q_1)./(N5.*sin(q_2)); %非归一化的阵因子K8K_8=abs(E_1);radio_8 =K_8;X8=radio_8.*sin(tehta).*cos(phi);Y8=radio_8.*sin(tehta).*sin(phi);Z8=radio_8.*cos(tehta);%------------------------------------------F_3d=a4+(beta.*d4.*cos(t3));r_1_3d=(N5/2).*(F_3d);r_2_3d=(1/2).*(F_3d);F_1=sin(r_1_3d)./(N5.*sin(r_2_3d)); %非归一化的阵因子K9 K_9=abs(F_1);radio_9 =K_9;X9=radio_9.*sin(tehta).*cos(phi);Y9=radio_9.*sin(tehta).*sin(phi);Z9=radio_9.*cos(tehta);%-----------------------------------figure(11)surf(X7,Y7,Z7); %三维绘图函数surf,采用伪彩色表示曲面的高度camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=20,d=1/4波长,a=π/2');figure(12)surf(X8,Y8,Z8);camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=20,d=1/2波长,a=π/2');figure(13)surf(X9,Y9,Z9)camlight rightlightcolorbaraxis imagerotate3D ontitle('f=3GHz,N=20,d=0.7波长,a=π/2');二、%-----------------均匀直线阵列天线的应用之一:边射阵clcclear allf=3e10; %30GHz,厘米波i=1; %天线电流值lambda=(3e8)/f; %lambda=c/f 波长beta=2.*pi/lambda;N=15;t=0:0.01:2*pi;d1=lambda/4; %没有栅瓣效应的边射阵,即间隔d<波长W1=beta.*d1.*cos(t); %定义kdcos(方向角)z1=(N/2).*W1;z2=(1/2).*W1;F1=sin(z1)./(N.*sin(z2));K1=abs(F1);d2=lambda*1.5; %有栅瓣现象的边射阵,即间隔d>波长W2=beta.*d2.*cos(t); %定义kdcos(方向角)z3=(N/2).*W2;z4=(1/2).*W2;F2=sin(z3)./(N.*sin(z4));K2=abs(F2);figure(1)subplot(121);polar(t,K1);title('边射阵f=30GHz,N=15,d=1/4波长');subplot(122);polar(t,K2);title('边射阵(有栅瓣)f=30GHz,N=15,d=1.5倍波长');三、%-----------------均匀直线阵列天线的应用之二:普通端射阵clcclear allf=3e10; %30GHz,厘米波i=1; %天线电流值lambda=(3e8)/f; %lambda=c/f 波长beta=2.*pi/lambda;N=15;t=0:0.01:2*pi;d1=lambda/4; %没有栅瓣效应的普通端射阵,即间隔d<1/2波长W1=beta.*d1.*cos(t); %定义kdcos(方向角)z1=((N/2).*W1)+N/2*beta*d1;z2=((1/2).*W1)+1/2*beta*d1;F1=sin(z1)./(N.*sin(z2));K1=abs(F1);d2=lambda*0.7; %有栅瓣现象的普通端射阵,即间隔d>1/2波长W2=beta.*d2.*cos(t); %定义kdcos(方向角)z3=((N/2).*W2)+N/2*beta*d2;z4=((1/2).*W2)+1/2*beta*d2;F2=sin(z3)./(N.*sin(z4));K2=abs(F2);figure(2)subplot(121);polar(t,K1);title('普通端射阵f=30GHz,N=15,d=1/4波长');subplot(122);polar(t,K2);title('普通端射阵(有栅瓣)f=30GHz,N=15,d=0.7倍波长');四%-----------------均匀直线阵列天线的应用之三:强方向性端射阵clcclear allf=3e10; %30GHz,厘米波i=1; %天线电流值lambda=(3e8)/f; %lambda=c/f 波长beta=2.*pi/lambda;N=15;t=0:0.01:2*pi;d1=lambda/4; %没有栅瓣效应的强方向性端射阵,即间隔d<(1/2波长)*(1-1/N)W1=beta.*d1.*cos(t); %定义kdcos(方向角)z1=((N/2).*W1)+N/2*(beta*d1+pi/N);z2=((1/2).*W1)+1/2*(beta*d1+pi/N);F1=sin(pi/2/N).*sin(z1)./(sin(z2));K1=abs(F1);d2=lambda*0.5; %有栅瓣现象的强方向性端射阵,即间隔d>1/2波长*(1-1/N) W2=beta.*d2.*cos(t); %定义kdcos(方向角)z3=((N/2).*W2)+N/2*(beta*d2+pi/N);z4=((1/2).*W2)+1/2*(beta*d2+pi/N);F2=sin(pi/2/N).*sin(z3)./(sin(z4));K2=abs(F2);figure(3)subplot(121);polar(t,K1);title('强方向性端射阵f=30GHz,N=15,d=1/4波长'); subplot(122);polar(t,K2);title('强方向性端射阵(有栅瓣)f=30GHz,N=15,d=0.5倍波长');。