版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 散射參數(shù)反演材料電磁參數(shù)群延遲方法在無線電頻率范圍內(nèi)測(cè)量材料的復(fù)介電性能因其應(yīng)用廣泛從而得到越來越多的重視,尤其是在我們很多熟知的研究領(lǐng)域,如材料科學(xué),微波電路設(shè)計(jì),吸收器開發(fā),生物研究等。介電測(cè)量的重要性體現(xiàn)在它可以提供材料電或磁的特性,被證明是可用于眾多多研究和發(fā)展領(lǐng)域。許多方法已被開發(fā)來測(cè)量這些復(fù)雜的屬性,如在時(shí)域或頻域的方法;單端口或雙端口的測(cè)量方法,但每個(gè)方法都受限于特定頻率的性質(zhì)和應(yīng)用程序制約因素。隨著新技術(shù)的不斷出現(xiàn)和發(fā)展,現(xiàn)在可以將使用矢量網(wǎng)絡(luò)分析儀測(cè)量的反射和透射系數(shù),通過適當(dāng)?shù)能浖绦蜻M(jìn)行計(jì)算,將數(shù)據(jù)轉(zhuǎn)換為復(fù)介電常數(shù)性能參數(shù)。矢量矢量本論文目的是描述從使用網(wǎng)絡(luò)分析儀測(cè)量出
2、的S參數(shù)進(jìn)行計(jì)算從而得出材料的電磁特性的一般程序。 介電性能的測(cè)量包括測(cè)量材料的復(fù)數(shù)相對(duì)介電常數(shù)(r)和復(fù)數(shù)相對(duì)磁導(dǎo)率(<R)。復(fù)的介電常數(shù)由其實(shí)部和虛部組成。復(fù)介電常數(shù)的實(shí)部是一個(gè)測(cè)量的材料從外部電場(chǎng)所獲得能量儲(chǔ)存在材料中的部分。虛部是損耗因子(理想無損材料為零)。它是衡量的是材料由于外部電場(chǎng)而導(dǎo)致的能量損失。ghost也被稱為耗散因子。 與之類似的復(fù)磁導(dǎo)率的實(shí)部表示材料在外部磁場(chǎng)中儲(chǔ)存的能量,而虛部代表消散由于磁場(chǎng)的能量的量。以上的復(fù)磁導(dǎo)率的測(cè)量是只適用于磁性材料。大多數(shù)材料是非磁性的,因此,磁導(dǎo)率非常接近的真空磁導(dǎo)率。 S11定義為端口1反射的能量與端口1入射信號(hào)之比。S21定義為
3、通過DUT傳輸?shù)蕉丝?的能量與端口1的入射信號(hào)之比。S11和S21為前向S-參數(shù),這是因?yàn)槿肷湫盘?hào)來自端口1的射頻源。對(duì)于端口2的入射源,S22為端口2反射的能量與端口2入射信號(hào)之比,S12為通過DUT傳輸?shù)蕉丝?的能量與端口2入射信號(hào)之比。 它們都是反向S-參數(shù)。表征傳輸?shù)腟-參數(shù),如S21,類似于增益、插入損耗、衰減等其它常見術(shù)語。 表征反射的S-參數(shù),如S11,對(duì)應(yīng)于電壓駐波比(VSWR)、回波損耗或反射系數(shù)。 S-參數(shù)還具有其他優(yōu)點(diǎn)。 它們被廣泛認(rèn)可并應(yīng)用于現(xiàn)代射頻測(cè)量。對(duì)于互易網(wǎng)絡(luò),有:S12S21;對(duì)于對(duì)稱網(wǎng)絡(luò),有:S11S22 對(duì)于無耗網(wǎng)絡(luò),有:(S11)2(S12)21 ; 且
4、S參數(shù)可輕松轉(zhuǎn)換成H、Z或其他參數(shù)。 多個(gè)設(shè)備可進(jìn)行S-參數(shù)級(jí)聯(lián),以生成綜合結(jié)果。 更重要的是,S參數(shù)用比率表示。 因此,用戶無需將入射源功率設(shè)置為某個(gè)絕對(duì)值。 DUT的響應(yīng)會(huì)反映輸入信號(hào)的任何偏移,且當(dāng)計(jì)算傳輸信號(hào)或反射信號(hào)與入射信號(hào)之比時(shí),會(huì)對(duì)偏移進(jìn)行補(bǔ)償。網(wǎng)絡(luò)分析儀有四個(gè)基本功能模塊,如下圖所示:通過S參數(shù)求導(dǎo)電磁參數(shù)目前方法比較多各有優(yōu)缺點(diǎn):測(cè)量方法試樣所需S參數(shù)可得電磁參數(shù)傳輸/反射法T/R同軸,導(dǎo)波S11, S21r,r開放端口探測(cè)液體,生物體,凝膠S11r,自由空間耐高溫材料,氣體,長直扁平固體材料S11, S21r,r諧振方法液體,圓棍樣固體,導(dǎo)波頻率,Q因子r,r傳輸/反射線
5、法是一種流行的寬帶測(cè)量方法。在該方法中,只有基本波導(dǎo)模式(TEM模式在同軸線路和TE在波導(dǎo)模式)被假定為傳播。 傳輸/反射線法的優(yōu)點(diǎn)同軸線和波導(dǎo)通常用于測(cè)量中高損耗樣品??赏瑫r(shí)確定被測(cè)材料的介電常數(shù)和導(dǎo)磁率傳輸/反射線法的缺點(diǎn)由于空氣間隙的存在,測(cè)量精度相對(duì)不高。當(dāng)樣品長度的半波長的倍數(shù),氣測(cè)量結(jié)果精度低。 開放端口共軸探針法是一種非破壞性的方法,該方法假定只有TEM或TE模式傳播。開放式同軸探針法的優(yōu)點(diǎn)不需要加工樣品,樣品制備容易。儀器校準(zhǔn)后,在很短的時(shí)間可測(cè)得大量的樣品的介電性質(zhì)。在溫度嚴(yán)格控制的環(huán)境中,可進(jìn)行測(cè)定。開放式同軸探針法的缺點(diǎn)只能測(cè)得反射參數(shù)S11。由于空氣間隙的存在
6、,測(cè)量精度相對(duì)不高。 諧振的方法提供了高精度結(jié)果并可選擇TE或TM傳播模式。諧振法的優(yōu)點(diǎn)能夠測(cè)量非常小的MUT。近只需要樣品和空腔的粗略值。共振法的缺點(diǎn)需要高頻率方案的VNA。頻率范圍比較窄。 自由空間的方法是為寬帶應(yīng)用但只能用于TEM傳播模式。自由空間法的優(yōu)點(diǎn)可用于高頻率測(cè)量。允許非破壞性測(cè)量。在惡劣環(huán)境中測(cè)量MUT。可同時(shí)確定被測(cè)材料的介電常數(shù)和導(dǎo)磁率。自由空間法的缺點(diǎn)需要大而扁平的MUT。多次天線和樣品表面之間的反射。在樣品的邊緣有衍射效應(yīng)。由S參數(shù)計(jì)算電磁參數(shù)的主要方法如下所示:計(jì)算方法所需S參數(shù)電磁參數(shù)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參數(shù)計(jì)算出材料介電常數(shù)和導(dǎo)磁率。這是最常用的對(duì)S參數(shù)進(jìn)行計(jì)算的方法。反射系數(shù)的測(cè)量和傳輸系數(shù)要求所有四個(gè)(S11,S21,S12,S22)或者一對(duì)(S11,S21)要測(cè)量被測(cè)材料的S-參數(shù)。然而,該方法分支對(duì)應(yīng)于頻率低損耗材料樣品中的半波長的整數(shù)倍,這是由于相歧義。因此,它
8、被限制到最佳的樣品厚度的1/ 4波長并要求樣品長度短。NRW方法當(dāng)樣品中的波長為樣品長度半波整數(shù)倍數(shù)時(shí)所采集到數(shù)據(jù)發(fā)散。這是由因?yàn)榧丛谶@些點(diǎn)相對(duì)應(yīng)的S參數(shù)(S11)變得非常小。對(duì)于一個(gè)小的S參數(shù)(S11)的值的不確定性在VNA上是很大。因此造成的不確定性在這些頻率上的發(fā)散。這些可以通過減少樣品的長度,避免數(shù)據(jù)發(fā)散,但是在未知樣品電磁參數(shù)時(shí)很難確定合適的樣品長度。下圖為一NRW方法的計(jì)算結(jié)果圖??汕逦目闯霭氩ㄩL是的數(shù)據(jù)發(fā)散。NRW方法的優(yōu)點(diǎn)快速,非迭代。適用于波導(dǎo)和同軸線。NRW方法的缺點(diǎn)半波長的倍數(shù)相對(duì)應(yīng)的頻率發(fā)散。樣本長度應(yīng)盡可能短。不適合低損耗材料。NIST的迭代方法進(jìn)行計(jì)算,使用New
9、ton-Raphson數(shù)值計(jì)算方法但適于僅介電常數(shù)的計(jì)算。它使用所有四個(gè)(S11,S21,S 12,S22)或者一對(duì)(S11,S21)MUT的S-參數(shù)計(jì)算反射和透射系數(shù)。它運(yùn)作良好,如果一個(gè)好的初始猜測(cè)是可用的。該方法繞過NRW方法中存在當(dāng)樣品厚度是一個(gè)半波長的整數(shù)倍的誤差峰。它是適用于長樣品和表征低損耗材料。下圖為一NIST迭代法的計(jì)算結(jié)果圖??梢姳荛_了半波長的數(shù)據(jù)發(fā)散。通過使用該方法從S-參數(shù)可以計(jì)算出頻譜穩(wěn)定的介電常數(shù),并且它允許測(cè)量任意長度的樣品。該方法可以最大限度地減少NRW方法的數(shù)據(jù)發(fā)散,但只有非磁性材料(r = 1)可以使用這個(gè)方法測(cè)量。NIST的優(yōu)點(diǎn)迭代法平滑介電常數(shù)的結(jié)果,沒
10、有分歧。準(zhǔn)確??梢允褂萌我忾L度的樣品。強(qiáng)大的低損耗和高損耗材料。NIST的缺點(diǎn)迭代法適用于僅介電常數(shù)測(cè)量。需要介電常數(shù)值的初始猜測(cè)。新的非迭代法和NRW方法是相當(dāng)類似的,但計(jì)算公式和NRW方法不同,它適于計(jì)算非磁性材料(r = 1)的介電常數(shù)。它使用所有四個(gè)(S11,S21,S12,S22)S-參數(shù)或兩個(gè)(S11,S21)MUT的反射和透射系數(shù)進(jìn)行計(jì)算。該方法的優(yōu)點(diǎn)全頻穩(wěn)定可以采樣任意長度。該方法是基于對(duì)NRW方法的簡(jiǎn)化版本沒有觀察到半波長倍數(shù)所出現(xiàn)的數(shù)據(jù)發(fā)散。它并不需要一個(gè)初始估計(jì)的介電常數(shù),并能執(zhí)行計(jì)算速度非???。精度可比迭代方法。該方法使用的部分不同的計(jì)算程式從NRW方法可以很容易地?cái)U(kuò)展
11、到其他的測(cè)量樣本,例如微帶共面線。它也有出現(xiàn)的介電常數(shù)和導(dǎo)磁率中的表達(dá)有效的電磁參數(shù)。有效的電磁參數(shù)代表的傳播模式。如下圖所示未出現(xiàn)半波長的數(shù)據(jù)發(fā)散。新的非迭代方法的優(yōu)點(diǎn)平滑介電常數(shù)的結(jié)果,沒有發(fā)散。準(zhǔn)確??梢允褂萌我忾L度的樣品??焖?,非迭代。沒有最初的猜測(cè)需要。新的非迭代方法的缺點(diǎn)適用于僅介電常數(shù)測(cè)量。Short circuit line (SCL) 方法是一個(gè)同軸端口測(cè)量線或波導(dǎo)。它執(zhí)行的計(jì)算使用與NIST的迭代法相同的Newton-Raphson數(shù)值計(jì)算方法但僅適合于計(jì)算介電常數(shù)。它利用的S11 參數(shù)計(jì)算反射系數(shù)。該方法要求具有良好的初始猜測(cè),才可獲得準(zhǔn)確的結(jié)果。該方法還需要輸
12、入樣品長度和位置的精確測(cè)量。下圖為顯示通過SCL計(jì)算方法得到的數(shù)據(jù)SCL方法的優(yōu)點(diǎn)平滑介電常數(shù)的結(jié)果,沒有分歧。準(zhǔn)確??梢允褂萌我忾L度的樣品。對(duì)于寬帶測(cè)量,最好使用長低損耗樣品材料。SCL方法的缺點(diǎn)需要初始猜測(cè)。迭代。需要準(zhǔn)確的樣品長度。最后,用戶需要知道合適的測(cè)量和轉(zhuǎn)換的方法,以便測(cè)量其介電性能的材料。因?yàn)橹挥惺褂谜_的方法于特定的材料才能得到可信的測(cè)量和計(jì)算結(jié)果。如果使用了錯(cuò)誤的方法測(cè)量,計(jì)算,結(jié)果不會(huì)令人滿意。下圖總結(jié)了不同試樣推薦的測(cè)量和計(jì)算方法:試樣長,磁性測(cè)量方法轉(zhuǎn)換計(jì)算方法計(jì)算速度準(zhǔn)確度高損耗固體 + 短 + 非磁性傳輸/反射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慢好除了測(cè)量和轉(zhuǎn)換方法,速度和精度是最重要的特性。速度有多快涉及的測(cè)量方法能夠提取S-參數(shù)轉(zhuǎn)換方法的速度。精度取決于校準(zhǔn)方法和使用的轉(zhuǎn)換方法。材料電磁參數(shù)的測(cè)量技術(shù)一直是材料科學(xué)、微波電路設(shè)計(jì)、生物電磁效應(yīng)、吸波隱身技術(shù)等領(lǐng)域的重要研究課題。在射頻吸波材料吸收性能的仿真計(jì)算和干擾抑制用磁性材料的研究等活動(dòng)中, 相對(duì)復(fù)介電常數(shù)和相對(duì)復(fù)磁導(dǎo)率的測(cè)量對(duì)于合理的選擇材料、設(shè)計(jì)器件同樣至關(guān)重要。根據(jù)被測(cè)材料的形態(tài)、損耗或色散特性及其應(yīng)用的頻段, 電磁參數(shù)的測(cè)量方法也多種多樣。NRW傳輸/反射法是由Nicolson、Ross Weir等人于20世紀(jì)70年代提出的一種通過傳輸線測(cè)量材料電磁參
15、數(shù)(復(fù)介電常數(shù)與復(fù)磁導(dǎo)率)的方法。該方法將待測(cè)材料樣品置入空氣傳輸線(波導(dǎo)或者同軸線)中構(gòu)成一個(gè)互易二端口網(wǎng)絡(luò), 通過矢量網(wǎng)絡(luò)分析儀(VNA, vector networkanalyzer)測(cè)量該傳輸線的二端口網(wǎng)絡(luò)S參數(shù)( Sparameters), 繼而由散射方程推算得到被測(cè)材料的電磁參數(shù)。NRW傳輸/反射法具有頻帶寬( 1MHz30GHz)、易操作、精度高且僅需一次測(cè)量即可同時(shí)得到材料復(fù)介電常數(shù)與復(fù)磁導(dǎo)率等特點(diǎn), 因而在測(cè)量不同損耗、磁性或非磁性材料電磁參數(shù)方面得到了廣泛的應(yīng)用。然而, 傳統(tǒng)的NRW傳輸/反射法同時(shí)也存在半波諧振和多值性兩個(gè)主要問題。減小試樣厚度使其小于諧振波長的一半可以同
16、時(shí)解決這兩個(gè)問題, 然而, 由于材料電磁參數(shù)未知, 無法確定合適的試樣厚度, 且過小厚度的試樣給加工和裝夾帶來了麻煩和誤差。因此國內(nèi)外研究人員主要是通過算法的研究來解決以上兩個(gè)問題。Jarvis等人提出一種迭代的方法來解決半波諧振問題, 但是對(duì)于未知性能的待測(cè)材料, 正確預(yù)估其電磁參數(shù)是很困難的; 更多的研究者對(duì)求解方程式進(jìn)行改寫, 使得求解過程不會(huì)包含分母趨近于0的計(jì)算式, 從理論上消除了半波諧振問題。多值性問題的解決方法目前有冗余比較法,虛部補(bǔ)償法等。第一種方法計(jì)算操作比較復(fù)雜繁瑣 第2種方法則需要足夠低的起始測(cè)試頻率且沒有給出確切的理論依據(jù)。所以本文在前人研究的基礎(chǔ)上,采用是群延遲方法來
17、計(jì)算材料復(fù)介電常數(shù)與復(fù)磁導(dǎo)率。T/ R法測(cè)量原理該方法通過測(cè)量填充有被測(cè)介質(zhì)的傳輸線( 波導(dǎo)或同軸線) 的反射與傳輸響應(yīng), 即兩端口的S11、S21 參數(shù), 推算出材料的電磁參數(shù)。假設(shè)被測(cè)材料( 相對(duì)復(fù)介電常數(shù)為r = r - jr , 相對(duì)復(fù)數(shù)磁導(dǎo)率為r = r - jr) 厚度為d, 填充于特性阻抗為50 的圓形同軸線的內(nèi)、外導(dǎo)體之間, 如圖1所示。平面波由自由空間投射到無限厚度的介質(zhì)( 假設(shè)其電磁參數(shù)為r, ) 表面時(shí), 會(huì)發(fā)生能量的反射, 反射系數(shù)為 但當(dāng)介質(zhì)的厚度有限時(shí), 在空氣- 介質(zhì)的兩個(gè)界面上將發(fā)生多次反射透射現(xiàn)象; 而且電磁波在穿圖1 傳輸/反射法測(cè)量原理示意圖越介質(zhì)層時(shí),
18、同時(shí)伴隨有能量的衰減和相移。矢量網(wǎng)絡(luò)分析儀采用掃頻方式在傳輸線兩端口測(cè)得的反射系數(shù)S11 與傳輸系數(shù)S21 應(yīng)該是電磁波經(jīng)多次反射( !1、!2、!3 #!n) 和透射( T1、T2、Tn) 后的疊加。由電磁場(chǎng)基礎(chǔ)理論可以推出, 兩端口的S參數(shù)與反射系數(shù)!及傳輸系數(shù)T之間的關(guān)系如下:S11 = VrflVin = (1 - T2)1 - 2T2S21 = VtrsVin = (1 - 2)T1 - 2T2T=exp(-l)= Zc- Z0Zc+ Z0= 0rrZc = Z0rr0=j00Z0= 1200 lnba式中, S11與S21為散射參數(shù); 、T分別為反射和傳輸系數(shù); l為試樣厚度; 0
19、、分別為空氣與樣品區(qū)的傳播常數(shù); Z0、ZC 分別為空氣和樣品段同軸線的特性阻抗;0、 0分別為空氣的介電常數(shù)和磁導(dǎo)率; r= r'- j r", r= r'- j r"分別為待測(cè)材料的相對(duì)復(fù)介電常數(shù)和相對(duì)復(fù)磁導(dǎo)率; =2f 為工作角頻率; j為虛數(shù)單位。S參數(shù)轉(zhuǎn)換假定l1段與l2 段空氣同軸線無損耗, 則可測(cè)的基于校準(zhǔn)端面(圖1中面1與面4)的S參數(shù)(記為Sm)與試樣端面(圖1中面2和面3)的S參數(shù)之間的轉(zhuǎn)換式為 (式中的ltotal = l1+ l+ l2為校準(zhǔn)端面之間的距離):S11=S11m exp(20 l1)S21=S21mexp0 l1+ l2
20、 =S21mexp0 ltotal - l傳輸反射系數(shù)的計(jì)算公式:K= S11 2- S212+ 12S11=K ± K2- 1T= S11 + S21- 1 - (S11 + S21) 其中取| < 1 的解。電磁參數(shù)的確定:= lnT/lrr = 0rr= 1+ 1- r= 0 × 1+ 1- r= 0 × 1- 1+ 在這些計(jì)算公式中我們可以看到S參數(shù)和T都是復(fù)數(shù)值,進(jìn)一步分析公式 = lnT/l中我們可以得到(T = |T|ej):= - lnT+ j( ±2n)l因此必然不是單值的,這就是NRW方法中遇到的多值性問題。圍繞多值性的問題最近
21、有提出用虛部補(bǔ)償法來解決多值性問題,但此方法要求掃頻測(cè)試有較低的起始頻率和較小的頻率間隔, 以保證觀察到所有虛部的跳變, 即n是以0為起始值, 且以1為間隔增加的。并且缺乏理論基礎(chǔ),因此本文利用群延遲的計(jì)算來解決這一問題。這種方法的思想是測(cè)量的具體頻率間隔足夠小, 使得傳輸參數(shù)的相位改變小于360度。對(duì)每一個(gè)頻率的群延遲可以通過假定r 和r , 在頻率增長很小的時(shí)候, 可以忽略r 和r 的變化。具體思路是由于試樣引起的群延遲是關(guān)于試樣長度的函數(shù),因此延遲通過該材料是一種可以使用群延遲的函數(shù)計(jì)算來解決多值性。計(jì)算出正確的r和r,采用的方法就是比較的測(cè)得的群延遲和計(jì)算出的群延時(shí)找到一個(gè)正確的n值。
22、計(jì)算群延遲的公式:cal =lddf rrf2C2-1c2 =l ×1C2 × frr + f212drrdfrrf2C2-1c2f 為頻率,C為真空中光速測(cè)量群延遲的公式為:meas = -12ddf用不同的n值計(jì)算出的n個(gè)計(jì)算群延遲于測(cè)量群延遲進(jìn)行比較當(dāng):cal - meas 0也就是計(jì)算群延遲最接近測(cè)量群延遲時(shí),此時(shí)的n值為計(jì)算電磁參數(shù)公式中應(yīng)采用的值,由此消除了n值得不確定的問題。從而可以計(jì)算出準(zhǔn)確的電磁參數(shù)。具體計(jì)算中的數(shù)值微分:df=frequency2-frequency1d=2- 1drr=r*r*- rr 既使用前后頻率差來表示df,前后S參數(shù)的幅角差值來
23、表示d,drr則代入不同n值而計(jì)算出的r*r*減去前一已經(jīng)計(jì)算出的數(shù)值得出。當(dāng)然初始頻率的電磁參數(shù)計(jì)算與其后的計(jì)算方式不同,由于采用了足夠小的頻率差,因此可以假設(shè)初始頻率及緊隨其后的數(shù)值在同一周期中,可以假設(shè)為同一n值同時(shí)代入用上述公式進(jìn)行計(jì)算。既drr=2r*2r*- 1r*1r*具體計(jì)算的編程具體的數(shù)據(jù)計(jì)算采用的是python編程,使用了math包,cmath包,以及附加的科學(xué)計(jì)算程序numpython,繪圖程序matplotlib。python簡(jiǎn)介Python的創(chuàng)始人為吉多·范羅蘇姆(Guido van Rossum)。Python(英國發(fā)音:/pan/ 美國發(fā)音:/pan/)
24、,是一種面向?qū)ο蟆⒅弊g式電腦編程語言,具有近二十年的發(fā)展歷史,成熟且穩(wěn)定。它包含了一組完善而且容易理解的標(biāo)準(zhǔn)庫,能夠輕松完成很多常見的任務(wù)。它的語法簡(jiǎn)捷和清晰,盡量使用無異義的英語單詞,與其它大多數(shù)程序設(shè)計(jì)語言使用大括號(hào)不一樣,它使用縮進(jìn)來定義語句塊。與Scheme、Ruby、Perl、Tcl等動(dòng)態(tài)語言一樣,Python具備垃圾回收功能,能夠自動(dòng)管理存儲(chǔ)器使用。它經(jīng)常被當(dāng)作腳本語言用于處理系統(tǒng)管理任務(wù)和網(wǎng)絡(luò)程序編寫,然而它也非常適合完成各種高級(jí)任務(wù)。Python虛擬機(jī)本身幾乎可以在所有的作業(yè)系統(tǒng)中運(yùn)行。使用一些諸如py2exe、PyPy、PyInstaller之類的工具可以將Python源代碼
25、轉(zhuǎn)換成可以脫離Python解釋器運(yùn)行的程序。Python的官方解釋器是CPython,該解釋器用C語言編寫,是一個(gè)由社區(qū)驅(qū)動(dòng)的自由軟件,目前由Python軟件基金會(huì)管理。Python支持命令式程序設(shè)計(jì)、面向?qū)ο蟪绦蛟O(shè)計(jì)、函數(shù)式編程、面向側(cè)面程序設(shè)計(jì)、泛型編程多種編程范式。Python的設(shè)計(jì)哲學(xué)是“優(yōu)雅”、“明確”、“簡(jiǎn)單”。因此其對(duì)手Perl語言中“總是有多種方法來做同一件事”的理念在Python開發(fā)者中通常是難以忍受的。Python開發(fā)者的哲學(xué)是“用一種方法,最好是只有一種方法來做一件事”。在設(shè)計(jì)Python語言時(shí),如果面臨多種選擇,Python開發(fā)者一般會(huì)拒絕花俏的語法,而選擇明確的沒有或
26、者很少有歧義的語法。由于這種設(shè)計(jì)觀念的差異,Python源代碼通常被認(rèn)為比Perl具備更好的可讀性,并且能夠支撐大規(guī)模的軟件開發(fā)。這些準(zhǔn)則被稱為Python格言。在Python解釋器內(nèi)運(yùn)行import this可以獲得完整的列表。Python是完全面向?qū)ο蟮恼Z言。函數(shù)、模塊、數(shù)字、字符串都是對(duì)象。并且完全支持繼承、重載、派生、多繼承,有益于增強(qiáng)源代碼的復(fù)用性。Python支持重載運(yùn)算符,因此Python也支持泛型設(shè)計(jì)。相對(duì)于Lisp這種傳統(tǒng)的函數(shù)式編程語言,Python對(duì)函數(shù)式設(shè)計(jì)只提供了有限的支持。有兩個(gè)標(biāo)準(zhǔn)庫(functools, itertools)提供了Haskell和Standard
27、 ML中久經(jīng)考驗(yàn)的函數(shù)式程序設(shè)計(jì)工具。雖然Python可能被粗略地分類為“腳本語言”(script language),但實(shí)際上一些大規(guī)模軟件開發(fā)計(jì)劃例如Zope、Mnet及BitTorrent,Google也廣泛地使用它。Python的支持者較喜歡稱它為一種高級(jí)動(dòng)態(tài)編程語言,原因是“腳本語言”泛指僅作簡(jiǎn)單程序設(shè)計(jì)任務(wù)的語言,如shell script、VBScript等只能處理簡(jiǎn)單任務(wù)的編程語言,并不能與Python相提并論。Python本身被設(shè)計(jì)為可擴(kuò)充的。并非所有的特性和功能都集成到語言核心。Python提供了豐富的API和工具,以便程序員能夠輕松地使用C語言、C+、Cython來編寫擴(kuò)
28、充模塊。Python編譯器本身也可以被集成到其它需要腳本語言的程序內(nèi)。因此,很多人誰?還把Python作為一種“膠水語言”(glue language)使用。使用Python將其他語言編寫的程序進(jìn)行集成和封裝。在Google內(nèi)部的很多項(xiàng)目,例如Google Engine使用C+編寫性能要求極高的部分,然后用Python或Java/Go調(diào)用相應(yīng)的模塊。2Python技術(shù)手冊(cè)的作者馬特利(Alex Martelli)說:“這很難講,不過,2004 年,Python 已在 Google 內(nèi)部使用,Google 召募許多 Python 高手,但在這之前就已決定使用Python,他們的目的是 Pytho
29、n where we can, C+ where we must,在操控硬件的場(chǎng)合使用 C+,在快速開發(fā)時(shí)候使用 Python?!盤ython開發(fā)人員盡量避開不成熟或者不重要的優(yōu)化。一些針對(duì)非重要部位的加快運(yùn)行速度的補(bǔ)丁通常不會(huì)被合并到Python內(nèi)。所以很多人認(rèn)為Python很慢。不過,根據(jù)二八定律,大多數(shù)程序?qū)λ俣纫蟛桓摺T谀承?duì)運(yùn)行速度要求很高的情況,Python設(shè)計(jì)師傾向于使用JIT技術(shù),或者用使用C/C+語言改寫這部分程序。目前可用的JIT技術(shù)是PyPy。在很多作業(yè)系統(tǒng)里,Python是標(biāo)準(zhǔn)的系統(tǒng)組件。大多數(shù)Linux發(fā)布版以及NetBSD、OpenBSD和Mac OS X都集成了
30、Python,可以在終端機(jī)下直接運(yùn)行Python。有一些Linux發(fā)布版的安裝器使用Python語言編寫,比如Ubuntu的Ubiquity安裝器、Red Hat Linux和Fedora的Anaconda安裝器。Gentoo Linux使用Python來編寫它的Portage包管理系統(tǒng)。Python標(biāo)準(zhǔn)庫包含了多個(gè)調(diào)用作業(yè)系統(tǒng)功能的庫。通過pywin32這個(gè)第三方軟件包,Python能夠訪問Windows的COM服務(wù)及其它Windows API。使用IronPython,Python程序能夠直接調(diào)用 .Net Framework。一般說來,Python編寫的系統(tǒng)管理腳本在可讀性、性能、源代碼
31、重用度、擴(kuò)展性幾方面都優(yōu)于普通的shell腳本。Python的3.0版本,常被稱為Python 3000,或簡(jiǎn)稱Py3k5。相對(duì)于Python的早期版本,這是一個(gè)較大的升級(jí)。為了不帶入過多的累贅,Python 3.0在設(shè)計(jì)的時(shí)候沒有考慮向下兼容。許多針對(duì)早期Python版本設(shè)計(jì)的程序都無法在Python 3.0上正常運(yùn)行。為了照顧現(xiàn)有程序,Python 2.6作為一個(gè)過渡版本,基本使用了Python 2.x的語法和庫,同時(shí)考慮了向Python 3.0的遷移,允許使用部分Python 3.0的語法與函數(shù)?;谠缙赑ython版本而能正常運(yùn)行于Python 2.6并無警告的程序可以通過一個(gè)2 to
32、 3的轉(zhuǎn)換工具無縫遷移到Python 3.06。新的Python程序建議使用Python 3.0版本的語法7。除非運(yùn)行環(huán)境無法安裝Python 3.0或者程序本身使用了不支持Python 3.0的第三方庫。目前不支持Python 3.0的第三方庫有Twisted, py2exe, PIL等。大多數(shù)第三方庫都正在努力地兼容Python 3.0版本。即使無法立即使用Python 3.0,也建議編寫兼容Python 3.0版本的程序,然后使用Python 2.6, Python 2.7來運(yùn)行。Python 2.7被確定為最后一個(gè)Python 2.x版本,它除了支持Python 2.x語法外,還支持部
33、分Python 3.1語法。適用于Python的集成開發(fā)環(huán)境(IDE)軟件,除了標(biāo)準(zhǔn)二進(jìn)制發(fā)布包所附的IDLE之外,還有許多其他選擇。其中有些軟件設(shè)計(jì)有語法著色、語法檢查、運(yùn)行調(diào)試、自動(dòng)補(bǔ)全、智能感知等便利功能。由于Python的跨平臺(tái)出身,這些軟件往往也具備各種操作系統(tǒng)的版本或一定的移植性。numpython簡(jiǎn)介的是Python編程語言的擴(kuò)展,加入對(duì)龐大的多維數(shù)組和矩陣的支持,以及在這些陣列上運(yùn)行大量高層次的數(shù)學(xué)函數(shù)庫。Jim Hugunin 于幾位開發(fā)者共同編寫了的前身。2005年包括:1、一個(gè)強(qiáng)大的N維數(shù)組對(duì)象Array;2、比較成熟的(廣播)函數(shù)庫;3、用于整合C/C+和Fortran
34、代碼的工具包;4、實(shí)用的線性代數(shù)、傅里葉變換和隨機(jī)數(shù)生成函數(shù)。5、numpy和稀疏矩陣運(yùn)算包scipy配合使用更加方便。繪圖程序matplotlibmatplotlib它不僅提供一個(gè)非??旖莸挠胮ython可視化數(shù)據(jù)的方法,而且提供了出版質(zhì)量的多種格式圖像。需要安裝numpy。程序由數(shù)據(jù)讀取,數(shù)據(jù)計(jì)算,繪圖三個(gè)主要模塊構(gòu)成:數(shù)據(jù)讀取模塊進(jìn)行數(shù)據(jù)的讀取和預(yù)處理,并將處理后的數(shù)據(jù)傳遞給數(shù)據(jù)計(jì)算模塊進(jìn)行計(jì)算出相應(yīng)的電磁參數(shù),主要內(nèi)容如下: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數(shù)據(jù)計(jì)算模塊主要是通過文件讀取模塊來的數(shù)據(jù)進(jìn)行計(jì)算群延遲和測(cè)量群延遲的計(jì)算,并通過比較兩者之值來確定正確的n值,從而得出正確的電磁參數(shù)。主要內(nèi)容如下: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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度環(huán)保型離婚協(xié)議書格式與實(shí)施指南2篇
- 二零二五年度城市綠化工程設(shè)計(jì)承包合同3篇
- 二零二五年度個(gè)人電子競(jìng)技賽事參賽協(xié)議4篇
- 稅務(wù)工作新思路探討
- 2025版汽車零部件退貨及換貨服務(wù)協(xié)議書3篇
- 二零二五年度個(gè)人住房公積金貸款合同爭(zhēng)議解決流程合同模板4篇
- 二零二五年度個(gè)人自用房屋全屋定制裝修服務(wù)合同
- 二零二五年度企業(yè)銷售合同發(fā)票管理標(biāo)準(zhǔn)化臺(tái)賬
- 二零二五年度個(gè)人反擔(dān)保債務(wù)清償協(xié)議3篇
- 生產(chǎn)與運(yùn)作管理-第5版 課件全套 陳志祥 第1-14章 生產(chǎn)系統(tǒng)與生產(chǎn)運(yùn)作管理概述 -豐田生產(chǎn)方式與精益生產(chǎn)
- 養(yǎng)老護(hù)理員試題及答案
- 2024年山東省高中學(xué)業(yè)水平合格考生物試卷試題(含答案詳解)
- 2025年中考英語復(fù)習(xí)熱點(diǎn)話題作文范文
- 小學(xué)數(shù)學(xué)教學(xué)工作交流數(shù)學(xué)教學(xué)中的體會(huì)總結(jié)經(jīng)驗(yàn)交流會(huì)課件
- 2024年美國智能馬桶和馬桶蓋市場(chǎng)現(xiàn)狀及上下游分析報(bào)告
- 中國成人暴發(fā)性心肌炎診斷和治療指南(2023版)解讀
- 復(fù)產(chǎn)復(fù)工六個(gè)一
- 《鋼鐵是怎樣煉成的》練習(xí)題(含答案)
- 急診酒精中毒護(hù)理查房
- 碳纖維加固定額B013
- 測(cè)繪工程產(chǎn)品價(jià)格表匯編
評(píng)論
0/150
提交評(píng)論