矩形波导计算matlab代码
利用Matlab实现矩形波导电磁场分布图的绘制
;0001/ob=b ;0001/oa=a 图构结场的刻时 t t% 度精样采 d% 长波导波为取里这 向方输传 c% 寸尺导波 b a% 长波止截模 01ET cl% 长波导波 gl% 长波/率频作工 0l f% 米毫为入输 米为位单算计有所 构结场导波形矩画% )t,f,0H,d,ob,oa(1tcrtsevawtcer noitcnuf niam% ;)30.0,9^01*48.9,1,6,61.01,68.22(1tcrtsevawtcer 单清序程附.C 2图
;))1y(ezis(sorez=yh ;)B*.1z-t*w(soc*.)1x*.a/.ip(soc*.0H=zh ;ip/.)1z*.B-t*w(nis*.)1x*.a/.ip(nis*.0H*.a*.B-=xh ;)1z,1y,1x(hsem% ;)z,y,x(dirghsem=]1z,1y,1x[ ;c:d/c:0=z ;b:d/b:0=y ;a:d/a:0=x ;)8^01*3(/B=w ;gl/ip*2=B ;gl=c ;)5.0^)2^)cl/0l(-1((/0l=gl ;flc esle ;nruter )cl>0l(fi ;)7-(^01*ip*4=u ;f/8^01*3=0l 率频止截 01ET% ;a*2=cl
�� �
�1-1�
�下如量参各中式上
�下如示表导推可量分场磁电其。a*2 为长波止截的模 01ET�b*a 为寸尺导波属金设。模 01ET 为模主的输传中导波形矩 .A 。定给部外由均刻时及率频作工、寸尺 导波。图布分场磁电的模 01ET 模主的导波形矩属金刻时意任出磁电导波形矩现实 baltaM 用利
图果效布分线力磁力电的维三 .C
。加叠像图许允不。布分场电制绘�数函 3reviuq 用 .4 。加叠像图许允。布分场磁制绘�数函 3reviuq 用 .3 。量分的场磁、场电到得 算计�1-1�式公照按。点标坐的场磁和场电定确别分�度精图绘的定给部外由 .2 。量参到得算计式�2-1�照参率频作工、寸尺导波的定给部外由 .1 �骤步的线力磁电画 baltaM 用 .B �2-1�
16qam_星形和矩形星座图调制解调matlab代码
16qam_星形和矩形星座图调制解调matlab代码%% ------------------------------------------------------------ % 软件无线电课程设计%% 方形、星形16QAM调制解调仿真%%%------------------------------------------------------------ %%主程序clcclear%% 定义参数fd=250*10^6; %码元速率250Mfs=2500*10^6; %滤波器采样率fc=2500*10^6; %载波频率2.5Gf=10000*10^6; %对载波采样data_len=200000; %数据长度sym_len=data_len/4; %码元序列长度M_QAM=16;%QAM数k=log2(M_QAM);SNR=1:12;%白噪声信噪比,%% ------------------------------------------------------------ bit_tx=randint(1,data_len);%产生随机序列echo off;rec_qam16=QamMod(bit_tx,16); %方形16QAM调制star_qam16=SrarQamMod(bit_tx); %星形16QAM调制base_rec=base_shape(fd,fs,f,rec_qam16); %基带成型滤波base_star=base_shape(fd,fs,f,star_qam16); %基带成型滤波for i=1:length(SNR) %信噪比从1dB到12dB计算误码率SNR_=i%方形映射16QAMrf_rec_qam16=CarrierMod(fc,f,base_rec); %载波调制rf_rec_qam16_n=awgn(rf_rec_qam16,SNR(i),'measured'); %加噪声[rec_qam16_rx base_rec_rx]=CarrierDemod(fd,fs,fc,f,rf_rec_qam16_n); %载波解调bit_rec_rx=QamDemod(rec_qam16_rx,16); %MQAM解调[num_qam16,perr_qam16_rec(i)]=biterr(bit_tx,bit_rec_rx);%误码率qam16_data_rec(i,:)=rec_qam16_rx;%scatterplot(rec_qam16_rx);%星形映射16QAMrf_star_qam16=CarrierMod(fc,f,base_star); %载波调制rf_star_qam16_n=awgn(rf_star_qam16,SNR(i),'measured'); %加噪声[star_qam16_rxbase_star_rx]=CarrierDemod(fd,fs,fc,f,rf_star_qam16_n); %载波解调bit_star_rx=StarQamDemod(star_qam16_rx); %MQAM解调[num_qam16,perr_qam16_star(i)]=biterr(bit_tx,bit_star_rx);%误码率qam16_data_star(i,:)=star_qam16_rx;%scatterplot(star_qam16_rx);end%% 理论误码率计算SNRtheo=0:0.1:length(SNR); for i=1:length(SNRtheo) SNRdec=10.^(SNRtheo(i)/10);theo_perr_qam16(i)=(3/8)*erfc(sqrt(SNRdec*2/5)); end%% 基带波形N=200;n=1:N;t=1:N*10;%发送端波形figure;stem(n,bit_tx(n)); title('发送序列'); %发送序列figure('Name','发送端基带信号');subplot(411);plot(t,real(base_rec(t))); title('方形映射-Q路'); subplot(412);plot(t,imag(base_rec(t))); title('方形映射-I路'); subplot(413);plot(t,real(base_star(t))); title('星形映射-Q路'); subplot(414);plot(t,imag(base_star(t))); title('星形映射-I路'); %接收端波形figure;subplot(211);stem(n,bit_rec_rx(n)); title('方形接收序列');subplot(212);stem(n,bit_star_rx(n)); title('星形接收序列');figure('Name','接收端基带信号');subplot(411);plot(t,real(base_rec_rx(t))); title('方形映射-Q路');subplot(412);plot(t,imag(base_rec_rx(t))); title('方形映射-I路');subplot(413);plot(t,real(base_star_rx(t))); title('星形映射-Q路');subplot(414);plot(t,imag(base_star_rx(t))); title('星形映射-I路');%基带眼图N1=20000;Tn=f/fd;eye_rex=base_rec(1:N1);eyediagram(eye_rex,Tn*4,Tn); title('方形基带眼图');eye_star=base_star(1:N1);eyediagram(eye_star,Tn*4,Tn); title('星形基带眼图');%% 接收端星座图%scatterplot(qam16_data_rec(12,:)); figure('Name','方形16QAM接收端星座图');for i=3:3:12subplot(2,2,i/3);plot(real(qam16_data_rec(i,:)),imag(qam16_data_rec(i,:)),'.'); xmax=5;axis([-xmax xmax -xmax xmax])title(['Snr=',num2str(SNR(i)),' dB']);endfigure('Name','星形16QAM接收端星座图');for i=3:3:12subplot(2,2,i/3);plot(real(qam16_data_star(i,:)),imag(qam16_data_star(i,:)),'.'); xmax=3;axis([-xmax xmax -xmax xmax])grid on; title(['Snr=',num2str(SNR(i)),' dB']);end%% 功率谱密度f_plot;%% 误码率分析%16QAM误码率曲线figure('Name','16QAM误码性能对比');% semilogy(SNRtheo,theo_perr_qam16); % hold on;semilogy(SNR,perr_qam16_rec,'*'); hold on;semilogy(SNR,perr_qam16_star,'o'); xlabel('SNR in dB');ylabel('Prb of Err');legend('方形16QAM','星形16QAM');title('16QAM误码性能对比');%-------------------------------------------------------------------------------%% 基带成型function base_info=base_shape(fd,fs,f,seq_16QAM) %平方根升余弦滤波器,滚降系数0.5,延迟3个采样点flt=rcosine(fd,fs,'sqrt',0.5);%I路和Q路seq_Q=real(seq_16QAM);seq_I=imag(seq_16QAM);%增采样R=fs/fd;up_seq_Q=upsample(seq_Q,R);up_seq_I=upsample(seq_I,R);%升余弦调制rcos_Q=conv(up_seq_Q,flt);rcos_I=conv(up_seq_I,flt);%提升rcos_Q_up=interp(rcos_Q,f/fs);rcos_I_up=interp(rcos_I,f/fs);base_info=rcos_Q_up+j*rcos_I_up;%--------------------------------------------------------------------%% 载波解调function [data_rx base_rx]=CarrierDemod(fd,fs,fc,f,receive)%% 分两路乘正交高频载波rc_length=length(receive);flt=rcosine(fd,fs,'sqrt',0.5);t=0:rc_length-1;rc_Q=receive .* sin(2*pi*fc*t/f); rc_I=receive .* cos(2*pi*fc*t/f);%减采样后根升余弦匹配滤波,注意对齐采样点down_Q=downsample([0 rc_Q],f/fs);down_I=downsample(rc_I,f/fs);low_Q_rcos=conv(down_Q,flt);low_I_rcos=conv(down_I,flt);base_rx=low_Q_rcos(1:length(low_I_rcos))+j*low_I_rcos;%两次根升余弦滤波延迟,定位初始信号位置%delay+1:end-delay-1R=fs/fd;delay=3*R*2;rc_Q_seq=(downsample(low_Q_rcos(delay+1:end-delay-1),R));rc_I_seq=(downsample(low_I_rcos(delay+1:end-delay-1),R)); %类型转换data_rx=rc_Q_seq+j*rc_I_seq;%--------------------------------------------------------------------------%% 载波调制function transmit=CarrierMod(fc,f,base)%载波调制t=0:length(base)-1;high_freq_Q=real(base) .* sin(2*pi*fc*t/f);high_freq_I=imag(base) .* cos(2*pi*fc*t/f);transmit=high_freq_Q+high_freq_I;%------------------------------------------------------------------------------%% QAM解调程序,将MQAM码元还原为二进制数据% 入口参数:data_QAM:QAM码元数据% M_QAM:MQAM中M的大小% 出口参数:二进制数据比特流%------------------------------------------------------------------------function data_out=QamDemod(data_QAM,M_QAM)k=log2(M_QAM);%每个M进制码元的bit数data_len=length(data_QAM);%码元长度%------------------------------------------------------------------- %QAM信号放缩至与发送端相同比例data_temp=data_QAM(find(real(data_QAM>0)));aver=mean(real(data_temp));data_Qam_temp=data_QAM/aver*(2^(k/2-1));%------------------------------------------------------------------------%平移到第一象限data_Qam_temp2=(data_Qam_temp+(2^(k/2)-1)*(1+j))/2; %---------------------------------------------------------------------- %将实部虚部分别映射为二进制数据%实部data_real=round(real(data_Qam_temp2));%实部判决data_real(find(data_real>(2^(k/2)-1)))=2^(k/2)-1;%大于2^(k/2)-1的数据判定为2^(k/2)-1 data_real(find(data_real<0))=0;%小于0的数据判为0 bit_real=abs(dec2bin(data_real))-'0'; %虚部data_imag=round(imag(data_Qam_temp2));%虚部判决data_imag(find(data_imag>(2^(k/2)-1)))=2^(k/2)-1;%大于2^(k/2)-1的数据判定为2^(k/2)-1 data_imag(find(data_imag<0))=0;%小于0的数据判为0 bit_imag=abs(dec2bin(data_imag))-'0'; %------------------------------------------------------------------------%还原为二进制比特流bit_rec=[bit_real,bit_imag]';data_out=reshape(bit_rec,1,data_len*k);%-------------------------------------------------------------------------------------------------------------%% QAM调制程序,实现二进制到MQam调制% 入口参数:binary:二进制数据% M_QAM:MQAM中M的大小% 返回参数:MQAM码元%------------------------------------------------------------------------function data_M = QamMod(binary,M_QAM)k=log2(M_QAM);%每个M进制码元的bit数data_len=length(binary);%比特长度binary_rec=reshape(binary,k,data_len/k)';%转化为data_len/k行,k列,的矩阵,以便转化为16进制M进制%计算实部data_str1=num2str(binary_rec(:,1:k/2));data_m_real=bin2dec(data_str1);%计算虚部data_str2=num2str(binary_rec(:,k/2+1:k));data_m_imag=bin2dec(data_str2);%实部虚部映射到MQamdata_M=((data_m_real*2-2^(k/2)+1)+j*(data_m_imag*2-2^(k/2)+1)).';%---------------------------------------------------------------------------------%% 星形16QAM映射function data_m16 = SrarQamMod(binary) %binary=randint(1,100);%产生随机序列data_len=length(binary);%比特长度binary_rec=reshape(binary,4,data_len/4)';%转化为data_len/4行,4列,的矩阵,以便转化为16进制data_str=num2str(binary_rec);data_dec=bin2dec(data_str);data_mm16=(floor(data_dec/8)+1).*exp(j*45/180*pi*mod(data_dec,8));data_m16=reshape(data_mm16,1,data_len/4);%------------------------------------------------------------------------------%% 星形16QAM解调function data_bit = StarQamDemod(qam_rev)%qam_rev=xing_qam16_noise(1:10);am=abs(qam_rev);%幅度判定am(find(am>2))=2;%幅度大于2的判定为2am(find(am<1.5))=1;%幅度大于2的判定为2%相位判定ang=angle(qam_rev)/pi*180;%将-180度到0度变为180度到360度ang(find(ang<0))=ang(find(ang<0))+360; ang_n=round(ang/45);ang_n(find(ang_n>7))=0;data_dec=8*(round(am)-1)+ang_n;%data_dec(find(data_dec>15))=15;%大于15的判定为15%data_dec(find(data_dec<0))=0;%小于0的判定为0data_bit_rec=dec2bin(data_dec);data_bit=reshape(data_bit_rec',1,length(qam_rev)*4)-'0';。
基于MATLAB计算软件的波导教学
基于MATLAB计算软件的波导教学赵霞【摘要】将MATLAB引入到导行电磁波的计算中,借助MATLAB强大计算与可视化功能,对常见的矩形波导、圆形波导的模式分布图、场结构图、基本特点进行分析验证,有助于学生对规则金属波导的基本规律及特点的理解.【期刊名称】《实验室科学》【年(卷),期】2010(013)006【总页数】3页(P118-120)【关键词】微波技术;MATLAB;波导【作者】赵霞【作者单位】兰州交通大学自动化与电气学院,甘肃,兰州,730070【正文语种】中文【中图分类】TP319在微波技术中,规则金属波导在通信、雷达、遥感、电子对抗和测量系统中有着广泛的应用[1]。
波导的计算可以通过麦克斯韦方程和边界条件来定量描述,但是在求解的过程中会涉及大量数学计算,并且电磁场的分布是不可见的,这就导致了学生在学习过程中感觉难于理解,内容抽象[2]。
为了使学生把主要精力集中在掌握电磁场的基本概念和基本理论上,从而提高学生学习的积极性和效率,可以借助先进的计算机软件,用数值计算方法来解决较为复杂的电磁场问题,避免繁琐的手工计算[3]。
MATLAB是一个适合多学科、多种工作平台的功能强大的可视化计算软件,它有着丰富的库函数、工具箱和仿真模块,可用于科学研究和解决各种具体工程设计与计算问题[4]。
因此,用MATLAB处理电磁场数值计算时,可以利用它的偏微分方程数值求解的工具箱和编制的程序来求解未知量,并绘出电磁场的分布图[5-6]。
本文通过MATLAB和有限元法结合[7-8],对波导中的相关问题进行了分析,将复杂的计算简单化,将抽象的电磁场可视化。
假设脊波导内为空气,且纵向均匀,采用纵向场法,波导内的场结构可以归结为求解 Helmholtz(亥姆霍兹)方程。
1 理论分析假设脊波导内为空气,且纵向均匀,采用纵向场法,波导内的场结构可以归结为求解Helmholtz(亥姆霍兹)方程。
上式中k=ω με为电磁波在无限媒质中的波数。
MATLAB有限元法求矩形波导前十个本征模的传播常数
MATLAB有限元法求矩形波导前十个本征模的传播常数本文将介绍如何使用MATLAB有限元法求解矩形波导的本征模传播常数,并展示前十个本征模的计算结果。
这将有助于理解矩形波导的基本性质和应用。
矩形波导是一种常见的微波传输线,用于将高频信号从一个点传输到另一个点。
为了使信号的传输更加稳定和可靠,矩形波导需要满足一些特定的条件,其中之一就是要求在波导中只传输特定的波模式,即本征模。
因此,矩形波导的本征模传播常数是重要的物理量。
在MATLAB中,可以使用有限元法求解矩形波导的本征模传播常数。
下面将介绍具体的计算步骤。
首先,我们需要定义矩形波导的几何参数,包括宽度W、高度H、长度L以及介质常数εr。
在本文中,我们取W=20mm,H=10mm,L=50mm,εr=2.2。
```matlabW = 20e-3; % 宽度H = 10e-3; % 高度L = 50e-3; % 长度eps_r = 2.2; % 介质常数```其次,我们需要定义模型中的节点数和单元数。
通常情况下,节点数和单元数越多,计算结果越精确,但计算时间也会更长。
在本文中,我们取每个方向上的节点数为20,总节点数为400,总单元数为342。
```matlabnx = 20; % x方向上的节点数ny = 20; % y方向上的节点数n = nx * ny; % 节点总数n_el = 4; % 每个单元的节点数nel = (nx-1)*(ny-1); % 单元总数```然后,我们可以生成节点的坐标和单元的连接关系矩阵。
具体实现方法可以参考MATLAB官方文档中“PDE 模型和几何对象构建”一章。
```matlabmodel = createpde();%% 创建矩形波导gd = [3 4 4 0 0 2 H H 0 W W 0]';sf = 'R1';ns = char('R1');ns = ns';g = decsg(gd,sf,ns);geometryFromEdges(model,g);%% 生成节点坐标和单元连接关系[p,e,t] = initmesh(g,'Hmax',0.005); % Hmax为最大单元边长```节点坐标和单元连接关系矩阵的生成将自动对模型进行离散化。
matlab矩形波
matlab矩形波
Matlab矩形波是指一种由相等间隔的方波组成的信号。
在Matlab中,我们可以使用“square”函数生成矩形波信号。
该函数
需要两个参数:信号周期和占空比。
其中,信号周期表示一个完整的方波的时间长度,而占空比表示方波的高电平时间占整个信号周期的比例。
例如,一个周期为T的矩形波信号的占空比为50%表示方波的高电平时间为T/2。
在Matlab中,我们可以使用如下代码生成一个
周期为2秒、占空比为25%的矩形波信号:
t = 0:0.01:10; % 时间向量,从0到10秒,时间分辨率为0.01秒
f = 0.5; % 信号周期为2秒
duty = 25; % 占空比为25%
y = square(2*pi*f*t,duty); % 生成矩形波信号
生成的矩形波信号y将在时间轴上以周期为2秒的间隔重复出现,每个周期内高电平时间为0.5秒,低电平时间为1.5秒。
- 1 -。
matlab矩形算法
matlab矩形算法Matlab矩形算法矩形算法是一种常用的数值方法,用于求解一元函数的定积分。
在Matlab中,使用矩形算法可以得到函数在给定区间上的近似定积分值。
矩形算法的基本思想是将函数的定积分转化为矩形的面积之和。
具体而言,将给定区间等分成多个小区间,然后在每个小区间上选择一个点,计算该点的函数值,并将小区间长度乘以函数值作为该小区间上矩形的面积。
最后,将所有矩形的面积相加,即可得到近似的定积分值。
在Matlab中,可以使用以下代码实现矩形算法:```matlabfunction result = rectangle_algorithm(f, a, b, n)h = (b - a) / n; % 计算小区间的长度result = 0; % 初始化结果值为0for i = 1:nx = a + (i - 0.5) * h; % 计算小区间中点的x坐标result = result + f(x); % 将小区间的面积累加到结果中endresult = result * h; % 最终的结果为所有小区间面积之和乘以小区间长度end```上述代码中,`f`代表要求解定积分的函数,`a`和`b`分别是定积分的下限和上限,`n`表示将区间等分成的小区间的个数。
该函数先计算小区间的长度`h`,然后使用循环遍历每个小区间,计算小区间中点的x坐标,并将该点的函数值累加到结果中。
最后,将结果乘以小区间长度,即可得到近似的定积分值。
使用矩形算法求解定积分的精度取决于小区间的个数。
当小区间的个数越多时,近似的定积分值越接近真实值。
因此,在使用矩形算法时,需要根据精度要求选择合适的小区间个数。
除了矩形算法,Matlab还提供了其他数值积分方法,如梯形算法和辛普森算法。
这些方法在计算定积分时都具有一定的近似性,但适用于不同的函数类型和精度要求。
因此,在选择数值积分方法时,需要根据实际情况进行选择。
矩形算法是一种常用的数值方法,用于求解一元函数的定积分。
16QAM-星形和矩形星座图调制解调MATLAB代码
%% ------------------------------------------------------------% 软件无线电课程设计%% 方形、星形16QAM调制解调仿真%%%------------------------------------------------------------%%主程序clcclear%% 定义参数fd=250*10^6; %码元速率250Mfs=2500*10^6; %滤波器采样率fc=2500*10^6; %载波频率2.5Gf=10000*10^6; %对载波采样data_len=200000; %数据长度sym_len=data_len/4; %码元序列长度M_QAM=16;%QAM数k=log2(M_QAM);SNR=1:12;%白噪声信噪比,%% ------------------------------------------------------------bit_tx=randint(1,data_len);%产生随机序列echo off;rec_qam16=QamMod(bit_tx,16); %方形16QAM调制star_qam16=SrarQamMod(bit_tx); %星形16QAM调制base_rec=base_shape(fd,fs,f,rec_qam16); %基带成型滤波base_star=base_shape(fd,fs,f,star_qam16); %基带成型滤波for i=1:length(SNR) %信噪比从1dB到12dB计算误码率SNR_=i%方形映射16QAMrf_rec_qam16=CarrierMod(fc,f,base_rec); %载波调制rf_rec_qam16_n=awgn(rf_rec_qam16,SNR(i),'measured'); %加噪声[rec_qam16_rx base_rec_rx]=CarrierDemod(fd,fs,fc,f,rf_rec_qam16_n); %载波解调bit_rec_rx=QamDemod(rec_qam16_rx,16); %MQAM解调[num_qam16,perr_qam16_rec(i)]=biterr(bit_tx,bit_rec_rx);%误码率qam16_data_rec(i,:)=rec_qam16_rx;%scatterplot(rec_qam16_rx);%星形映射16QAMrf_star_qam16=CarrierMod(fc,f,base_star); %载波调制rf_star_qam16_n=awgn(rf_star_qam16,SNR(i),'measured'); %加噪声[star_qam16_rx base_star_rx]=CarrierDemod(fd,fs,fc,f,rf_star_qam16_n); %载波解调bit_star_rx=StarQamDemod(star_qam16_rx); %MQAM解调[num_qam16,perr_qam16_star(i)]=biterr(bit_tx,bit_star_rx);%误码率qam16_data_star(i,:)=star_qam16_rx;%scatterplot(star_qam16_rx);end%% 理论误码率计算SNRtheo=0:0.1:length(SNR);for i=1:length(SNRtheo)SNRdec=10.^(SNRtheo(i)/10);theo_perr_qam16(i)=(3/8)*erfc(sqrt(SNRdec*2/5));end%% 基带波形N=200;n=1:N;t=1:N*10;%发送端波形figure;stem(n,bit_tx(n)); title('发送序列'); %发送序列figure('Name','发送端基带信号');subplot(411);plot(t,real(base_rec(t))); title('方形映射-Q路');subplot(412);plot(t,imag(base_rec(t))); title('方形映射-I路');subplot(413);plot(t,real(base_star(t))); title('星形映射-Q路');subplot(414);plot(t,imag(base_star(t))); title('星形映射-I路');%接收端波形figure;subplot(211);stem(n,bit_rec_rx(n)); title('方形接收序列');subplot(212);stem(n,bit_star_rx(n)); title('星形接收序列');figure('Name','接收端基带信号');subplot(411);plot(t,real(base_rec_rx(t))); title('方形映射-Q路');subplot(412);plot(t,imag(base_rec_rx(t))); title('方形映射-I路');subplot(413);plot(t,real(base_star_rx(t))); title('星形映射-Q路');subplot(414);plot(t,imag(base_star_rx(t))); title('星形映射-I路');%基带眼图N1=20000;Tn=f/fd;eye_rex=base_rec(1:N1);eyediagram(eye_rex,Tn*4,Tn); title('方形基带眼图');eye_star=base_star(1:N1);eyediagram(eye_star,Tn*4,Tn); title('星形基带眼图');%% 接收端星座图%scatterplot(qam16_data_rec(12,:));figure('Name','方形16QAM接收端星座图');for i=3:3:12subplot(2,2,i/3);plot(real(qam16_data_rec(i,:)),imag(qam16_data_rec(i,:)),'.');xmax=5;axis([-xmax xmax -xmax xmax])title(['Snr=',num2str(SNR(i)),' dB']);endfigure('Name','星形16QAM接收端星座图');for i=3:3:12subplot(2,2,i/3);plot(real(qam16_data_star(i,:)),imag(qam16_data_star(i,:)),'.');xmax=3;axis([-xmax xmax -xmax xmax])grid on; title(['Snr=',num2str(SNR(i)),' dB']);end%% 功率谱密度f_plot;%% 误码率分析%16QAM误码率曲线figure('Name','16QAM误码性能对比');% semilogy(SNRtheo,theo_perr_qam16);% hold on;semilogy(SNR,perr_qam16_rec,'*');hold on;semilogy(SNR,perr_qam16_star,'o');xlabel('SNR in dB');ylabel('Prb of Err');legend('方形16QAM','星形16QAM');title('16QAM误码性能对比');%------------------------------------------------------------------------------- %% 基带成型function base_info=base_shape(fd,fs,f,seq_16QAM)%平方根升余弦滤波器,滚降系数0.5,延迟3个采样点flt=rcosine(fd,fs,'sqrt',0.5);%I路和Q路seq_Q=real(seq_16QAM);seq_I=imag(seq_16QAM);%增采样R=fs/fd;up_seq_Q=upsample(seq_Q,R);up_seq_I=upsample(seq_I,R);%升余弦调制rcos_Q=conv(up_seq_Q,flt);rcos_I=conv(up_seq_I,flt);%提升rcos_Q_up=interp(rcos_Q,f/fs);rcos_I_up=interp(rcos_I,f/fs);base_info=rcos_Q_up+j*rcos_I_up;%--------------------------------------------------------------------%% 载波解调function [data_rx base_rx]=CarrierDemod(fd,fs,fc,f,receive)%% 分两路乘正交高频载波rc_length=length(receive);flt=rcosine(fd,fs,'sqrt',0.5);t=0:rc_length-1;rc_Q=receive .* sin(2*pi*fc*t/f);rc_I=receive .* cos(2*pi*fc*t/f);%减采样后根升余弦匹配滤波,注意对齐采样点down_Q=downsample([0 rc_Q],f/fs);down_I=downsample(rc_I,f/fs);low_Q_rcos=conv(down_Q,flt);low_I_rcos=conv(down_I,flt);base_rx=low_Q_rcos(1:length(low_I_rcos))+j*low_I_rcos;%两次根升余弦滤波延迟,定位初始信号位置%delay+1:end-delay-1R=fs/fd;delay=3*R*2;rc_Q_seq=(downsample(low_Q_rcos(delay+1:end-delay-1),R));rc_I_seq=(downsample(low_I_rcos(delay+1:end-delay-1),R)); %类型转换data_rx=rc_Q_seq+j*rc_I_seq;%--------------------------------------------------------------------------%% 载波调制function transmit=CarrierMod(fc,f,base)%载波调制t=0:length(base)-1;high_freq_Q=real(base) .* sin(2*pi*fc*t/f);high_freq_I=imag(base) .* cos(2*pi*fc*t/f);transmit=high_freq_Q+high_freq_I;%------------------------------------------------------------------------------%% QAM解调程序,将MQAM码元还原为二进制数据% 入口参数:data_QAM:QAM码元数据% M_QAM:MQAM中M的大小% 出口参数:二进制数据比特流%------------------------------------------------------------------------function data_out=QamDemod(data_QAM,M_QAM)k=log2(M_QAM);%每个M进制码元的bit数data_len=length(data_QAM);%码元长度%-------------------------------------------------------------------%QAM信号放缩至与发送端相同比例data_temp=data_QAM(find(real(data_QAM>0)));aver=mean(real(data_temp));data_Qam_temp=data_QAM/aver*(2^(k/2-1));%------------------------------------------------------------------------%平移到第一象限data_Qam_temp2=(data_Qam_temp+(2^(k/2)-1)*(1+j))/2;%----------------------------------------------------------------------%将实部虚部分别映射为二进制数据%实部data_real=round(real(data_Qam_temp2));%实部判决data_real(find(data_real>(2^(k/2)-1)))=2^(k/2)-1;%大于2^(k/2)-1的数据判定为2^(k/2)-1 data_real(find(data_real<0))=0;%小于0的数据判为0bit_real=abs(dec2bin(data_real))-'0';%虚部data_imag=round(imag(data_Qam_temp2));%虚部判决data_imag(find(data_imag>(2^(k/2)-1)))=2^(k/2)-1;%大于2^(k/2)-1的数据判定为2^(k/2)-1 data_imag(find(data_imag<0))=0;%小于0的数据判为0bit_imag=abs(dec2bin(data_imag))-'0';%------------------------------------------------------------------------%还原为二进制比特流bit_rec=[bit_real,bit_imag]';data_out=reshape(bit_rec,1,data_len*k);%-------------------------------------------------------------------------------------------------------------%% QAM调制程序,实现二进制到MQam调制% 入口参数:binary:二进制数据% M_QAM:MQAM中M的大小% 返回参数:MQAM码元%------------------------------------------------------------------------function data_M = QamMod(binary,M_QAM)k=log2(M_QAM);%每个M进制码元的bit数data_len=length(binary);%比特长度binary_rec=reshape(binary,k,data_len/k)';%转化为data_len/k行,k列,的矩阵,以便转化为16进制M进制%计算实部data_str1=num2str(binary_rec(:,1:k/2));data_m_real=bin2dec(data_str1);%计算虚部data_str2=num2str(binary_rec(:,k/2+1:k));data_m_imag=bin2dec(data_str2);%实部虚部映射到MQamdata_M=((data_m_real*2-2^(k/2)+1)+j*(data_m_imag*2-2^(k/2)+1)).';%---------------------------------------------------------------------------------%% 星形16QAM映射function data_m16 = SrarQamMod(binary)%binary=randint(1,100);%产生随机序列data_len=length(binary);%比特长度binary_rec=reshape(binary,4,data_len/4)';%转化为data_len/4行,4列,的矩阵,以便转化为16进制data_str=num2str(binary_rec);data_dec=bin2dec(data_str);data_mm16=(floor(data_dec/8)+1).*exp(j*45/180*pi*mod(data_dec,8));data_m16=reshape(data_mm16,1,data_len/4);%------------------------------------------------------------------------------%% 星形16QAM解调function data_bit = StarQamDemod(qam_rev)%qam_rev=xing_qam16_noise(1:10);am=abs(qam_rev);%幅度判定am(find(am>2))=2;%幅度大于2的判定为2am(find(am<1.5))=1;%幅度大于2的判定为2%相位判定ang=angle(qam_rev)/pi*180;%将-180度到0度变为180度到360度ang(find(ang<0))=ang(find(ang<0))+360;ang_n=round(ang/45);ang_n(find(ang_n>7))=0;data_dec=8*(round(am)-1)+ang_n;%data_dec(find(data_dec>15))=15;%大于15的判定为15%data_dec(find(data_dec<0))=0;%小于0的判定为0data_bit_rec=dec2bin(data_dec);data_bit=reshape(data_bit_rec',1,length(qam_rev)*4)-'0';。
矩形波导衰减常数的研究
关于矩形波导衰减常数的研究一、 摘要平常我们经常研究的都是理想条件下的波导,但是在实际条件下波导传输电磁场时会有不同程度的损耗,主要分为介质损耗和导体损耗。
本文通过理论分析和程序仿真研究矩形波导中的导体损耗的影响。
二、 引言在矩形波导中由导壁所引起的衰减是主要的,在此情况下已有的解不再正确,因为边界条件已经改变,现在导体上E 的 切向分量是很小的,而场只是从无损耗的解微有改变,或受到“微扰”,现在可先用无损耗的解求导体上H 的近似值,再求导体内耗散功率的近似值,即用“微扰法”求解。
三、 理论1.微扰法的理论依据:导体的导电率高,趋肤深度小,损耗低,有耗波导中场与理想波导中场差别不大,微扰。
2.求解步骤:(1)理想波导中场--》有耗波导中场;(2)有耗波导中场有指数衰减;(3) 传输功率:(4) 单位长度功率损耗:(5) 衰减常数计算:四、计算:1、矩形波导TE10模的衰减常数计算:(1)无耗波导的场为:(2)单位长度导体损耗:00()z z j zE x E e E e e γαβ---==00()z z j z H x H e H e e γαβ---==z t S t e P ds z H E P α20*ˆRe 21-=⋅⨯=⎰ P dzdPP L α2=-=PP L 2=αzy ea x E E γπ-⎪⎪⎭⎫ ⎝⎛=sin 0z x e a x E j H γπωμγ-⎪⎭⎫ ⎝⎛=sin 0z c z e a x E j k H γπωμ-⎪⎭⎫ ⎝⎛=cos 02200202121⎪⎪⎭⎫ ⎝⎛===⎰==f f b E R dy H R P P c s b z s a x LC x LC η ()⎥⎥⎦⎤⎢⎢⎣⎡⎪⎪⎭⎫ ⎝⎛+=+==⎰==22020022014121f f Z a E R dx H H R P P c s a z x s b y LC y LC η ()⎥⎥⎦⎤⎢⎢⎣⎡+⎪⎪⎭⎫ ⎝⎛+=+++=====b a f f Z a E R P P P P P cs a x LC x LC b y LC y LC LC 2212202000η(3)单位长度功率:(4)导体衰减常数:2、按上述步骤可求得TM11模的衰减常数为:22332)/(122a b a b f fc ab R P P s LC c ++-==ηα 3、利用Matlab 对TE10和TM11模在不同材料,不同频率,不同尺寸下的计算得到如下结果:1)不同频率fc —3fc ,2)不同材料比较:红绿蓝青线依次表示铝金铜银,电导率依次增大。
有效折射率法求矩形波导色散曲线(附Matlab程序)
光波导理论与技术第二次作业题目:条形波导设计*名:**学号:************指导老师:***完成日期:2014 年03 月19 日一、题目根据条形光波导折射率数据,条形波导结构如图1所示,分别针对宽高比d a :为1:1与1:2两种情形,设计:(1)满足单模与双模传输的波导尺寸范围;(需要给出色散曲线) (2)针对两种情况,选取你认为最佳的波导尺寸,计算对应的模折射率。
(计算时假设上、下包层均很厚)图1 条形波导横截面示意图二、步骤依题意知,条形波导参数为:5370.11=TE n ,5100.12=TE n ,444.13=TE n ;5360.11=TM n ,5095.12=TM n ,444.13=TM n 。
其中321n n n 、、分别代表芯心、上包层、下包层相对于nm 1550=λ光波的折射率。
本设计采用有效折射率法作条形波导的归一化色散曲线,条形波导的横截面区域分割情况如图2所示:图2 条形波导横截面分割图对于xmn E 模式,x E 满足如下波动方程:[]0),(22202222=-+∂∂+∂∂eff x x n y x n k yE x E 由于导波模式在x 与y 方向上是非相干的,采用分离变量法后再引入)(220x N k 得到如下两个独立的波动方程:0)()](),([)(222022=-+∂∂y Y x N y x n k yy Y 0)(])([)(222022=-+∂∂x X n x N k xx X eff 可以将条形波导等效成y 方向和x 方向受限的平板波导,先求y 方向受限平板波导的TE 模式,求得x N 后将其作为x 方向受限的平板波导的芯层折射率并求其TM 模式,得到的有效折射率eff n 就是整个条形波导的有效折射率。
y 方向受限平板波导的TE 模式的色散方程为:2212422212222210arctan arctan xx x x xN n n N N n n N n N n d k --+--+=-π (...2,1,0=n ) 其中1n 、2n 、4n 都是TE 模式的有效折射率从而x 方向受限平板波导的TM 模式的色散方程为:⎪⎪⎭⎫ ⎝⎛--+⎪⎪⎭⎫ ⎝⎛--+=-2225225222232232220arctan arctan eff x eff xeffx eff xeffx n N n n n N n N n n n N m nN a k π(...2,1,0=m ) 其中3n 、5n 都是TM 模式的有效折射率。
阵列波导光栅matlab程序
阵列波导光栅matlab程序
摘要:
1.阵列波导光栅概述
2.MATLAB 程序在阵列波导光栅设计中的应用
3.阵列波导光栅的优化设计
4.结论
正文:
一、阵列波导光栅概述
阵列波导光栅(Arrayed Waveguide Grating,简称AWG)是一种光波导器件,可以用来实现光信号的波分复用和解复用。
在光通信领域,波分复用技术是一种提高光纤传输系统容量的有效手段。
AWG 作为波分复用器的关键组成部分,其性能的优劣直接影响到整个系统的性能。
二、MATLAB 程序在阵列波导光栅设计中的应用
MATLAB 是一种强大的数学软件,可以用来模拟和分析阵列波导光栅的性能。
通过编写MATLAB 程序,可以计算阵列波导光栅的波导参数、光学特性以及信道间的串扰等重要指标。
此外,MATLAB 还可以根据设计要求优化阵列波导光栅的结构,以提高其性能。
三、阵列波导光栅的优化设计
为了提高阵列波导光栅的性能,需要对其进行优化设计。
首先,可以通过调整波导的尺寸和形状来优化波导的传输特性。
其次,可以采用不同的阵列结构来减小信道间的串扰。
此外,还可以通过优化波导的材料和制造工艺来提高
阵列波导光栅的性能。
四、结论
阵列波导光栅是实现光波分复用技术的重要组成部分。
通过利用MATLAB 程序进行设计,可以优化阵列波导光栅的性能,从而提高整个光通信系统的传输容量和性能。
FDM_matlab
end
%---对k矩阵得处理
[fai,v]=eig(ke);
[m,n]=find(v<0); %找出所有负特征值的坐标
l=length(m);
for i=1:l
fu2(i)=v(m(i),n(i)); %将所有负特征值放入数组fu中。
k4=kc2(2);
ez2=fai(:,m(index2(2))); %次小TE模的特征向量
else
k3=kc2(2);
ez1=fai(:,m(index2(2))); %最小TE模的特征向量
k4=kc2(3);
for j=1:y
km(i+(j-1)*kx,:)=0;
end
end
%---对k矩阵得处理
[fai,v]=eig(km);
[m,n]=find(v<0); %找出所有负特征值的坐标
l=length(m);
for i=1:l
hold on
% plot(k33,beta,'g--');
% hold on
% plot(k44,beta,'c--');
% hold on
ylabel('beta');
xlabel('kc')
if k1>kc(2) %分辨基模与第一高阶模的类型
x2max=x2min+fix(d/h);
%-----------------------------TM波----------------------------------%
矩形导波和圆波导场分布 matlab
矩形导波和圆波导是电磁波传播领域常见的两种波导结构。
它们在无线通信、微波技术、雷达系统等领域具有重要应用价值。
Matlab是一种强大的科学计算软件,可以用于分析和模拟电磁波在矩形导波和圆波导中的场分布。
本文将针对矩形导波和圆波导场分布的Matlab分析和模拟进行详细介绍。
1. 矩形导波场分布的Matlab分析和模拟矩形导波是一种矩形截面的波导结构,常见于微波器件和天线系统中。
在Matlab中,可以通过Maxwell方程组的数值解来分析矩形导波中的场分布。
通过设定矩形导波的几何尺寸和工作频率,可以利用Matlab进行电磁场的模拟和分析,得到矩形导波中的电场和磁场分布图,并进一步分析波导内的功率传输和传输损耗。
这对于设计和优化微波器件和天线系统具有重要的意义。
2. 圆波导场分布的Matlab分析和模拟圆波导是一种圆形截面的波导结构,常见于雷达系统和天线阵列中。
在Matlab中,同样可以利用Maxwell方程组的数值解来分析圆波导中的场分布。
通过设定圆波导的几何尺寸和工作频率,利用Matlab进行电磁场的模拟和分析,同样可以得到圆波导中的电场和磁场分布图,并进一步分析波导内的功率传输和传输损耗。
这对于设计和优化雷达系统和天线阵列具有重要的意义。
3. Matlab在矩形导波和圆波导场分布分析中的应用Matlab是一种功能强大、灵活多样的科学计算软件,它在电磁场分析和模拟领域具有广泛的应用。
在矩形导波和圆波导场分布分析中,Matlab可以提供丰富的数学工具和绘图函数,方便工程师和研究人员进行电磁场的模拟和分析工作。
通过Matlab,可以直观地观察到矩形导波和圆波导中的场分布特性,为工程设计和研究提供重要的参考依据。
4. 结语矩形导波和圆波导是电磁波传播领域重要的波导结构,它们在无线通信、微波技术、雷达系统等领域具有广泛的应用。
通过Matlab对矩形导波和圆波导场分布进行分析和模拟,可以帮助工程师和研究人员更好地理解电磁场在波导中的传播规律,为相关领域的设计和优化提供有力的支持。
矩形波导matlab求解
矩形波导matlab求解题目:1、已知宽度为50mm, 高度为34mm的矩形波导管,长度为5m。
忽略边缘效应,该波导管中的场满足方程:220m, n为波沿x轴和y轴的模式画出:1. m=1,n=02. m=2, n=3 时波导管中的场分布1、求解定解问题2、用Matlab(C语言/Java, etc.)编程,画出求解区域中的场二维分布图,横坐标为x轴/y轴/z轴,纵坐标为电位值2x k 2yk1.求解方程对于TM 波,Hz=0,Ez 满足如下关系: Ez=Eoz(x, y)e(-j βz)在直角坐标系中,上式可写作0),(),()(22222=+∂∂+∂∂y x E k y x E yx oz c oz 应用分离变量法, 令Eoz(x, y)=X(x)Y(y) 代入上式, 并除以X(x)Y(y), 得:22222)()(1)()(1ck dy y Y d y Y dx x X d x X =---要使上式成立, 上式左边每项必须均为常数, 设分和可得 0)()(222=+x X k dxx X d x 0)()(222=+y Y k dyy Y d y +2x k 22cy k k =于是, Eoz(x, y)的通解为:Eoz(x,y)=(A1coskxx+A2sinkxx)(B1coskyy+B2sinkyy)其中, A1A2B1B2为待定系数, 由边界条件确定。
Ez 应满足的边界条件为:0||0====a x x Ez Ez||0====b y y Ez Ez代入可得02=A 02=B am K xπ=bn K yπ=于是方程的基本解为zj mn z j z ey bn x a m E e y b n x a m B A E ββππππ--==)sin()sin()sin()sin(11zj mn c Xe y bn x a m E a m k j E βπππβ--=)sin()cos(2zj mn c ye y bn x a m E b m k j E βπππβ--=)cos()sin(2z j mn c Xe y bn x a m E b m k jw H βπππε-=)cos()sin(2zj mn c ye y bn x a m E a m k jw H βπππε-=)sin()cos(-20=Hz截止波长λc=2*pi/(((m*pi/a)^2+(n*pi/b)^2)^0.5)截止频率fc=c/λc 无尽空间中波长λ0=3*10^8/f (f 为工作频率) 波导波长λg=l0/((1-(3*10^8/(lc*f))^2)^0.5) 相位常数B=2*pi/lg w=B*(3*10^8)由激励源强度决定可得TM 波其他横向 用matlab 画出场分布 在matlab 中新建m 文件mnEfunction n(ao,bo,d,Emn,f,m,n,t)%画矩形波导场结构所有计算单位为米 a0,b0输入为毫米%f工作频率/波长%lg 波导波长%lc TM11模截止波长%a b 波导尺寸%d 采样精度%t t时刻的场结构图a=ao/1000;b=bo/1000;lc=2*pi/(((m*pi/a)^2+(n*pi/b)^2)^0.5);l0=3*10^8/f;u=1/(36*pi)*10^(-9);lg=l0/((1-(3*10^8/(lc*f))^2)^0.5);c=lg;B=2*pi/lg;w=B*(3*10^8);x=0:a/d:a;y=0:b/d:b;z=0:c/d:c;[x1,y1,z1]=meshgrid(x,y,z);Ex=B./((m*pi./a)^2+(n*pi./b)^2).*(m*pi./a).*Emn.*cos(m*pi ./a.*x1).*sin(n*pi./b.*y1).*sin(w*t-B.*z1);Ey=B./((m*pi./a)^2+(n*pi./b)^2).*(n*pi./b).*Emn.*sin(m*pi ./a.*x1).*cos(n*pi./b.*y1).*sin(w*t-B.*z1);Ez=Emn.*sin(m*pi./a.*x1).*sin(n*pi./b.*y1).*cos(w*t-z1.*B );quiver3(z1,x1,y1,Ez,Ex,Ey,'b');hold on;x2=x1-0.05;y2=y1-0.05;z2=z1-0.05;Hz=zeros(size(z2));Hy=-w.*u./((m*pi./a)^2+(n*pi./b)^2).*(m*pi./a).*Emn.*cos( m*pi./a.*x2).*sin(n*pi./b.*y2).*sin(w*t-B.*z2);Hx=-w.*u./((m*pi./a)^2+(n*pi./b)^2).*(n*pi./b).*Emn.*sin( m*pi./a.*x2).*cos(n*pi./b.*y2).*sin(w*t-B.*z2);quiver3(z2,x2,y2,Hz,Hx,Hy,'r'); xlabel('传输方向');ylabel('波导宽边a');zlabel('波导窄边b');hold off;End当m=1,n=1时在命令框输入n(50,34,10,1,5.5*10^9,1,1,0)场分布如图当m=2,n=3时输入如下命令n(50,34,10,1,5*10^10,2,3,0)。
矩形波导
专题研究:矩形波导TE 模波各模式的MATLAB 实现信息与通信工程 徐锋南 3071102319ABSTRACT :本文主要依据电磁场与电磁波课本推导的矩形波导TE 模波各模式的分布公式,利用MATLAB 强大的图形显示和计算功能,从矩形波导的各个平面对TE 模波的各模式进行了静态分析和动态分析,旨在加强同学们对矩形波导的理解。
一、 理论预备1、根据《电磁场与电磁波》(第二版),将矩形波导的推导公式展示如下:其中主要参数的说明:(以TEmn 模为例) m : x 方向驻波的半波个数 n : y 方向驻波的半波个数 a : 矩形波导x 向的物理长度 b : 矩形波导y 向的物理长度mn A : 常数Kz : z 向的传播常数 w : 电磁波的频率 t :传播时间∑−=nm z k t j mnx z e y b n x a m b n A E ,)( sin cos 'ωπππ∑−−=nm z k t j mny z e y bn x a m a m A E ,)( cos sin 'ωπππ0'=z E ∑−=nm z k t j z mnx z e y b n x a m am k A H ,)( cos sin 'ωπππωμ∑−=nm z k t j z mny z e y b n x a m bn k A H ,)( sin cos 'ωπππωμ∑−⎥⎦⎤⎢⎣⎡+−=nm z k t j mn z ze y b n x a m a m b n jA H ,)(22222 cos cos 'ωππωμπ2、主模TE10模)(10sinz k t j y z e x aaA E −−=ωππ)(10sin z k t j z x z e x aa k A H −=ωππωμ )(2210 cos 1z k t j z z e x aa jA H −−=ωππωμ 0===y z x H E E二、主要MATLAB 函数简介1、meshgrid『用法』:[X,Y] = MESHGRID(x,y)『作用』:将x ,y 转换成能画3 D 的数据。
金属波导管Matlab的计算-毕业论文
---文档均为word文档,下载后可直接编辑使用亦可打印--- 摘要MATLAB是一个适宜很多门专业学科,多种任务平台的性能强力可视化计算软件,有着各种各样的库函数,工具箱和仿真应用模块。
可引用MA TLAB去进行科学研讨和处理各种工程设计与实际问题。
因而,我们在解决电磁场数值求解问题时,可以借助于MATLAB强大的开发环境和交互式工具去求解电磁场实际问题,并能绘制出金属波导装置中各种模式下传输的电磁波的场分布图。
在垂直于电磁波传输目的的横截面上,有差异形式的电磁波具有各种各样模式的场分布结构图,每一种场分布就是一种形式,在如矩形,圆形导波设备中可以传输不同形式的电磁波,我借助MA TLAB研究,由于MA TLAB具有适用于多门学科,强大的可视化计算软件,具备不同大量的库函数,工具箱和仿真应用模块。
能够运用MALTAB的偏微分方程数值求解工具箱和汇编的程序来求解实际问题的答案,并绘出不同模式的电磁波。
因此,在解决电磁场数值及图形问题时,我们可以引用MA TLAB控制系统的设计与仿真和工程与科学绘图的功能去研究金属波导装置中不同模式下导波传输的场分布。
这样,图形简单明了,可以加强我们对金属波导装置的理解与实际应用。
关键词:MA TLAB;金属波导管;电磁波;电磁场的分布图AbstractMATLAB is a suitable for many professional discipline, a variety of task performance of pow erful visualization computing software platform, with all kinds of library functions, toolbox a nd simulation application module. Can refer to the MATLAB to scientific research and proces sing all kinds of engineering design and practical problems. Therefore, we in the electromagn etic field is used to solve the problem, can with the aid of MA TLAB powerful development en vironment and interactive tools for solving electromagnetic field problems, and can map out metal waveguide device in all kinds of mode of transmission of electromagnetic field distribut ion.On cross section perpendicular to the electromagnetic wave transmission the purpose of, there are differences in the form of electromagnetic wave with various mode field distribution diag ram, each field distribution is a kind of form, such as rectangular, circular wave guide device can transmit in the different forms of electromagnetic wave, I with the aid of MA TLAB to stu dy, because the MA TLAB has applied to different subjects, powerful visualization computing software, have different amounts of library functions, toolbox and simulation application mod ule. Can use MALTAB, the partial differential equation is used to solve the toolbox and assem bly process to solve the actual problem of answer, and draw different patterns of electromagne tic waves.Therefore, in the electromagnetic field numerical and graphical solution, we can refer to the d esign of control system and MA TLAB simulation and drawing function to engineering and sci ence research metal waveguide devices in different mode field distribution of guided wave tra nsmission. So, graphics simple, can strengthen our understanding of metal waveguide device and practical application.Key words: Matlab;Metal waveguide; The electromagnetic wave;The distribution of electromagnetic field目录TOC \o "1-3" \h \z \u 摘要IAbstract II绪论11导波模式的分类31.1 横电磁波(TEM波)31.2 横电波(TE波)31.3 横磁波(TM波)32 金属导波装置中的波模分析42.1 金属矩形波导中的TM波及TE波42.2 圆形波导中的TE模及TM模53金属波导管不同波模下MATLAB的实现83.1 MA TLAB程序用于金属矩形波导垂直于传播方向截面不同模式下的场分布83.2 MA TLAB程序用于金属圆形波导不同模式下的场分布9总结11参考文献12致谢14绪论目前,高频电磁波被大量的应用于很多范围,如通信技术,电视,网络通讯等,所以,研究高频电磁波对于我们的生活以及未来有着瞻远性的意义,比如研讨高频电磁波能量传输的效果。
矩形te10模传输方式的场结构matlab代码
矩形te10模传输方式的场结构matlab代码要计算矩形 TE10 模的场结构,可以使用以下 MATLAB 代码: ```matlab
% 定义矩形波导尺寸
L = 100;
W = 50;
H = 20;
% 定义 TE10 模的极化方向
p = -1;
% 定义 TE10 模的边界条件
)[U, V, W] = freqz(p, L, W, H);
U(:, 1) = 0;
V(:, 1) = 0;
W(:, 1) = 0;
% 计算 TE10 模的频谱
[~, w] = freqz(p, L, W, H);
f = w / (2 * pi);
% 绘制 TE10 模的场结构
figure;
plot3(f, U, V, W);
title("TE10 Mode");
xlabel("Frequency (MHz)");
ylabel("U (V)");
zlabel("V (V)");
```
代码中,首先定义了矩形波导的尺寸,然后定义了 TE10 模的极化方向,并将其边界条件设置为球面波。
接着,使用`freqz`函数计算 TE10 模的频谱,并将其转换为频率。
最后,使用`plot3`函数绘制 TE10 模的场结构。
请注意,这只是一个简单的示例代码,仅用于说明如何计算矩形TE10 模的场结构。
实际上,TEM01 模也可以应用于矩形波导传输,但其场结构与 TE10 模略有不同。
矩形波导计算matlab代码
%f l0工作频率/波长
%lg波导波长%lc TE10模截止波长
%a b波导尺寸%c传输方向这里取为波导波长
%d采样精度%t t时刻的场结构图
a=ao/1000;
b=bo/1000;
lc=2*a; %TE10截止频率
l0=3*10^8/f;
u=4*pi*10^(-7);
3.用quiver3函数,绘制磁场分布。允许图像叠加。
4.用quiver3函数,绘制电场分布。不允许图像叠加。
C.三维的电力磁力线分布效果图
图1
图2
C.附程序清单
rectwavestrct1(22.86,10.16,6,1,9.84*10^9,0.03);%main
function rectwavestrct1(ao,bo,d,H0,f,t)
if(l0>lc)
return;
else
clf;
lg=l0/((1-(l0/lc)^2)^0.5);
c=lg;
B=2*pi/lg;
w=B/(3*10^8);
x=0:a/d:a;
y=0:b/d:b;
z=0:c/d:c;
[x1,y1,z1]=meshgrid(x,y,z);
%mesh(x1,y1,z1);
ylabel('波导宽边a');
zlabel('波导窄边b');
hold off;
end
%------------------------------------------------------------------End Code----------------------------------
爱问基本MATLAB指令介绍
基本MATLAB 指令介紹 (I)I. 建立各種矩陣的指令1. 直接輸入矩陣的方法:將數字置於[ ]中,並以分號” ; ”做為換行的記號。
如果沒有分號,或以逗號分隔元素,均會產生一個列向量(row vector)。
試比較:a=[1 2 3;4 5 6;7 8 9],a=[1 2 3 4 5 6 7 8 9],a=[1;2;3;4;5;6;7;8;9], a=[1, 2, 3, 4, 5, 6, 7, 8, 9]2. 矩陣中可以放矩陣,這便是分割矩陣(partition matrix)的概念:試比較:a=[1 2;3 4],b=[5 6;7 8],c=[a b],d=[a ; b]3. 利用冒號” : ”可以從一個矩陣中擷取一子矩陣(submatrix):例如,若輸入a=[1 2 3;4 5 6;7 8 9],則試比較:b=a(1:2,: ),c=a(:,1:2),d=a(1:2,1:2)4. 利用冒號” : ”可以使矩陣變成一行向量(column vector):試比較:a=[1 2;3 4;5 6],b=a(:),c=[1 2 3 4],d=c(:)5. 利用冒號” : ”可以等差方式建立列向量:試比較:a=-1:0.5:3,x=1:5,z=6:-1:16. 建立元素均為1的矩陣:例如,ones(3,3),ones(5,2)7. 建立元素均為0的矩陣:例如,zeros(3,3),zeros(5,2)8. 建立單位矩陣:例如,eye(4)代表一個4╳4的單位矩陣9. 建立對角線元素為{}λλλ1 2 n 的對角線矩陣:diag([]λλλ1 2 n )10. 擷取任意矩陣a 的對角線元素:diag(a)11. 擷取任意矩陣a 的上三角部分:triu(a);擷取任意矩陣a 的下三角部分:tril(a)12. 建立n ×n 之隨機矩陣:rand(n);建立m ×n 之隨機矩陣:rand(m,n)II. 矩陣運算的指令1. 基本算數指令:+、-、×、\2. 任意矩陣a的轉置矩陣(transpose):a′3. 非奇異矩陣a的逆矩陣(inverse):inv(a)4. 任意方陣a的行列式(determinant):det(a)5. 兩個矩陣之元素間的對應運算:.*./.^例如,a=[1 2;3 4],b=[5 6;7 8],試求a.*b、a./b、a.^26. 將矩陣a化為Reduced Row Echelon Form:rref(a)7. 若解線性系統Ax=b,且A為一非奇異方陣,則x = A\b = inv(A)*b8. 查詢矩陣a的列數與行數:size(a) 或[m,n]=size(a)9. 查詢列向量或行向量X的元素數目:length(X)III. 向量空間之運算1. 任意矩陣a的rank:rank(a)2. 任意矩陣a之null space的基底向量:null(a)3. 任意兩個向量a,b之內積:dot(a,b)4. 任意兩個向量a,b之外積:cross(a,b)IV. 特徵值與特徵向量的運算1. 任意矩陣a的特徵值:eig(a)2. 任意矩陣a的對角化矩陣(D)及其特徵向量所構成之矩陣(P):[P,D]=eig(a) (注意相似矩陣的定義:D=P-1AP)3. 任意矩陣a之特徵多項式的係數,即det(a-λI)=0展開後形成λ之多項式的係數(依降冪方式排列):poly(a)注意事項:1. 在MATLAB指令視窗(command window)中執行指令時,若在指令尾端打上分號,則執行結果不會顯示在視窗上,若不打分號,才可見到執行結果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ez=zeros(size(z2));
quiver3(z2,x2,y2,ez,ex,ey,'r');
xlabel('传输方向');
ylabel('波导宽边a');
zlabel('波导窄边b');
hold off;
c=lg;
B=2*pi/lg;
w=B/(3*10^8);
x=0:a/d:a;
y=0:b/d:b;
z=0:c/d:c;
[x1,y1,z1]=meshgrid(x,y,z);
%mesh(x1,y1,z1);
hx=-B.*a.*H0.*sin(pi./a.*x1).*sin(w*t-B.*z1)./pi;
hz=H0.*cos(pi./a.*x1).*cos(w*t-z1.*B);
hy=zeros(size(y1));
quiver3(z1,x1,y1,hz,hx,hy,'b');
hold on;
x2=x1-0.001;
y2=y1-0.001;
z2=z1-0.001;
ex=zeros(size(x2));
利用Matlab实现矩形波导电磁场分布图的绘制(附源程序)
通过Matlab计算并绘出任意时刻金属矩形波导的主模TE10模的电磁场分布图。波导尺寸、工作频率及时刻均由外部给定。
A.矩形波导中传输的主模为TE10模。设金属波导尺寸为a*b,TE10模的截止波长为2*a。其电磁场分量可推导表示如下:
(1-1)
end
%------------------------------------------------------------------End Code----------------------------------
C.三维的电力磁力线分布效果图
图1
图2
C.附程序清单
rectwavestrct1(22.86,10.16,6,1,9.84*10^9,0.03);%main
function rectwavestrct1(ao,bo,d,H0,f,t)
%画矩形波导场结构所有计算单位为米输入为毫米
%f l0工作频率/波长
%lg波导波长%lc TE10模截止波长
%a b波导尺寸%c传输方向这里取为波导波长
%d采样精度%t t时刻的场结构图
a=ao/1000;
b=bo/1000;
lc=2*a; %TE10截止0^(-7);
if(l0>lc)
return;
else
clf;
lg=l0/((1-(l0/lc)^2)^0.5);
上式中各参量如下,
(1-2)
B.用Matlab画电磁力线的步骤:
1.由外部给定的波导尺寸、工作频率参照(1-2)式计算得到参量。
2.由外部给定的绘图精度,分别确定电场和磁场的坐标点。按照公式(1-1)计算得到电场、磁场的分量。
3.用quiver3函数,绘制磁场分布。允许图像叠加。
4.用quiver3函数,绘制电场分布。不允许图像叠加。