




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
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在波導模式)被假定為傳播。 傳輸/反射線法的優點同軸線和波導通常用于測量中高損耗樣品??赏瑫r確定被測材料的介電常數和導磁率傳輸/反射線法的缺點由于空氣間隙的存在,測量精度相對不高。當樣品長度的半波長的倍數,氣測量結果精度低。 開放端口共軸探針法是一種非破壞性的方法,該方法假定只有TEM或TE模式傳播。開放式同軸探針法的優點不需要加工樣品,樣品制備容易。儀器校準后,在很短的時間可測得大量的樣品的介電性質。在溫度嚴格控制的環境中,可進行測定。開放式同軸探針法的缺點只能測得反射參數S11。由于空氣間隙的存在
6、,測量精度相對不高。 諧振的方法提供了高精度結果并可選擇TE或TM傳播模式。諧振法的優點能夠測量非常小的MUT。近只需要樣品和空腔的粗略值。共振法的缺點需要高頻率方案的VNA。頻率范圍比較窄。 自由空間的方法是為寬帶應用但只能用于TEM傳播模式。自由空間法的優點可用于高頻率測量。允許非破壞性測量。在惡劣環境中測量MUT??赏瑫r確定被測材料的介電常數和導磁率。自由空間法的缺點需要大而扁平的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、有分歧。準確??梢允褂萌我忾L度的樣品。強大的低損耗和高損耗材料。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?!盤ython開發人員盡量避開不成熟或者不重要的優化。一些針對非重要部位的加快運行速度的補丁通常不會被合并到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它不僅提供一個非??旖莸挠胮ython可視化數據的方法,而且提供了出版質量的多種格式圖像。需要安裝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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年公路橋梁工程師考試試卷及答案
- 2025年國際經濟法考試題及答案
- 低空經濟中智能無人機的應用與挑戰
- 門窗制作安裝承包合同書
- 行路難主題思想深度解析:九年級語文古詩文閱讀教學教案
- 那場大雨中的溫暖情感作文(8篇)
- 雨天的回憶記一次難忘的雨天經歷作文12篇
- 美容行業皮膚護理知識點測驗題目集
- 農民合作參與農業生產資源整合協議
- 一件感到慚愧的事700字15篇范文
- ISO-10358-1993譯文-塑料管材和管件-耐化學性綜合分類表
- 康復進修匯報
- 基于單片機的糧倉環境監測系統設計畢業論文
- 電力行業招投標培訓
- 2024年云南省中考物理試題含答案
- 2024年石家莊市市屬國企業面向社會公開招聘403名管理人員及專業技術人員高頻難、易錯點500題模擬試題附帶答案詳解
- 醫藥代表聘用合同模板
- 2024-2030年中國公路工程行業市場發展分析及前景預判與投資研究報告
- 工傷預防宣傳和培訓 投標方案(技術方案)
- 古代小說戲曲專題-形考任務4-國開-參考資料
- 2.4圓周角(第1課時)(課件)九年級數學上冊(蘇科版)
評論
0/150
提交評論