《微波工程课程设计实验报告Smith圆图程序设计.docx》由会员分享,可在线阅读,更多相关《微波工程课程设计实验报告Smith圆图程序设计.docx(6页珍藏版)》请在三一办公上搜索。
1、微波工程课程设计实验报告Smith圆图程序设计一、摘要 Smith圆图主要用语计算微波网络的阻抗、导纳及网络阻抗匹配设计,还可用于设计微波元器件。Smith圆图软件不仅适用于微波工程设计,也可用于电磁场、微波技术及天线与电波传播等。本软件可形象的演示圆图上的阻抗值、导纳值与反射系数。 二、设计目的 微波网络的正弦稳态分析含有复数计算,运算十分繁琐和耗时。在计算机运算速度和内存不够发达以前,图解分析法达到长足发展,其中多年来运用最广的事Smith圆图。在计算微波传输线输入阻抗、导纳、及阻抗匹配等问题时,它不仅能避开繁琐的公式及复数运算,是工程设计总相关计算简单便捷,而且图解过程物理概念清晰,所的
2、结果直观形象。但随着计算机技术的飞速发展,图解法在计算精度上的固有缺陷日益显现,因为,圆图的设计精度取决于圆图中必须有足够的圆周数,而且过多的圆周会导致图线过于密集,不便将阻抗,反射系数、电压驻波系数及电长度等相关数据从图上直接读出。通过对圆图构成的基本原理和应用问题的分析,利用现代计算机技术可以解决原图计算精度等问题,为此设计Simth圆图。 三、设计要求 圆图软件设计要求计算结果以图形和数据并行输出,整个圆图软件分为用户图形界面模块、圆图计算模块、圆图演示模块。圆图计算模块分为反射系数计算、单支节匹配计算、输入阻抗计算及整个Smith圆图;画图演示模块分为等归一化电阻圆、等归一化电抗圆、反
3、射系数圆等;确定阻抗值在圆图上的位置、圆图的基本应用、求输入阻抗及其在圆图上的位置以及单支节匹配等问题。 四、程序流程图 程序结构模型: 功能实现图: 五、演示验证过程 1、打开Smith圆图软件 2、点击“Smith圆图”按钮,观察到图形区内出现了已经画好的圆图,绿色是反射系数圆,紫色是阻抗圆实部,紫色是阻抗圆虚部。 3、在图形区点住鼠标左键不放,此时移动鼠标时,在图形区中自动画出鼠标所在点的Smith圆图,蓝色是反射系数圆,红色是阻抗圆。在界面的右边可以读出此时的反射系数、阻抗值、导纳值,并且计算出该点的驻波比和行波系数,判断该点是否是波腹或者波节点。 4、在“输入实部和虚部”的文本框中,
4、输入任意实数,按下“计算”按钮,图形区中会画出该点归一化后的圆图,在右边的文本框中会显示此处的的归一化反射系数、阻抗值、导纳值,并且计算出该点的驻波比和行波系数,判断该点是否是波腹或者波节点。 附录: 1、源程序 Dim trace As Integer Dim sb, xb, u, v, q, k, p, t, shib, xub, w As Single Private Sub Command1_Click /点击该按钮对输入归一化阻抗进行计算与画圆 Dim f As Integer Picture1.Cls Picture1.Scale (-1, 1)-(1, -1) Picture1.
5、Circle (0, 0), 1, RGB(0, 255, 255) Picture1.Line (-1, 0)-(1, 0), RGB(0, 0, 0) Picture1.Line (0, 1)-(0, -1), RGB(0, 0, 0) sb = shib xb = xub u = (sb 2 + xb 2 - 1) / (sb + 1) 2 + xb 2) v = 2 * xb / (sb + 1) 2 + xb 2) q = (1 - u 2 - v 2) / (1 + u) 2 + v 2) w = (-2 * v) / (1 + u) 2 + v 2) t = Sqr(v 2 +
6、u 2) p = (1 + t) / (1 - t) k = 1 / p Picture1.Circle (u, v), 0.01, RGB(255, 250, 66) Picture1.Circle (0, 0), t, RGB(255, 250, 0) Picture1.Circle (sb / (sb + 1), 0), 1 / (sb + 1), RGB(255, 0, 0) Picture1.Circle (1, 1 / xb), Abs(1 / xb), RGB(255, 0, 0) Text1.Text = u Text2.Text = v Text3.Text = sb Tex
7、t4.Text = xb Text5.Text = q Text6.Text = w Text7.Text = p Text8.Text = k If sb = p Then Text9.Text = 波腹点 ElseIf sb = k Then Text9.Text = 波节点 Else Text9.Text = 一般点 End If End Sub Private Sub Command2_Click /点击该点画出SMITH圆图 Picture1.Cls Dim i, r, a, b, j As Single Picture1.Scale (-1, 1)-(1, -1) For i =
8、0.1 To 1 Step 0.1 Picture1.Circle (0, 0), i, RGB(0, 255, 255) Next i r = 0 a = 0 b = 0 For j = 0 To 10 r = r + 0.05 a = a - 0.02 b = b + 0.02 Picture1.Circle (r / (r + 1), 0), 1 / (r + 1), RGB(100, 100, 255) Picture1.Circle (1, 1 / a), 1 / Abs(a), RGB(255, 255, 100) Picture1.Circle (1, 1 / b), 1 / b
9、, RGB(255, 255, 100) Next j r = 2 a = -1 b = 1 For j = 0 To 20 r = r + 0.5 a = a - 0.5 b = b + 0.5 Picture1.Circle (r / (r + 1), 0), 1 / (r + 1), RGB(100, 100, 255) Picture1.Circle (1, 1 / a), 1 / Abs(a), RGB(255, 255, 100) Picture1.Circle (1, 1 / b), 1 / b, RGB(255, 255, 100) Next j r = 0.5 a = -0.
10、2 b = 0.2 For j = 0 To 15 r = r + 0.1 a = a - 0.1 b = b + 0.1 Picture1.Circle (r / (r + 1), 0), 1 / (r + 1), RGB(100, 100, 255) Picture1.Circle (1, 1 / a), 1 / Abs(a), RGB(255, 255, 100) Picture1.Circle (1, 1 / b), 1 / b, RGB(255, 255, 100) Next j Picture1.Line (-1, 0)-(1, 0), RGB(0, 0, 0) Picture1.
11、Line (0, 1)-(0, -1), RGB(0, 0, 0) End Sub Private Sub Command3_Click /指出导纳点 Picture1.Circle (-u, -v), 0.01, RGB(220, 250, 255) Picture1.Line (-u, -v)-(u, v), RGB(20, 50, 255) End Sub Private Sub Command4_Click /指出波节点 Picture1.Circle (-t, 0), 0.01, RGB(220, 250, 255) End Sub Private Sub Command5_Clic
12、k /指出波节点 Picture1.Circle (t, 0), 0.01, RGB(220, 250, 255) End Sub Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) trace = True /当鼠标按下时,进行取点画图 End Sub Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) trace = Fals
13、e /当鼠标未按下,则不进行画图计算 End Sub Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If trace Then /在鼠标移动中,当鼠标按下,画出该点的阻抗圆并进行计算 u = X v = Y Picture1.Cls Dim i, r, a, b, j As Single Picture1.Scale (-1, 1)-(1, -1) Picture1.Line (-1, 0)-(1, 0), RGB(255, 255, 255) Pict
14、ure1.Line (0, 1)-(0, -1), RGB(255, 255, 255) Picture1.Circle (0, 0), 1, RGB(0, 255, 255) sb = (1 - (u 2 + v 2) / (1 - u) 2 + v 2) xb = 2 * v / (1 - u) 2 + v 2) q = (1 - u 2 - v 2) / (1 + u) 2 + v 2) w = (-2 * v) / (1 + u) 2 + v 2) t = Sqr(u 2 + v 2) p = (1 + t) / (1 - t) k = 1 / p Picture1.Circle (0
15、, 0), t, RGB(0, 2, 255) Picture1.Circle (u, v), 0.01, RGB(255, 250, 66) Picture1.Circle (sb / (sb + 1), 0), 1 / (sb + 1), RGB(255, 0, 0) Picture1.Circle (1, 1 / xb), Abs(1 / xb), RGB(255, 0, 0) Text1.Text = u Text2.Text = v Text3.Text = sb Text4.Text = xb Text5.Text = q Text6.Text = w Text7.Text = p
16、 Text8.Text = k If sb = p Then Text9.Text = 波腹点 ElseIf sb = k Then Text9.Text = 波节点 Else Text9.Text = 一般点 End If End If End Sub Private Sub Text10_Change shib = Val(Text10.Text) /在文本框中输入归一化阻抗的实部 End Sub Private Sub Text11_Change xub = Val(Text11.Text) /在文本框中输入归一化阻抗的虚部 End Sub 程序截图: 实验心得:通过本次课程设计,我对SMITH圆图有个更深刻的认识,并且对用VB编程有了一定的掌握 ,在实验过程中也遇到了许多的问题和困惑,在老师和同学的帮助下,解决了一部分难题,还有一些问题需要在以后的学习中完善和解决。+