微波工程课程设计实验报告Smith圆图程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
、摘要
Smith 圆图主要用语计算微波网络的阻抗、导纳及网络阻抗匹配设计,还可用于设计微波元器件。Smith 圆图软件不仅适用于微波工程设计,也可用于电磁场、微波技术及天线与电波传播等。本软件可形象的演示圆图上的阻抗值、导纳值与反射系数。
二、设计目的
微波网络的正弦稳态分析含有复数计算,运算十分繁琐和耗时。在计算机运算速度和内存不够发达以前,图解分析法达到长足发展,其中多年来运用最广的事Smith 圆图。在计算微波传输线输入阻抗、导纳、及阻抗匹配等问题时,它不仅能避开繁琐的公式及复数运算,是工程设计总相关计算简单便捷,而且图解过程物理概念清晰,所的结果直观形象。但随着计算机技术的飞速发展,图解法在计算精度上的固有缺陷日益显现,因为,圆图的设计精度取决于圆图中必须有足够的圆周数,而且过多的圆周会导致图线过于密集,不便将阻抗,反射系数、电压驻波系数(VSWR及电长度等相关数据从图上直接读出。通过对圆图构成的基本原理和应用问题的分析,利用现代计算机技术可以解决原图计算精度等问题,为此设计Simth 圆图。
三、设计要求
圆图软件设计要求计算结果以图形和数据并行输出,整个圆图软件分为用
户图形界面模块、圆图计算模块、圆图演示模块。圆图计算模块分为反射系数计算、单支节匹配计算、输入阻抗计算及整个Smith 圆图;画图演示模块分为等归一化电阻圆、等归一化电抗圆、反射系数圆等;确定阻抗值在圆图上的位置、圆图的基本应用、求输入阻抗及其在圆图上的位置以及单支节匹配等问题。
四、程序流程图
程序结构模型:
功能实现图:
五、演示验证过程
1打开Smith 圆图软件
2、点击“Smith 圆图”按钮,观察到图形区内出现了已经画好的圆图,绿色 是反射系
数圆,紫色是阻抗圆实部,紫色是阻抗圆虚部。
3、在图形区点住鼠标左键不放,此时移动鼠标时,在图形区中自动画出鼠 标所在点的
Smith 圆图,蓝色是反射系数圆,红色是阻抗圆。在界面的右边可以 读出此时的反射系数、阻抗值、导纳值,并且计算出该点的驻波比和行波系数, 判断该点是否是波腹或者波节点。
4、在“输入实部和虚部”的文本框中,输入任意实数,按下“计算”按钮, 图形区中
会画出该点归一化后的圆图,在右边的文本框中会显示此处的的归一化 反射系数、阻抗值、导纳值,并且计算出该点的驻波比和行波系数,判断该点是 否是波腹或者波节点。
附录:
1、 源程序
Dim trace As Integer
王髀面
甲支■砸配计片
底
(1
1 It
£
化 p n 抗
主界面
Dim sb, xb, u, v, q, k, p, t, shib, xub, w As Single
Private Sub Command1_Click() //点击该按钮对输入归一化阻抗进行计算与画圆Dim f As Integer
(-1, 1)-(1, -1)
(0, 0), 1, RGB(0, 255, 255)
(-1, 0)-(1, 0), RGB(0, 0, 0)
(0, 1)-(0, -1), RGB(0, 0, 0)
sb = shib
xb = xub
u = (sb A 2 + xb A 2 - 1) / ((sb + 1)人 2 + xb 人2)
v = 2 * xb / ((sb + 1) A 2 + xb A 2)
q = (1 - u A 2 - v A 2) / ((1 + u) A 2 + v A 2)
w = (-2 * v) / ((1 + u) A 2 + v A 2)
t = Sqr(v A 2 + u A 2)
p = (1 + t) / (1 - t)
(u, v), , RGB(255, 250, 66)
(0, 0), t, RGB(255, 250, 0)
(sb / (sb + 1), 0), 1 / (sb + 1), RGB(255, 0, 0)
(1, 1 / xb), Abs(1 / xb), RGB(255, 0, 0)
= sb
= xb
If sb = p Then
= " 波腹点"
ElseIf sb = k Then
= " 波节点"
Else
End If
End Sub
Private Sub Command2_Click() // 点击该点画出SMITH 圆图
Dim i, r, a, b, j As Single
(-1, 1)-(1, -1)
For i = To 1 Step
(0, 0), i, RGB(0, 255, 255)
Next i
For j = 0 To 10
(r / (r + 1), 0), 1 / (r + 1), RGB(100, 100, 255)
(1, 1 / a), 1 / Abs(a), RGB(255, 255, 100)
(1, 1 / b), 1 / b, RGB(255, 255, 100)
Next j
a = -1
(r / (r + 1), 0), 1 / (r + 1), RGB(100, 100, 255) (1, 1 / a), 1 / Abs(a), RGB(255, 255, 100)
(1, 1 / b), 1 / b, RGB(255, 255, 100)
Next j
For j = 0 To 15
(r / (r + 1), 0), 1 / (r + 1), RGB(100, 100, 255) (1, 1 / a), 1 / Abs(a), RGB(255, 255, 100)
(1, 1 / b), 1 / b, RGB(255, 255, 100)
Next j
(-1, 0)-(1, 0), RGB(0, 0, 0)
(0, 1)-(0, -1), RGB(0, 0, 0)
End Sub
Private Sub Command3_Click()
(-u, -v), , RGB(220, 250, 255) (-u, -v)-(u, v), RGB(20, 50, 255) End Sub
Private Sub Command4_Click() // 指出导纳点// 指出波节点