南京邮电大学软件设计实验报告_第1页
南京邮电大学软件设计实验报告_第2页
南京邮电大学软件设计实验报告_第3页
南京邮电大学软件设计实验报告_第4页
南京邮电大学软件设计实验报告_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件设计报告( 2014 / 2015 学年 第 二 学期)课程名称 软件设计 指导老师 赵江 实习时间 第十八周 学生姓名 学号 _学院_专业软件设计课程编号:B0465011C适用专业:班级:一、所涉及的课程及知识点涉及的课程:第6学期之前的专业基础课程。知识点:专业基础课程中所学的知识点。二、目的与任务目的:通过软件设计,培养学生的实践能力和创新精神,加强学生对专业基础课程的理解和掌握,加强学生高级语言编程能力、应用软件以及仿真能力。 任务:选择以下任一模块进行设计:Matlab软件仿真、C语言及应用。软件设计的内容题目1:如果给出两个矩阵,执行下面的矩阵运算命令。(1) 和分别是多少(

2、其中I为单位矩阵)?(2) 和将分别给出什么结果,它们是否相同?为什么?逻辑功能程序:function = EXP1()A=4,12,20;12,45,78;20,78,136;B=1,2,3;4,5,6;7,8,0;I=eye(3);disp('A+5*B=');disp(A+5*B);disp('A-B+I=')disp(A-B+I);disp('A.*B=');disp(A.*B)disp('A*B=');disp(A*B);End实验过程与结果打开matlab,在命令窗口“Command Window”中键入edit,启动

3、程序编辑器。输入完整程序后利用save as储存为M文件,文件名为EXP1。返回主界面,在命令窗口 “Command Window”中输入函数EXP1(),按下回车,得到程序运行结果如下:>> EXP1( )A+5*B= 9 22 35 32 70 108 55 118 136A-B+I= 4 10 17 8 41 72 13 70 137A.*B= 4 24 60 48 225 468 140 624 0A*B= 192 228 84 738 873 306 1284 1518 528实验结果分析(1) 利用MATLAB提供的disp函数既可以输出表达式、数值,也可以输出字符串,

4、其调用方式为:disp(表达式或数值)、disp(待显示字符串);(2) 在MATLAB的矩阵运算中,+、-运算符通用,表示矩阵相加、减;*与.*不同在于*表示矩阵乘法,而.*表示矩阵对应位置元素相乘,所以*要求两个矩阵的行、列数互为转置,而.*则要求两个矩阵行、列数要相同;(3) 使用eye可以获得单位矩阵函数(矩阵对角线处元素为1,其余元素为0),矩阵的阶数由括号内的值决定,格式为eye(n),n为矩阵阶数。题目2:请绘制出一个圆形,要求用函数实现。逻辑功能程序function = EXP2(a,b,R)t=0:pi/150:2*pi;x=a+R*cos(t);y=b+R*sin(t);h

5、old on;plot(x,y);plot(a,b,'+');axis(a-R,a+R,b-R,b+R);axis equal;title('圆:(x-a)2+(y-b)2=R2');legend('(x-',num2str(a),')2+(y-',num2str(b),')2=',num2str(R),'2');hold off;end实验过程与结果打开matlab,在命令窗口“Command Window”中键入edit,启动程序编辑器。输入完整程序后利用save as储存为M文件,文件名为EX

6、P2。返回主界面,在命令窗口 “Command Window”中输入函数EXP2(),按下回车,得到程序运行结果如下:>>EXP2(15,25,40) 实验结果分析(1) 构建关于圆的参数方程,使用hold on的使用保证后绘的图不会覆盖先绘的图,在程序结束前使用hold off;(2) 为了使圆的圆心位置和半径长度等参数可调,所以函数使用了带参量的输入方式;(3) 绘图使用plot函数,带参数可以限制绘图范围,plot函数绘制圆心用符号+表示;(4) axis equal是坐标轴刻度等距,这样是图形显示的不失真;(5) lengend、num2str函数添加图形注释,lengen

7、d添加注释的调用格式为lengend(字符串,num2str使数值转换成字符,num2str(数值或数值的表达式);题目3:双极型晶体管基区少子浓度分布试绘出缓变基区的杂质分布为:;时,基区的少子浓度分布图,并能清楚解释各参量对少子浓度分布函数的影响。程序说明:当晶体管偏置在有源放大区时,VC<0且|VC|>>kT/q,集电结边缘处电子密度为零,即 x=WB,nB(WB)=0。由此边界条件,得到缓变基区少子浓度分布函数:假定:InE=0.01mA;DnB=2cm2/s;WB=0.05um;q=1.6e-19C。逻辑功能程序function = Question3( )syms

8、 x eta NB0 InE DnB WB q a;NB1x=NB0*(1-x/WB);NB2x=NB0*exp(-eta*x/WB);nBx=InE*int(NB2x,x,x,WB)/(NB2x*q*DnB);nB0=InE*WB/(q*DnB);y=nBx/nB0;nB0=subs(nB0,InE,DnB,WB,q,0.01,2,0.05,1.6*10-19);y=subs(y,x,a*WB);y=subs(y,q,1.6*10-19);for i=0:2:8yx=limit(y,eta,i);ezplot(yx,0,1);text(0.5-0.05*i,subs(yx,a,(0.5-0.

9、05*i),'=',num2str(i);hold on;endhold off;grid on;title('不同内建电场下的基区少子浓度分布');text(0.5,0.85,'nB0=InE*WB/(q*DnB)=',num2str(nB0*10-15),'*108cm-2');xlabel('x/WB');ylabel('nBx*q*DnB/(InE*WB)');axis(0,1,0,1);end实验过程与结果打开matlab,在命令窗口“Command Window”中键入edit,启动程序

10、编辑器。输入完整程序后利用save as储存为M文件,文件名为EXP1。返回主界面,在命令窗口 “Command Window”中输入函数EXP1(),按下回车,得到程序运行结果如下:>>Question3()实验结果分析(1) 当杂质浓度呈线性分布时,少子浓度分布呈线性变化。少子浓度随基区宽度的增大逐渐减小;(2) 当杂质浓度呈指数分布时,少子浓度分布也呈指数变化。少子浓度随基区宽度的增大逐渐减小;(3) 随着eta的增大,基区少子浓度逐渐减少,这是因为内建电场增大的原因,达到同样电流密度所需少子浓度梯度较低;(4) 符号变量及其表达式的使用需要提前定义,用syms 定义;(5)

11、 对符号或表达式的积分采用int函数,可以指定上下限,也可以只是不定积分。题目4:确定PN结势垒区内电场分布和碰撞电离率随反偏电压的变化关系。(1) 基本目标:突变结分析(2) 标准目标:突变结线性缓变结分析设计物理基础背景(1)突变结势垒区内电场分布分析内建电势 N区耗尽区宽度 P区耗尽区宽度 , 其中,为反偏电压,约化浓度 电场强度在耗尽区中的变化关系如下式(1-4)、(1-5)所示: () () 且在处达到最大值 (2)线性缓变结电场分布分析内建电势 其中,杂质浓度梯度为常数,不妨取耗尽区宽度 电场强度在处达到最大值 电场强度在耗尽区的变化关系为 (3)碰撞电离率随反偏电压的变化关系 碰

12、撞电离率 碰撞电离率表达式中的常数值材 料电 子空 穴硅1代入上式(1-11),得:电子碰撞电离率 空穴碰撞电离率 附: , V逻辑功能程序function = Question4(ND,NA)syms V x;V0=0.026;ni=1.5*1010;epsilon0=8.854*10-14;q=1.60219*10-19;a=1019;An=7.03*105;Bn=1.23*106;Ap=1.58*106;Bp=2.03*106;m=1;epsilons=11.9*epsilon0;N0=NA*ND/(NA+ND);Vbi=V0*log(ND*NA/ni2); %常量 xn=sqrt(2*

13、epsilons*N0*(Vbi+V)/q)/ND;xp=sqrt(2*epsilons*N0*(Vbi+V)/q)/NA;Exn=q*(xn+x)*ND/epsilons;Exp=q*(xp-x)*NA/epsilons;Emax=subs(Exn,x,0); %Vbih=V0*log(a/(2*ni)*(12*epsilons*Vbi/(a*q)(1/3)2);xp_h=(1/2)*(12*epsilons*(Vbi+V)/(a*q)(1/3);xn_h=xp_h;Emax_h=(a*q/(8*epsilons)*(xn_h+xp_h)2;E_h=Emax_h*(1-(x/xp_h)2);

14、 alphai_nn=An*exp(-(Bn/Exn)m);alphai_pn=An*exp(-(Bn/Exp)m);alphai_np=Ap*exp(-(Bp/Exn)m);alphai_pp=Ap*exp(-(Bp/Exp)m);alphai_nmax=subs(alphai_nn,x,0);alphai_pmax=subs(alphai_pp,x,0); alphai_nh=An*exp(-(Bn/E_h)m);alphai_ph=Ap*exp(-(Bp/E_h)m);alphai_nhmax=subs(alphai_nh,x,0);alphai_phmax=subs(alphai_ph

15、,x,0); %作图%for i=0:2:8 figure(1);subplot(2,1,1); %突变结ezplot(subs(Exn,V,i),-subs(xn,V,i),0);hold on;ezplot(subs(Exp,V,i),0,subs(xp,V,i);axis(-subs(xn,V,i),subs(xp,V,i),0,subs(Emax,V,i);ylabel('|E|');text(subs(xp/2,V,i),subs(Exp,x,V,subs(xp/2,V,i),i),'V=',num2str(i),'v');grid o

16、n;title('突变结电场分布');subplot(2,1,2); %缓变结ezplot(subs(E_h,V,i),-subs(xn_h,V,i),subs(xp_h,V,i);hold on;axis(-subs(xn_h,V,i),subs(xp_h,V,i),0,subs(Emax_h,V,i);ylabel('|E|');text(subs(xp_h/2,V,i),subs(E_h,x,V,subs(xp_h/2,V,i),i),'V=',num2str(i),'v');grid on;title('线性缓变结

17、电场分布'); figure(2); subplot(2,2,1); %突变结电子碰撞电离率ezplot(sqrt(subs(alphai_nn,V,i),-subs(xn,V,i),0);hold on;ezplot(sqrt(subs(alphai_pn,V,i),0,subs(xp,V,i);axis(-subs(xn,V,i),subs(xp,V,i),0,sqrt(subs(alphai_nmax,V,i);ylabel('(i)(1/2)');text(0,subs(sqrt(alphai_pn),x,V,0,i),'V=',num2str(

18、i),'v');grid on;title('突变结电子碰撞电离率分布');subplot(2,2,2); %突变结空穴碰撞电离率ezplot(sqrt(subs(alphai_np,V,i),-subs(xn,V,i),0);hold on;ezplot(sqrt(subs(alphai_pp,V,i),0,subs(xp,V,i);axis(-subs(xn,V,i),subs(xp,V,i),0,sqrt(subs(alphai_pmax,V,i);ylabel('(i)(1/2)');text(0,subs(sqrt(alphai_pp)

19、,x,V,0,i),'V=',num2str(i),'v');grid on;title('突变结空穴碰撞电离率分布'); subplot(2,2,3); %缓变结电子碰撞电离率ezplot(log10(subs(alphai_nh,V,i),-subs(xn_h,V,i),subs(xp_h,V,i);hold on;ylabel('log10(i)');text(0,subs(log10(alphai_nh),x,V,0,i),'V=',num2str(i),'v');grid on;title

20、('线性缓变结电子碰撞电离率分布');subplot(2,2,4); %缓变结空穴碰撞电离率ezplot(log10(subs(alphai_ph,V,i),-subs(xn_h,V,i),subs(xp_h,V,i);hold on;ylabel('log10(i)');text(0,subs(log10(alphai_ph),x,V,0,i),'V=',num2str(i),'v');grid on;title('线性缓变结空穴碰撞电离率分布');end end实验过程与结果运行matlab,在菜单栏中点击“F

21、ile”,选择“New>Function M-File”,命名为Question4,键入整个函数,在主界面的“Command Window”中输入函数Question4(ND,NA),其中ND是施主杂质浓度,NA是受主杂质浓度,按回车会显示结果,具体显示如下:>> Question4(2*1016,9*1016) 实验结果分析(1) 对多图的绘制,subplot函数使不同类的函数分别绘制在不同的坐标中,同时使用hold on让曲线叠加;(2) 由突变结电场分布图得到势垒区内的电场强度与距离结的距离成线性关系,随着距离增大,电场强度逐渐从最大值减小,直到PN结的边缘减少为零;(

22、3) 由突变结电场分布图还可以得到杂质浓度大的一侧结宽较小,而且结宽之比与浓度之比成反比;(4) 电离率随着电场的增加增加,且在电场最大时电离率也是最大,而且电压依赖比较大,同等条件下空穴的电离率要小于电子的电离率;题目5:确定雪崩倍增因子随外加反偏电压的变化关系。(1) 基本目标:突变结分析(2) 标准目标:突变结线性缓变结分析设计物理基础背景空穴雪崩倍增因子 电子雪崩倍增因子逻辑功能程序function = Question5(NA,ND)syms V x t;V0=0.026;ni=1.5*1010;epsilon0=8.854*10-14;q=1.60219*10-19;a=1019;

23、An=7.03*105;Bn=1.23*106;Ap=1.58*106;Bp=2.03*106;m=1;epsilons=11.9*epsilon0;N0=NA*ND/(NA+ND);Vbi=V0*log(ND*NA/ni2); %常量 %突变结雪崩倍增因子%for V=32:0.04:46 xn=sqrt(2*epsilons*N0*(Vbi+V)/q)/ND; xp=sqrt(2*epsilons*N0*(Vbi+V)/q)/NA; Exn=q*(xn+x)*ND/epsilons; Exp=q*(xp-x)*NA/epsilons; Emax=subs(Exn,x,0); %Vbih=V

24、0*log(a/(2*ni)*(12*epsilons*Vbi/(a*q)(1/3)2) alphai_nn=An*exp(-(Bn/Exn); alphai_pn=An*exp(-(Bn/Exp); alphai_np=Ap*exp(-(Bp/Exn); alphai_pp=Ap*exp(-(Bp/Exp); int0=quad(matlabFunction(alphai_nn-alphai_np),xn/1000-xn,0); int_nn=quad2d(matlabFunction(alphai_nn.*subs(alphai_nn-alphai_np,x,t),-xn,0,-xn,(x

25、) x); int_pn=quad2d(matlabFunction(alphai_pn.*(subs(alphai_pn-alphai_pp,x,t)+int0),0,xp,0,(x) x); int_n=int_nn+int_pn; Mn=1/(1-int_n); int_np=quad2d(matlabFunction(alphai_np.*subs(alphai_nn-alphai_np,x,t),-xn,0,-xn,(x) x); int_pp=quad2d(matlabFunction(alphai_pp.*(subs(alphai_pn-alphai_pp,x,t)+int0),

26、0,xp,0,(x) x); int_p=int_np+int_pp; Mp=1/(1-int_p); figure(1); subplot(2,1,1); plot(V,Mn);hold on; subplot(2,1,2); plot(V,Mp);hold on; end subplot(2,1,1); title('突变结电子雪崩倍增因子随电压变化');hold off; subplot(2,1,2); title('突变结空穴雪崩倍增因子随电压变化');hold off; %缓变结雪崩倍增因子%for V=165:0.2:245 xp_h=(1/2)*(

27、12*epsilons*(Vbi+V)/(a*q)(1/3); xn_h=xp_h; Emax_h=(a*q/(8*epsilons)*(xn_h+xp_h)2; E_h=Emax_h*(1-(x/xp_h)2); alphai_nh=An*exp(-(Bn/E_h)m); alphai_ph=Ap*exp(-(Bp/E_h)m); int2_n=quad2d(matlabFunction(alphai_nh.*subs(alphai_nh-alphai_ph,x,t),-xn_h,xp_h,-xn_h,(x) x); int2_p=quad2d(matlabFunction(alphai_p

28、h.*subs(alphai_nh-alphai_ph,x,t),-xn_h,xp_h,-xn_h,(x) x); Mn_h=1/(1-int2_n); Mp_h=1/(1-int2_p); figure(2); subplot(2,1,1); plot(V,Mn_h);hold on; subplot(2,1,2); plot(V,Mp_h);hold on;end subplot(2,1,1); title('缓变结电子雪崩倍增因子随电压变化');hold off; subplot(2,1,2); title('缓变结空穴雪崩倍增因子随电压变化');hold

29、 off; end实验过程与结果运行matlab,在菜单栏中点击“File”,选择“New>Function M-File”,命名为Question5,键入整个函数,在主界面的“Command Window”中输入函数Question5(ND,NA),其中ND是施主杂质浓度,NA是受主杂质浓度,按回车会显示结果,具体显示如下:>> Question5(2*1016,8*1016)实验结果分析(1) 对于相对复杂的函数,int函数符号积分无法进行运算,只能依靠人为处理化简,选择适当的定积分函数quad,和二重积分函数quad2d,可以减少程序运行的时间;(2) 由曲线得在很大范

30、围内倍增因子处于较小的值,而在很小范围内产生突变,曲线的右半侧曲线没有实际意义,因为已超过击穿电压,PN结已击穿;(3) 相同情况下,电子的击穿电压低于空穴的击穿电压。题目6:确定击穿电压随P区和N区浓度的变化关系。(1) 基本目标:突变结分析(2) 标准目标:突变结线性缓变结分析设计物理基础背景利用碰撞电离率积分方法确定击穿电压PN结的击穿电压,以及击穿时候的最高电场碰撞电离率依赖于电场强度,随着反偏电压的增加,不断增大直至发生击穿,此时的电场强度为。发生雪崩击穿的条件为 ,即上式中的积分趋于1,雪崩击穿条件可写为 或者 击穿时的电压为,最高电场为突变结 线性缓变结 逻辑功能程序functi

31、on = Question6( NA0,ND0 )syms V x t;V0=0.026;ni=1.5*1010;epsilon0=8.854*10-14;q=1.60219*10-19;a=1019;An=7.03*105;Bn=1.23*106;Ap=1.58*106;Bp=2.03*106;m=1;epsilons=11.9*epsilon0; %常量 %突变结击穿电压与浓度%Vout=50;for NA=NA0:NA0:50*NA0N0=NA*ND0/(NA+ND0);Vbi=V0*log(ND0*NA/ni2); int_n=2;V=Vout; while(int_n>1) x

32、n=sqrt(2*epsilons*N0*(Vbi+V)/q)/ND0; xp=sqrt(2*epsilons*N0*(Vbi+V)/q)/NA; Exn=q*(xn+x)*ND0/epsilons; Exp=q*(xp-x)*NA/epsilons; %Vbih=V0*log(a/(2*ni)*(12*epsilons*Vbi/(a*q)(1/3)2) alphai_nn=An*exp(-(Bn/Exn); alphai_pn=An*exp(-(Bn/Exp); alphai_np=Ap*exp(-(Bp/Exn); alphai_pp=Ap*exp(-(Bp/Exp); int0=quad

33、(matlabFunction(alphai_nn-alphai_np),xn/1000-xn,0); int_nn=quad2d(matlabFunction(alphai_nn.*subs(alphai_nn-alphai_np,x,t),-xn,0,-xn,(x) x); int_pn=quad2d(matlabFunction(alphai_pn.*(subs(alphai_pn-alphai_pp,x,t)+int0),0,xp,0,(x) x); int_n=int_nn+int_pn; V=V-Vout/500; end Vout=V+Vout/500; figure(1); s

34、ubplot(2,1,1); plot(NA,Vout,'+');hold on; Emax=subs(Exn,x,0); subplot(2,1,2); plot(NA,Emax,'+');hold on; endsubplot(2,1,1);title('突变结击穿电压随杂质浓度变化关系');hold off;subplot(2,1,2);title('突变结击穿时最高电场随杂质浓度变化关系');hold off; %缓变结击穿电压随浓度梯度关系%Vout=500;for ai=a/10:a/10:5*aN0=NA0*ND0/

35、(NA0+ND0);Vbi=V0*log(ND0*NA0/ni2); int2_n=2;V=Vout; while(int2_n>1) xp_h=(1/2)*(12*epsilons*(Vbi+V)/(ai*q)(1/3); xn_h=xp_h; Emax_h=(ai*q/(8*epsilons)*(xn_h+xp_h)2; E_h=Emax_h*(1-(x/xp_h)2); alphai_nh=An*exp(-(Bn/E_h)m); alphai_ph=Ap*exp(-(Bp/E_h)m); int2_n=quad2d(matlabFunction(alphai_nh.*subs(al

36、phai_nh-alphai_ph,x,t),-xn_h,xp_h,-xn_h,(x) x); V=V-Vout/500; end Vout=V+Vout/500; figure(2); subplot(2,1,1); plot(ai,Vout,'+');hold on; subplot(2,1,2); plot(ai,Emax_h,'+');hold on; endsubplot(2,1,1);title('缓变结击穿电压随杂质浓度梯度变化关系');hold off;subplot(2,1,2);title('缓变结击穿时最高电场随杂质浓度梯度变化关系');hold off;end实验过程与结果运行matlab,在菜单栏中点击“File”,选择“New>Function M-File”,命名为Question6,键入整个函数,在主界面的“Command Window”中输入函数Question6(ND,NA),其中ND是施主杂质浓度,NA是受主杂质浓度,按回车会显示结果,具体显示如下:>> Question6(3*1016,6*1016)实验

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论