当前位置:文档之家› 南京邮电大学软件设计实验报告

南京邮电大学软件设计实验报告

软件设计报告( 2014 / 2015 学年第二学期)课程名称软件设计指导老师赵江实习时间第十八周学生姓名学号____学院______专业软件设计课程编号:B0465011C适用专业:班级:一、所涉及的课程及知识点涉及的课程:第6学期之前的专业基础课程。

知识点:专业基础课程中所学的知识点。

二、目的与任务目的:通过软件设计,培养学生的实践能力和创新精神,加强学生对专业基础课程的理解和掌握,加强学生高级语言编程能力、应用软件以及仿真能力。

任务:选择以下任一模块进行设计:Matlab软件仿真、C语言及应用。

软件设计的内容题目1:如果给出两个矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=136782078451220124A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=087654321B ,执行下面的矩阵运算命令。

(1)B A *5+和I B A +-分别是多少(其中I 为单位矩阵) (2)B A *⋅和B A *将分别给出什么结果,它们是否相同为什么 逻辑功能程序: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,启动程序编辑器。

输入完整程序后利用save as 储存为M 文件,文件名为EXP1。

返回主界面,在命令窗口“Command Window”中输入函数EXP1(),按下回车,得到程序运行结果如下:>> EXP1( )A+5*B=9 22 3532 70 10855 118 136A-B+I=4 10 178 41 7213 70 137A.*B=4 24 6048 225 468140 624 0A*B=192 228 84738 873 3061284 1518 528实验结果分析(1)利用MATLAB提供的disp函数既可以输出表达式、数值,也可以输出字符串,其调用方式为: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);hold 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=R^2');legend(['(x-',num2str(a),')^2+(y-',num2str(b),')^2=',num2str(R), '^2']);hold off;end实验过程与结果打开matlab,在命令窗口“Command Window”中键入edit,启动程序编辑器。

输入完整程序后利用save as储存为M文件,文件名为EXP2。

返回主界面,在命令窗口“Command Window”中输入函数EXP2(),按下回车,得到程序运行结果如下:>>EXP2(15,25,40)-100102030405060x 圆:(x-a)2+(y-b)2=R 2实验结果分析(1)构建关于圆的参数方程,使用hold on 的使用保证后绘的图不会覆盖先绘的图,在程序结束前使用hold off ;(2)为了使圆的圆心位置和半径长度等参数可调,所以函数使用了带参量的输入方式;(3)绘图使用plot 函数,带参数可以限制绘图范围,plot 函数绘制圆心用符号‘+’表示;(4)axis equal 是坐标轴刻度等距,这样是图形显示的不失真; (5)lengend 、num2str 函数添加图形注释,lengend 添加注释的调用格式为lengend(‘字符串’,num2str 使数值转换成字符,num2str (数值或数值的表达式);题目3:双极型晶体管基区少子浓度分布试绘出缓变基区的杂质分布为:①()()⎪⎪⎭⎫ ⎝⎛-=B B B WxN x N 10; ②()()xW B B BeN x N η-=0时,基区的少子浓度分布图,并能清楚解释各参量对少子浓度分布函数的影响。

程序说明:当晶体管偏置在有源放大区时,V C <0且|V C |>>kT /q ,集电结边缘处电子密度为零,即 x =W B ,n B (W B )=0。

由此边界条件,得到缓变基区少子浓度分布函数:⎰-=B W x B B nB nE B dx x N x N qD I x n )()(1)( 假定:I nE =;D nB =2cm 2/s ;W B =;q =。

逻辑功能程序function [ ] = Question3( ) syms 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},{,2,,*10^-19}); y=subs(y,x,a*WB); y=subs(y,{q},{*10^-19});for i=0:2:8yx=limit(y,eta,i);ezplot(yx,[0,1]);text'η=',num2str(i)]);hold on;endhold off;grid on;title('不同内建电场下的基区少子浓度分布');text,,['nB0=InE*WB/(q*DnB)=',num2str(nB0*10^-15),'*10^8cm^-2'] );xlabel('x/WB');ylabel('nBx*q*DnB/(InE*WB)');axis([0,1,0,1]);end实验过程与结果打开matlab,在命令窗口“Command Window”中键入edit,启动程序编辑器。

输入完整程序后利用save as储存为M文件,文件名为EXP1。

返回主界面,在命令窗口“Command Window”中输入函数EXP1(),按下回车,得到程序运行结果如下:>>Question3()0.10.20.30.40.50.60.70.80.9100.10.20.30.40.50.60.70.80.91x/WB不同内建电场下的基区少子浓度分布n B x *q *D n B /(I n E *W B )实验结果分析(1)当杂质浓度呈线性分布时,少子浓度分布呈线性变化。

少子浓度随基区宽度的增大逐渐减小;(2)当杂质浓度呈指数分布时,少子浓度分布也呈指数变化。

少子浓度随基区宽度的增大逐渐减小;(3)随着eta 的增大,基区少子浓度逐渐减少,这是因为内建电场增大的原因,达到同样电流密度所需少子浓度梯度较低;(4)符号变量及其表达式的使用需要提前定义,用syms 定义; (5)对符号或表达式的积分采用int 函数,可以指定上下限,也可以只是不定积分。

题目4:确定PN 结势垒区内电场分布和碰撞电离率随反偏电压的变化关系。

(1)基本目标:突变结分析(2)标准目标:突变结+线性缓变结分析 设计物理基础背景(1)突变结势垒区内电场分布分析内建电势02logD Abi i N N V V n = N 区耗尽区宽度 1202()s bi n D N V V q x N ε⎡⎤+⎢⎥⎣⎦=P 区耗尽区宽度 1202()s bi p A N V V q x N ε⎡⎤+⎢⎥⎣⎦=, 其中,V 为反偏电压,约化浓度 0D AD AN N N N N =+电场强度()E x 在耗尽区中的变化关系如下式(1-4)、(1-5)所示:()()n D sqE x x x N ε=+ (0n x x -≤≤)()()p A sqE x x x N ε=- (0p x x ≤≤)且()E x 在0x =处达到最大值 12max02()bi s q E N V V ε⎡⎤=+⎢⎥⎣⎦(2)线性缓变结电场分布分析内建电势 213012log 2s bi bi i V a V V n aq ε⎡⎤⎛⎫⎢⎥= ⎪⎢⎥⎝⎭⎢⎥⎣⎦其中,杂质浓度梯度a 为常数,不妨取1910a = 耗尽区宽度 ()131212sn p bi x x V V aq ε⎡⎤==+⎢⎥⎣⎦电场强度()E x 在0x =处达到最大值 ()2max 8n p saqE x x ε=+ 电场强度()E x 在耗尽区的变化关系为 2max 1pxE E x ⎡⎤⎛⎫⎢⎥=-⎪ ⎪⎢⎥⎝⎭⎣⎦(3)碰撞电离率随反偏电压的变化关系碰撞电离率 exp m i B A E α⎡⎤⎛⎫=-⎢⎥ ⎪⎝⎭⎢⎥⎣⎦碰撞电离率表达式中的常数值代入上式(1-11),得:电子碰撞电离率 651.23107.0310exp in E α⎡⎤⎛⎫⨯=⨯-⎢⎥ ⎪⎝⎭⎣⎦空穴碰撞电离率 662.03101.5810exp ip E α⎡⎤⎛⎫⨯=⨯-⎢⎥ ⎪⎝⎭⎣⎦附:191.6021910q C -=⨯ 1408.85410/F cm ε-=⨯,011.9s εε= 1031.510/i n cm =⨯00.026kTV q==V 逻辑功能程序function [ ] = Question4(ND,NA) syms V x ; V0=; ni=*10^10; epsilon0=*10^-14; q=*10^-19; a=10^19; An=*10^5; Bn=*10^6; Ap=*10^6; Bp=*10^6; m=1;epsilons=*epsilon0; N0=NA*ND/(NA+ND);Vbi=V0*log(ND*NA/ni^2); %常量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=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);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,x,0);%%%%%%%%%————作图——————%%%%%%%%%%%%%%%%%for i=0:2:8figure(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=',n um2str(i),'v']);grid on;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('线性缓变结电场分布');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(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),{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('线性缓变结电子碰撞电离率分布');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('线性缓变结空穴碰撞电离率分布');endend实验过程与结果运行matlab,在菜单栏中点击“File”,选择“New—>Function M-File”,命名为Question4,键入整个函数,在主界面的“Command Window”中输入函数Question4(ND,NA),其中ND是施主杂质浓度,NA是受主杂质浓度,按回车会显示结果,具体显示如下:>> Question4(2*10^16,9*10^16)-6-5-4-3-2-101x 10-50.511.525x突变结电场分布|E |-2-1012x 10-4123x 104x线性缓变结电场分布|E |-6-4-2x 10-5010203040x 突变结电子碰撞电离率分布(αi )(1/2)-6-4-2x 10-502468x 突变结空穴碰撞电离率分布(αi )(1/2)-2-1012x 10-4-100-80-60-40-20x线性缓变结电子碰撞电离率分布l o g 10(αi)-2-1012x 10-4-150-100-50x线性缓变结空穴碰撞电离率分布l o g 10(αi)实验结果分析(1)对多图的绘制,subplot 函数使不同类的函数分别绘制在不同的坐标中,同时使用hold on 让曲线叠加;(2)由突变结电场分布图得到势垒区内的电场强度与距离结的距离成线性关系,随着距离增大,电场强度逐渐从最大值减小,直到PN 结的边缘减少为零;(3)由突变结电场分布图还可以得到杂质浓度大的一侧结宽较小,而且结宽之比与浓度之比成反比;(4)电离率随着电场的增加增加,且在电场最大时电离率也是最大,而且电压依赖比较大,同等条件下空穴的电离率要小于电子的电离率;题目5:确定雪崩倍增因子随外加反偏电压的变化关系。

相关主题