散射求导电磁参数_第1页
散射求导电磁参数_第2页
散射求导电磁参数_第3页
散射求导电磁参数_第4页
散射求导电磁参数_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、 散射参数反演材料电磁参数群延迟方法在无线电频率范围内测量材料的复介电性能因其应用广泛从而得到越来越多的重视,尤其是在我们很多熟知的研究领域,如材料科学,微波电路设计,吸收器开发,生物研究等。介电测量的重要性体现在它可以提供材料电或磁的特性,被证明是可用于众多多研究和发展领域。许多方法已被开发来测量这些复杂的属性,如在时域或频域的方法;单端口或双端口的测量方法,但每个方法都受限于特定频率的性质和应用程序制约因素。随着新技术的不断出现和发展,现在可以将使用矢量网络分析仪测量的反射和透射系数,通过适当的软件程序进行计算,将数据转换为复介电常数性能参数。矢量矢量本论文目的是描述从使用网络分析仪测量出

2、的S参数进行计算从而得出材料的电磁特性的一般程序。 介电性能的测量包括测量材料的复数相对介电常数(r)和复数相对磁导率(<R)。复的介电常数由其实部和虚部组成。复介电常数的实部是一个测量的材料从外部电场所获得能量储存在材料中的部分。虚部是损耗因子(理想无损材料为零)。它是衡量的是材料由于外部电场而导致的能量损失。ghost也被称为耗散因子。 与之类似的复磁导率的实部表示材料在外部磁场中储存的能量,而虚部代表消散由于磁场的能量的量。以上的复磁导率的测量是只适用于磁性材料。大多数材料是非磁性的,因此,磁导率非常接近的真空磁导率。 S11定义为端口1反射的能量与端口1入射信号之比。S21定义为

3、通过DUT传输到端口2的能量与端口1的入射信号之比。S11和S21为前向S-参数,这是因为入射信号来自端口1的射频源。对于端口2的入射源,S22为端口2反射的能量与端口2入射信号之比,S12为通过DUT传输到端口1的能量与端口2入射信号之比。 它们都是反向S-参数。表征传输的S-参数,如S21,类似于增益、插入损耗、衰减等其它常见术语。 表征反射的S-参数,如S11,对应于电压驻波比(VSWR)、回波损耗或反射系数。 S-参数还具有其他优点。 它们被广泛认可并应用于现代射频测量。对于互易网络,有:S12S21;对于对称网络,有:S11S22 对于无耗网络,有:(S11)2(S12)21 ; 且

4、S参数可轻松转换成H、Z或其他参数。 多个设备可进行S-参数级联,以生成综合结果。 更重要的是,S参数用比率表示。 因此,用户无需将入射源功率设置为某个绝对值。 DUT的响应会反映输入信号的任何偏移,且当计算传输信号或反射信号与入射信号之比时,会对偏移进行补偿。网络分析仪有四个基本功能模块,如下图所示:通过S参数求导电磁参数目前方法比较多各有优缺点:测量方法试样所需S参数可得电磁参数传输/反射法T/R同轴,导波S11, S21r,r开放端口探测液体,生物体,凝胶S11r,自由空间耐高温材料,气体,长直扁平固体材料S11, S21r,r谐振方法液体,圆棍样固体,导波频率,Q因子r,r传输/反射线

5、法是一种流行的宽带测量方法。在该方法中,只有基本波导模式(TEM模式在同轴线路和TE在波导模式)被假定为传播。 传输/反射线法的优点同轴线和波导通常用于测量中高损耗样品。可同时确定被测材料的介电常数和导磁率传输/反射线法的缺点由于空气间隙的存在,测量精度相对不高。当样品长度的半波长的倍数,气测量结果精度低。 开放端口共轴探针法是一种非破坏性的方法,该方法假定只有TEM或TE模式传播。开放式同轴探针法的优点不需要加工样品,样品制备容易。仪器校准后,在很短的时间可测得大量的样品的介电性质。在温度严格控制的环境中,可进行测定。开放式同轴探针法的缺点只能测得反射参数S11。由于空气间隙的存在

6、,测量精度相对不高。 谐振的方法提供了高精度结果并可选择TE或TM传播模式。谐振法的优点能够测量非常小的MUT。近只需要样品和空腔的粗略值。共振法的缺点需要高频率方案的VNA。频率范围比较窄。 自由空间的方法是为宽带应用但只能用于TEM传播模式。自由空间法的优点可用于高频率测量。允许非破坏性测量。在恶劣环境中测量MUT。可同时确定被测材料的介电常数和导磁率。自由空间法的缺点需要大而扁平的MUT。多次天线和样品表面之间的反射。在样品的边缘有衍射效应。由S参数计算电磁参数的主要方法如下所示:计算方法所需S参数电磁参数NRWS11, S21, S12, S22 or S11, S

7、21r,rNIST iterativeS11, S21, S12, S22 or S11, S21r,r = 1New non-iterativeS11, S21, S12, S22 or S11, S21r,r = 1SCLS11r,在此处键入公式。Nicholson-Ross-Weir (NRW) 方法提供了一种直接用S参数计算出材料介电常数和导磁率。这是最常用的对S参数进行计算的方法。反射系数的测量和传输系数要求所有四个(S11,S21,S12,S22)或者一对(S11,S21)要测量被测材料的S-参数。然而,该方法分支对应于频率低损耗材料样品中的半波长的整数倍,这是由于相歧义。因此,它

8、被限制到最佳的样品厚度的1/ 4波长并要求样品长度短。NRW方法当样品中的波长为样品长度半波整数倍数时所采集到数据发散。这是由因为即在这些点相对应的S参数(S11)变得非常小。对于一个小的S参数(S11)的值的不确定性在VNA上是很大。因此造成的不确定性在这些频率上的发散。这些可以通过减少样品的长度,避免数据发散,但是在未知样品电磁参数时很难确定合适的样品长度。下图为一NRW方法的计算结果图。可清晰的看出半波长是的数据发散。NRW方法的优点快速,非迭代。适用于波导和同轴线。NRW方法的缺点半波长的倍数相对应的频率发散。样本长度应尽可能短。不适合低损耗材料。NIST的迭代方法进行计算,使用New

9、ton-Raphson数值计算方法但适于仅介电常数的计算。它使用所有四个(S11,S21,S 12,S22)或者一对(S11,S21)MUT的S-参数计算反射和透射系数。它运作良好,如果一个好的初始猜测是可用的。该方法绕过NRW方法中存在当样品厚度是一个半波长的整数倍的误差峰。它是适用于长样品和表征低损耗材料。下图为一NIST迭代法的计算结果图。可见避开了半波长的数据发散。通过使用该方法从S-参数可以计算出频谱稳定的介电常数,并且它允许测量任意长度的样品。该方法可以最大限度地减少NRW方法的数据发散,但只有非磁性材料(r = 1)可以使用这个方法测量。NIST的优点迭代法平滑介电常数的结果,没

10、有分歧。准确。可以使用任意长度的样品。强大的低损耗和高损耗材料。NIST的缺点迭代法适用于仅介电常数测量。需要介电常数值的初始猜测。新的非迭代法和NRW方法是相当类似的,但计算公式和NRW方法不同,它适于计算非磁性材料(r = 1)的介电常数。它使用所有四个(S11,S21,S12,S22)S-参数或两个(S11,S21)MUT的反射和透射系数进行计算。该方法的优点全频稳定可以采样任意长度。该方法是基于对NRW方法的简化版本没有观察到半波长倍数所出现的数据发散。它并不需要一个初始估计的介电常数,并能执行计算速度非常快。精度可比迭代方法。该方法使用的部分不同的计算程式从NRW方法可以很容易地扩展

11、到其他的测量样本,例如微带共面线。它也有出现的介电常数和导磁率中的表达有效的电磁参数。有效的电磁参数代表的传播模式。如下图所示未出现半波长的数据发散。新的非迭代方法的优点平滑介电常数的结果,没有发散。准确。可以使用任意长度的样品。快速,非迭代。没有最初的猜测需要。新的非迭代方法的缺点适用于仅介电常数测量。Short circuit line (SCL) 方法是一个同轴端口测量线或波导。它执行的计算使用与NIST的迭代法相同的Newton-Raphson数值计算方法但仅适合于计算介电常数。它利用的S11 参数计算反射系数。该方法要求具有良好的初始猜测,才可获得准确的结果。该方法还需要输

12、入样品长度和位置的精确测量。下图为显示通过SCL计算方法得到的数据SCL方法的优点平滑介电常数的结果,没有分歧。准确。可以使用任意长度的样品。对于宽带测量,最好使用长低损耗样品材料。SCL方法的缺点需要初始猜测。迭代。需要准确的样品长度。最后,用户需要知道合适的测量和转换的方法,以便测量其介电性能的材料。因为只有使用正确的方法于特定的材料才能得到可信的测量和计算结果。如果使用了错误的方法测量,计算,结果不会令人满意。下图总结了不同试样推荐的测量和计算方法:试样长,磁性测量方法转换计算方法计算速度准确度高损耗固体 + 短 + 非磁性传输/反射NRW快中等高损耗固体 + 短 +磁性传输/反射NRW

13、快中等低损耗固体 + 长 + 非磁性传输/反射NIST iterative慢好低损耗固体 + 长 + 非磁性传输/反射New non-iterative快好生物样本开放端口RFM快好液体开放端口RFM / Reference liquids快好/中等半固体开放端口RFM快好高温固体 + 大/平 + 非磁性开放空间NIST iterative / New non iterative慢/快好高温固体 + 大/平 + 非磁性开放空间NRW快中等低损耗固体 + 小 + 磁性谐振法Frequency & Q-factors慢好低损耗固体 + 校 + 非磁性谐振法Frequency & Q

14、-factors慢好除了测量和转换方法,速度和精度是最重要的特性。速度有多快涉及的测量方法能够提取S-参数转换方法的速度。精度取决于校准方法和使用的转换方法。材料电磁参数的测量技术一直是材料科学、微波电路设计、生物电磁效应、吸波隐身技术等领域的重要研究课题。在射频吸波材料吸收性能的仿真计算和干扰抑制用磁性材料的研究等活动中, 相对复介电常数和相对复磁导率的测量对于合理的选择材料、设计器件同样至关重要。根据被测材料的形态、损耗或色散特性及其应用的频段, 电磁参数的测量方法也多种多样。NRW传输/反射法是由Nicolson、Ross Weir等人于20世纪70年代提出的一种通过传输线测量材料电磁参

15、数(复介电常数与复磁导率)的方法。该方法将待测材料样品置入空气传输线(波导或者同轴线)中构成一个互易二端口网络, 通过矢量网络分析仪(VNA, vector networkanalyzer)测量该传输线的二端口网络S参数( Sparameters), 继而由散射方程推算得到被测材料的电磁参数。NRW传输/反射法具有频带宽( 1MHz30GHz)、易操作、精度高且仅需一次测量即可同时得到材料复介电常数与复磁导率等特点, 因而在测量不同损耗、磁性或非磁性材料电磁参数方面得到了广泛的应用。然而, 传统的NRW传输/反射法同时也存在半波谐振和多值性两个主要问题。减小试样厚度使其小于谐振波长的一半可以同

16、时解决这两个问题, 然而, 由于材料电磁参数未知, 无法确定合适的试样厚度, 且过小厚度的试样给加工和装夹带来了麻烦和误差。因此国内外研究人员主要是通过算法的研究来解决以上两个问题。Jarvis等人提出一种迭代的方法来解决半波谐振问题, 但是对于未知性能的待测材料, 正确预估其电磁参数是很困难的; 更多的研究者对求解方程式进行改写, 使得求解过程不会包含分母趋近于0的计算式, 从理论上消除了半波谐振问题。多值性问题的解决方法目前有冗余比较法,虚部补偿法等。第一种方法计算操作比较复杂繁琐 第2种方法则需要足够低的起始测试频率且没有给出确切的理论依据。所以本文在前人研究的基础上,采用是群延迟方法来

17、计算材料复介电常数与复磁导率。T/ R法测量原理该方法通过测量填充有被测介质的传输线( 波导或同轴线) 的反射与传输响应, 即两端口的S11、S21 参数, 推算出材料的电磁参数。假设被测材料( 相对复介电常数为r = r - jr , 相对复数磁导率为r = r - jr) 厚度为d, 填充于特性阻抗为50 的圆形同轴线的内、外导体之间, 如图1所示。平面波由自由空间投射到无限厚度的介质( 假设其电磁参数为r, ) 表面时, 会发生能量的反射, 反射系数为 但当介质的厚度有限时, 在空气- 介质的两个界面上将发生多次反射透射现象; 而且电磁波在穿图1 传输/反射法测量原理示意图越介质层时,

18、同时伴随有能量的衰减和相移。矢量网络分析仪采用扫频方式在传输线两端口测得的反射系数S11 与传输系数S21 应该是电磁波经多次反射( !1、!2、!3 #!n) 和透射( T1、T2、Tn) 后的叠加。由电磁场基础理论可以推出, 两端口的S参数与反射系数!及传输系数T之间的关系如下:S11 = VrflVin = (1 - T2)1 - 2T2S21 = VtrsVin = (1 - 2)T1 - 2T2T=exp(-l)= Zc- Z0Zc+ Z0= 0rrZc = Z0rr0=j00Z0= 1200 lnba式中, S11与S21为散射参数; 、T分别为反射和传输系数; l为试样厚度; 0

19、、分别为空气与样品区的传播常数; Z0、ZC 分别为空气和样品段同轴线的特性阻抗;0、 0分别为空气的介电常数和磁导率; r= r'- j r", r= r'- j r"分别为待测材料的相对复介电常数和相对复磁导率; =2f 为工作角频率; j为虚数单位。S参数转换假定l1段与l2 段空气同轴线无损耗, 则可测的基于校准端面(图1中面1与面4)的S参数(记为Sm)与试样端面(图1中面2和面3)的S参数之间的转换式为 (式中的ltotal = l1+ l+ l2为校准端面之间的距离):S11=S11m exp(20 l1)S21=S21mexp0 l1+ l2

20、 =S21mexp0 ltotal - l传输反射系数的计算公式:K= S11 2- S212+ 12S11=K ± K2- 1T= S11 + S21- 1 - (S11 + S21) 其中取| < 1 的解。电磁参数的确定:= lnT/lrr = 0rr= 1+ 1- r= 0 × 1+ 1- r= 0 × 1- 1+ 在这些计算公式中我们可以看到S参数和T都是复数值,进一步分析公式 = lnT/l中我们可以得到(T = |T|ej):= - lnT+ j( ±2n)l因此必然不是单值的,这就是NRW方法中遇到的多值性问题。围绕多值性的问题最近

21、有提出用虚部补偿法来解决多值性问题,但此方法要求扫频测试有较低的起始频率和较小的频率间隔, 以保证观察到所有虚部的跳变, 即n是以0为起始值, 且以1为间隔增加的。并且缺乏理论基础,因此本文利用群延迟的计算来解决这一问题。这种方法的思想是测量的具体频率间隔足够小, 使得传输参数的相位改变小于360度。对每一个频率的群延迟可以通过假定r 和r , 在频率增长很小的时候, 可以忽略r 和r 的变化。具体思路是由于试样引起的群延迟是关于试样长度的函数,因此延迟通过该材料是一种可以使用群延迟的函数计算来解决多值性。计算出正确的r和r,采用的方法就是比较的测得的群延迟和计算出的群延时找到一个正确的n值。

22、计算群延迟的公式:cal =lddf rrf2C2-1c2 =l ×1C2 × frr + f212drrdfrrf2C2-1c2f 为频率,C为真空中光速测量群延迟的公式为:meas = -12ddf用不同的n值计算出的n个计算群延迟于测量群延迟进行比较当:cal - meas 0也就是计算群延迟最接近测量群延迟时,此时的n值为计算电磁参数公式中应采用的值,由此消除了n值得不确定的问题。从而可以计算出准确的电磁参数。具体计算中的数值微分:df=frequency2-frequency1d=2- 1drr=r*r*- rr 既使用前后频率差来表示df,前后S参数的幅角差值来

23、表示d,drr则代入不同n值而计算出的r*r*减去前一已经计算出的数值得出。当然初始频率的电磁参数计算与其后的计算方式不同,由于采用了足够小的频率差,因此可以假设初始频率及紧随其后的数值在同一周期中,可以假设为同一n值同时代入用上述公式进行计算。既drr=2r*2r*- 1r*1r*具体计算的编程具体的数据计算采用的是python编程,使用了math包,cmath包,以及附加的科学计算程序numpython,绘图程序matplotlib。python简介Python的创始人为吉多·范罗苏姆(Guido van Rossum)。Python(英国发音:/pan/ 美国发音:/pan/)

24、,是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。与Scheme、Ruby、Perl、Tcl等动态语言一样,Python具备垃圾回收功能,能够自动管理存储器使用。它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务。Python虚拟机本身几乎可以在所有的作业系统中运行。使用一些诸如py2exe、PyPy、PyInstaller之类的工具可以将Python源代码

25、转换成可以脱离Python解释器运行的程序。Python的官方解释器是CPython,该解释器用C语言编写,是一个由社区驱动的自由软件,目前由Python软件基金会管理。Python支持命令式程序设计、面向对象程序设计、函数式编程、面向侧面程序设计、泛型编程多种编程范式。Python的设计哲学是“优雅”、“明确”、“简单”。因此其对手Perl语言中“总是有多种方法来做同一件事”的理念在Python开发者中通常是难以忍受的。Python开发者的哲学是“用一种方法,最好是只有一种方法来做一件事”。在设计Python语言时,如果面临多种选择,Python开发者一般会拒绝花俏的语法,而选择明确的没有或

26、者很少有歧义的语法。由于这种设计观念的差异,Python源代码通常被认为比Perl具备更好的可读性,并且能够支撑大规模的软件开发。这些准则被称为Python格言。在Python解释器内运行import this可以获得完整的列表。Python是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。Python支持重载运算符,因此Python也支持泛型设计。相对于Lisp这种传统的函数式编程语言,Python对函数式设计只提供了有限的支持。有两个标准库(functools, itertools)提供了Haskell和Standard

27、 ML中久经考验的函数式程序设计工具。虽然Python可能被粗略地分类为“脚本语言”(script language),但实际上一些大规模软件开发计划例如Zope、Mnet及BitTorrent,Google也广泛地使用它。Python的支持者较喜欢称它为一种高级动态编程语言,原因是“脚本语言”泛指仅作简单程序设计任务的语言,如shell script、VBScript等只能处理简单任务的编程语言,并不能与Python相提并论。Python本身被设计为可扩充的。并非所有的特性和功能都集成到语言核心。Python提供了丰富的API和工具,以便程序员能够轻松地使用C语言、C+、Cython来编写扩

28、充模块。Python编译器本身也可以被集成到其它需要脚本语言的程序内。因此,很多人谁?还把Python作为一种“胶水语言”(glue language)使用。使用Python将其他语言编写的程序进行集成和封装。在Google内部的很多项目,例如Google Engine使用C+编写性能要求极高的部分,然后用Python或Java/Go调用相应的模块。2Python技术手册的作者马特利(Alex Martelli)说:“这很难讲,不过,2004 年,Python 已在 Google 内部使用,Google 召募许多 Python 高手,但在这之前就已决定使用Python,他们的目的是 Pytho

29、n where we can, C+ where we must,在操控硬件的场合使用 C+,在快速开发时候使用 Python。”Python开发人员尽量避开不成熟或者不重要的优化。一些针对非重要部位的加快运行速度的补丁通常不会被合并到Python内。所以很多人认为Python很慢。不过,根据二八定律,大多数程序对速度要求不高。在某些对运行速度要求很高的情况,Python设计师倾向于使用JIT技术,或者用使用C/C+语言改写这部分程序。目前可用的JIT技术是PyPy。在很多作业系统里,Python是标准的系统组件。大多数Linux发布版以及NetBSD、OpenBSD和Mac OS X都集成了

30、Python,可以在终端机下直接运行Python。有一些Linux发布版的安装器使用Python语言编写,比如Ubuntu的Ubiquity安装器、Red Hat Linux和Fedora的Anaconda安装器。Gentoo Linux使用Python来编写它的Portage包管理系统。Python标准库包含了多个调用作业系统功能的库。通过pywin32这个第三方软件包,Python能够访问Windows的COM服务及其它Windows API。使用IronPython,Python程序能够直接调用 .Net Framework。一般说来,Python编写的系统管理脚本在可读性、性能、源代码

31、重用度、扩展性几方面都优于普通的shell脚本。Python的3.0版本,常被称为Python 3000,或简称Py3k5。相对于Python的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下兼容。许多针对早期Python版本设计的程序都无法在Python 3.0上正常运行。为了照顾现有程序,Python 2.6作为一个过渡版本,基本使用了Python 2.x的语法和库,同时考虑了向Python 3.0的迁移,允许使用部分Python 3.0的语法与函数。基于早期Python版本而能正常运行于Python 2.6并无警告的程序可以通过一个2 to

32、 3的转换工具无缝迁移到Python 3.06。新的Python程序建议使用Python 3.0版本的语法7。除非运行环境无法安装Python 3.0或者程序本身使用了不支持Python 3.0的第三方库。目前不支持Python 3.0的第三方库有Twisted, py2exe, PIL等。大多数第三方库都正在努力地兼容Python 3.0版本。即使无法立即使用Python 3.0,也建议编写兼容Python 3.0版本的程序,然后使用Python 2.6, Python 2.7来运行。Python 2.7被确定为最后一个Python 2.x版本,它除了支持Python 2.x语法外,还支持部

33、分Python 3.1语法。适用于Python的集成开发环境(IDE)软件,除了标准二进制发布包所附的IDLE之外,还有许多其他选择。其中有些软件设计有语法着色、语法检查、运行调试、自动补全、智能感知等便利功能。由于Python的跨平台出身,这些软件往往也具备各种操作系统的版本或一定的移植性。numpython简介的是Python编程语言的扩展,加入对庞大的多维数组和矩阵的支持,以及在这些阵列上运行大量高层次的数学函数库。Jim Hugunin 于几位开发者共同编写了的前身。2005年包括:1、一个强大的N维数组对象Array;2、比较成熟的(广播)函数库;3、用于整合C/C+和Fortran

34、代码的工具包;4、实用的线性代数、傅里叶变换和随机数生成函数。5、numpy和稀疏矩阵运算包scipy配合使用更加方便。绘图程序matplotlibmatplotlib它不仅提供一个非常快捷的用python可视化数据的方法,而且提供了出版质量的多种格式图像。需要安装numpy。程序由数据读取,数据计算,绘图三个主要模块构成:数据读取模块进行数据的读取和预处理,并将处理后的数据传递给数据计算模块进行计算出相应的电磁参数,主要内容如下:import os, sys, caculstep = 160000000if len(sys.argv) > 1: sdatafile = 'sys

35、.argv1'else : sdatafile = r'E:nrwgd5911data.txt'#print(sdatafile, gddatafile)with open(sdatafile, 'r') as sdata: while 1: line = sdata.readline() if not line: break while(not line.startswith("#") and (not line.startswith("!") and (not line.startswith("&qu

36、ot;"): ls = line.split() frequency = float(ls0) Res11 = float(ls1) Ims11 = float(ls2) Res21 = float(ls3) Ims21 = float(ls4) cacul.gdcaculate(frequency,Res11,Ims11,Res21,Ims21,step) break数据计算模块主要是通过文件读取模块来的数据进行计算群延迟和测量群延迟的计算,并通过比较两者之值来确定正确的n值,从而得出正确的电磁参数。主要内容如下:import math, cmath, ng#static n =

37、0def gdcaculate(frequency,Res11,Ims11,Res21,Ims21,step): c = 299792458 L = 3.5e-3 L1 = 2.85e-2 LT = 9.9898e-2 v0 =complex(0, (2 * math.pi * frequency)/c) s11m = complex(Res11, Ims11) s21m = complex(Res21, Ims21) s21 = s21m * cmath.exp( v0 * (LT-L) s11 = s11m * cmath.exp( 2 * v0 * L1) X = (s11*s11 -

38、s21*s21 + 1)/(2*s11) plusR = X + cmath.sqrt(X*X -1) minusR = X - cmath.sqrt(X*X -1) if abs(plusR) < 1: R = plusR else : R = minusR T = (s11 + s21 -R)/(1-(s11 + s21)*R) modulusT = abs(T) phaseT = cmath.phase(T) initialfq = 2E9 if (frequency > (initialfq +100): compare = 1000.0 measuregd = -(cma

39、th.phase(s21) - ng.angle)/(2 * math.pi * step) print(measuregd,ng.angle) ng.angle = cmath.phase(s21) print(ng.Ur,ng.Er) for n in range(0,100): supposev = complex(math.log(modulusT),(phaseT - 2*(math.pi)*n)/(-1 * L) supposeUr = (supposev/v0) * (1 + R)/(1 - R) supposeEr = (supposev/v0) * (1 - R)/(1 +

40、R) tcal = L * (frequency*supposeUr*supposeEr + 0.5*frequency*frequency*(supposeUr*supposeEr) - (ng.Ur*ng.Er)/step)/ (c*c*cmath.sqrt(frequency*frequency*supposeUr*supposeEr)/(c*c) #print(abs(tcal) if (abs(tcal - measuregd) < compare): compare = abs(tcal -measuregd) Ur = supposeUr Er = supposeEr N

41、= n ng.Ur = Ur ng.Er = Er ng.n = N with open('UrErresult.txt', 'a') as result: result.write(str(frequency) result.write(' ') result.write(str(ng.Ur.real) result.write(' ') result.write(str(ng.Ur.imag) result.write(' ') result.write(str(ng.Er.real) result.write

42、(' ') result.write(str(ng.Er.imag) result.write(' ') result.write(str(N) result.write('n') else : compare = 1000.0 ms11m = complex(0.22043, 0.44928) ms21m = complex(0.45446, 0.51653) ms21 = ms21m * cmath.exp( v0 * (LT-L1) ms11 = ms11m * cmath.exp( 2 * v0 * L1) mX = (ms11*ms11

43、 - ms21*ms21 + 1)/(2*ms11) mplusR = mX + cmath.sqrt(mX*mX -1) mminusR = mX - cmath.sqrt(mX*mX -1) if abs(mplusR) < 1: mR = mplusR else : mR = mminusR mT = (ms11 + ms21 -mR)/(1-(ms11 + ms21)*mR) mmodulusT = abs(mT) mphaseT = cmath.phase(mT) measuregd = -(cmath.phase(ms21) - cmath.phase(s21)/(2 * m

44、ath.pi * step) ng.angle = cmath.phase(s21) for n in range(-100,100): msupposev = complex(math.log(mmodulusT),(mphaseT - 2*(math.pi)*n)/(-1 * L) supposev = complex(math.log(modulusT),(phaseT - 2*(math.pi)*n)/(-1 * L) msupposeUr = (msupposev/v0) * (1 + R)/(1 - R) msupposeEr = (msupposev/v0) * (1 - R)/

45、(1 + R) supposeUr = (supposev/v0) * (1 + R)/(1 - R) supposeEr = (supposev/v0) * (1 - R)/(1 + R) tcal = L * (frequency*msupposeUr*msupposeEr + 0.5*frequency*frequency*(msupposeUr*msupposeEr) - (supposeUr*supposeEr)/step)/ (c*c*cmath.sqrt(frequency*frequency*msupposeUr*msupposeEr)/(c*c) if (abs(tcal -

46、 measuregd) < compare): compare = abs(tcal -measuregd) Ur = supposeUr Er = supposeEr N = n ng.Ur = Ur ng.Er = Er with open('UrErresult.txt', 'a') as result: result.write(str(frequency) result.write(' ') result.write(str(ng.Ur.real) result.write(' ') result.write(str(ng.Ur.imag) result.write(' ') result.write(str(ng.Er.real) result.write(' ') result.write(str(ng.Er.imag) result.write(' ') result.write(str(N) result.write(

温馨提示

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

评论

0/150

提交评论