從上次更新至今又悄悄過去三個(gè)月了,看到公眾號(hào)后臺(tái)有很多需要“PSpice”的新伙伴留言:
小電覺得還是需要把PSpice的教程續(xù)寫下去,否則實(shí)在不好意思面對(duì)熱情滿滿的新伙伴們
前面我們已經(jīng)講了PSpice提供的三種最基本的分析方法:直流分析、交流掃描分析和瞬態(tài)分析,也講了一種進(jìn)階分析:參數(shù)掃描分析,今天我們講一種統(tǒng)計(jì)分析方法——蒙特卡洛分析(Monte Carlo)
蒙特卡洛方法得名于歐洲著名賭城——摩納哥的蒙特卡洛,大概是因?yàn)橘€博游戲與概率有著很深的內(nèi)在聯(lián)系。蒙特卡洛方法也被稱為計(jì)算機(jī)隨機(jī)模擬方法,是一種使用隨機(jī)抽樣統(tǒng)計(jì)來估算數(shù)學(xué)函數(shù)的計(jì)算方法,它適用于對(duì)離散系統(tǒng)進(jìn)行計(jì)算仿真試驗(yàn)。
那電路仿真軟件中的蒙特卡洛分析是做什么用的呢?
大家知道仿真軟件中用到的器件都是認(rèn)為它是精確的,仿真時(shí)都是取其標(biāo)稱值下分析其響應(yīng),然而對(duì)于電阻、電容和電感等實(shí)際分立元件,以及半導(dǎo)體器件,其參數(shù)值均有一定的容差,例如當(dāng)選擇容差是5%,阻值是10kΩ的電阻,仿真就按標(biāo)稱值10kΩ進(jìn)行分析,但在實(shí)際中你可能買到的電阻會(huì)9.5kΩ~10.5 kΩ之間。當(dāng)所有元器件的容差效果組合一起時(shí),可能對(duì)電路的輸出響應(yīng)造成巨大偏差。這就使得仿真結(jié)果和實(shí)際相差很遠(yuǎn).
因此在電路仿真中有兩種統(tǒng)計(jì)分析:蒙特卡洛分析和最壞情況分析,是用于研究元器件參數(shù)值變化(容差),或者影響元器件參數(shù)值的物理參數(shù)變化(比如溫度有容差)時(shí),對(duì)某些電路特性的影響。
概 述
蒙特卡洛分析是一種統(tǒng)計(jì)模擬方法,它是對(duì)選擇的分析類型(包括直流分析、交流分析、瞬態(tài)分析)多次運(yùn)行后進(jìn)行的統(tǒng)計(jì)分析。第一次運(yùn)行采用所有元器件的標(biāo)稱值進(jìn)行運(yùn)算,最后將各次運(yùn)行結(jié)果同第一次運(yùn)行結(jié)果進(jìn)行比較,得出由于元器件的容差而引起輸出結(jié)果偏離的統(tǒng)計(jì)分析,如電路性能的中心值、方差,以及電路合格率、成本等等。用此結(jié)果作為是否修正設(shè)計(jì)的參考,增加了模擬的可信度。
直觀的理解就是: 蒙特卡洛分析是在模擬實(shí)際搭建的電路可能出現(xiàn)的偏差,畢竟實(shí)際中的元器件可不是理想的,而蒙特卡洛分析是在容差內(nèi)隨機(jī)選取,可以讓機(jī)器隨機(jī)算幾千次或更多,把實(shí)際中可能出現(xiàn)的情況都包含上。
本期以雙運(yùn)放窄帶通濾波器為例,設(shè)計(jì)指標(biāo)要求:中心頻率為50Hz,品質(zhì)因數(shù)為20。電路如圖1所示。希望利用蒙特卡洛分析方法分析電路元器件容差對(duì)濾波器的頻率特性產(chǎn)生的偏差,選擇最合適的器件將技術(shù)指標(biāo)的誤差控制在10%以內(nèi)。
圖1 本期實(shí)例電路
元器件容差設(shè)置
圖1的電路圖大家看到電阻電容數(shù)值的旁邊都標(biāo)著5%或10%,這就是該元件的容差,一般元件從元件庫中選取放置時(shí),容差默認(rèn)是0,也就是都是取其標(biāo)稱值,在進(jìn)行蒙特卡洛分析和最壞情況分析時(shí)需要額外設(shè)置元器件的容差。
有下面幾種方法設(shè)置元器件容差:
1、屬性編輯器中添加容差參數(shù)
新版本中分立元件R、L和C均具有容差參數(shù),通過雙擊器件,打開屬性編輯器就可以對(duì)其容差進(jìn)行添加和設(shè)置。但輸入容差參數(shù)時(shí),務(wù)必在數(shù)值后面輸入%,例如10%,否則會(huì)出現(xiàn)偏差。圖2是對(duì)電容C的屬性編輯框中直接輸入容差值。若需要在電路圖上顯示容差數(shù)值,需要選擇整個(gè)TOLERANCE容差行,然后右鍵選擇Display,在隨后的對(duì)話框中選擇Value only即可只對(duì)數(shù)值進(jìn)行顯示。
圖2 屬性編輯器中添加容差值
2、BREAKOUT庫元件添加容差參數(shù)
早期的版本中只有通過選擇breakout元件庫中的元件,通過模型編輯器為分立元件添加容差。例如對(duì)電容添加容差,首先從breakout庫中選擇Cbreak元件,然后通過點(diǎn)擊右鍵選擇Edit PSpice Model打開模型編輯器,最后通過設(shè)置語句對(duì)其容差進(jìn)行添加。如下圖所示:
其中:Cbreak為模型名稱;CAP為PSpice模型類型;C=1表示數(shù)值因子為1,用于設(shè)置電容參數(shù)值的倍率;LOT和DEV是兩種容差類型:
DEV稱為器件容差
指同一模型名稱的元件其參數(shù)值在該容差范圍內(nèi)獨(dú)立變化;
LOT 稱為批容差
指同一模型名稱的元件其參數(shù)值在該容差范圍內(nèi)統(tǒng)一變化,即它們的值同時(shí)變大或變小。
如何設(shè)置模型參數(shù)的變化模式應(yīng)根據(jù)實(shí)際情況確定。如果設(shè)計(jì)的電路要用印刷電路板(PCB)裝配,則不同PCB中針對(duì)電路設(shè)計(jì)中同一個(gè)元器件采用的元器件參數(shù)將獨(dú)立隨機(jī)變化,就只需要選用DEV。但是如果在集成電路生產(chǎn)中,不同批次之間的元器件參數(shù)還存在起伏波動(dòng),就還應(yīng)該用LOT。
方法一屬性編輯框設(shè)置的容差其實(shí)就是DEV容差;而breakout中同時(shí)設(shè)置DEV和LOT,比如DEV=10%,LOT=5%,那么共同作用下這個(gè)電容的總?cè)莶顚⑦_(dá)到±15%。
3、半導(dǎo)體器件的參數(shù)容差設(shè)置
分立元件的參數(shù)主要就是它的數(shù)值,但半導(dǎo)體器件有著很多參數(shù),容差設(shè)置只能針對(duì)某一個(gè)參數(shù)進(jìn)行設(shè)置。比如需要對(duì)晶體管的放大倍數(shù)添加容差值,可以點(diǎn)擊晶體管,右鍵找到Edit PSpice Model,進(jìn)入模型編輯器,如圖4所示,直接在Bf值后添加DEV容差。
圖4 晶體管的放大倍數(shù)設(shè)置容差
4、分布類型的設(shè)置
蒙特卡洛分析過程中元器件參數(shù)值的改變是遵循特定的統(tǒng)計(jì)分布的,一般分立元件是默認(rèn)均勻分布,在元件屬性編輯器中可以看到默認(rèn)項(xiàng):
如果需要修改為高斯分布,可以直接雙擊后將FLAT改為GAUSS。
對(duì)于晶體管的參數(shù),比如圖4中晶體管的電流放大倍數(shù),通常情況下更符合高斯分布,那么可以在模型編輯窗口中如圖4下,將dev=50%增加為dev/gauss=50%,這樣就把Bf的概率分布設(shè)置為高斯分布了。
電路中所有具有容差的元器件都設(shè)置好容差和統(tǒng)計(jì)分布后,就可以進(jìn)行仿真參數(shù)設(shè)置。
蒙特卡洛分析的基本操作
蒙特卡洛分析和參數(shù)掃描分析一樣,屬于進(jìn)階分析,它需要在基礎(chǔ)分析(比如交流掃描分析)的基礎(chǔ)上附加的一種分析。
本期實(shí)例電路的設(shè)計(jì)指標(biāo)明確表示是要看中心頻率,于是先對(duì)電路進(jìn)行交流掃描分析,頻率范圍從1Hz至1kHz,每十倍頻1000個(gè)點(diǎn)。并在Options對(duì)話框中選擇Monte Carlo/Worst Case分析。
圖5 蒙特卡洛分析設(shè)置對(duì)話框
分析參數(shù)設(shè)置
對(duì)于蒙特卡洛分析,我們需要做如下幾個(gè)設(shè)置:
01設(shè)置輸出變量
仿真輸出變量由用戶制定,可以為節(jié)點(diǎn)電壓值、獨(dú)立電流源或者獨(dú)立電壓源。在本例中輸出變量設(shè)置為V(out)。
02設(shè)置運(yùn)行次數(shù)
運(yùn)行次數(shù)(Number of runs)是用來設(shè)置電路進(jìn)行直流分析、交流分析或者瞬態(tài)分析的仿真次數(shù)。在最新版本中,最大運(yùn)行數(shù)量已經(jīng)從4000次增加至10000次,數(shù)量大大擴(kuò)展,以滿足用戶的需求。電路運(yùn)行第一次仿真時(shí)使用的元器件參數(shù)為其標(biāo)稱值。
03參數(shù)分布規(guī)律的選擇
在“Use distribution”中提供了三種分布供選擇,用于反映實(shí)際生產(chǎn)中元器件參數(shù)的分布情況。
? Gaussian:指正態(tài)分布,又稱高斯分布,選用該分布時(shí),PSpice采取將元器件的標(biāo)稱值設(shè)為均值,DEV容差作為標(biāo)準(zhǔn)偏差,從而產(chǎn)生一組隨機(jī)數(shù)代表元件的分布情況;
?Uniform:指均勻分布,即元器件取的每個(gè)值的概率相等;
? GaussUser:也是隨機(jī)分布,但是如果選用此項(xiàng)分布,還需要在右側(cè)下拉列表中選擇一個(gè)數(shù)值,表示元件值分散范圍對(duì)應(yīng)幾倍DEV的容差設(shè)置值。
04隨機(jī)“種子數(shù)”的選定
與通用隨機(jī)數(shù)發(fā)生器一致,PSpice軟件也需要利用初始種子數(shù)生成隨機(jī)數(shù)。“Random number seed”一欄設(shè)置的數(shù)值就是用于指定蒙特卡羅分析中進(jìn)行隨機(jī)抽樣時(shí)產(chǎn)生隨機(jī)數(shù)所用的“種子數(shù)”。其值必須在1~32767之間的奇數(shù),若未指定,采用內(nèi)定值為17533。如果種子數(shù)相同,則產(chǎn)生的隨機(jī)數(shù)是完全相同的,若使用者希望模擬不同批次生產(chǎn)的電子產(chǎn)品參數(shù)分布情況,則每次應(yīng)該在設(shè)置蒙特卡羅分析時(shí),采用不同的種子值。
05數(shù)據(jù)保存形式
按照指定的運(yùn)行方式對(duì)仿真數(shù)據(jù)進(jìn)行保存。
None:只保存標(biāo)稱值運(yùn)行的電路響應(yīng)
All:保存每一次運(yùn)行的數(shù)據(jù)
First:只顯示前n次的結(jié)果,n填在隨后的編輯框里
Every:每n次模擬顯示一次,n也填在隨后的編輯框里
Run(list):顯示所有指定次數(shù)的結(jié)果,最多可在后面填入25個(gè)數(shù)字
運(yùn)行查看結(jié)果
按照?qǐng)D5的設(shè)置,確定后,點(diǎn)選PSpice→Run,或其對(duì)應(yīng)圖標(biāo)。仿真結(jié)束后,會(huì)出現(xiàn)如圖6所示的畫面。此對(duì)話框告知用戶有一百項(xiàng)模擬結(jié)果的波形資料,可以任選一項(xiàng)或多項(xiàng),也可以全部選擇, 確認(rèn)對(duì)話框后就可以得到分析結(jié)果了。
圖6 分批模擬結(jié)果的波形資料
由于圖1中使用了“dB Magnitude of Voltage”的探針,于是直接顯示了一百條輸出的幅頻特性曲線。
圖7 蒙特卡洛分析的結(jié)果
點(diǎn)選View→Output File可以看到蒙特卡洛分析的文字結(jié)果,如圖8所示。從圖中可以看到第44次仿真達(dá)到最大偏差。
圖8 蒙特卡洛分析的輸出文檔
同時(shí)我們還可以得出器件隨機(jī)取不同容差得到的這100次仿真結(jié)果中,每一次的中心頻率和品質(zhì)因數(shù)值是多大。方法:
在PSpice波形顯示窗口下點(diǎn)選Trace--->Evaluate Measurement,或者在工具欄中找到f(x)的圖標(biāo),點(diǎn)擊即可
會(huì)出現(xiàn)測量函數(shù)選擇的對(duì)話框,
選擇計(jì)算品質(zhì)因數(shù)Q_Bandpass(V(out),3)和中心頻率CenterFrequency(V(out),3),確定后在波形顯示窗口的下方給出了100個(gè)數(shù)值
雖然一百組的數(shù)據(jù)都已經(jīng)呈現(xiàn),但這些數(shù)據(jù)還需要處理才能看出是否能滿足不超過10%的誤差,這就需要通過直方圖來呈現(xiàn)了
直方圖的使用方法
對(duì)電路進(jìn)行蒙特卡洛分析后,可以繪制描述電路特性分散情況的分布直方圖,能預(yù)計(jì)該電路投入生產(chǎn)時(shí)的成品率。
方法是在完成分析之后啟動(dòng)電路性能分析(Performance Analysis),Probe窗口將轉(zhuǎn)化為直方圖繪制窗口,這時(shí)選用的特征值函數(shù)在顯示窗口中為x軸坐標(biāo)變量,y軸坐標(biāo)刻度為百分?jǐn)?shù)。這就是說,只要在Monte Carlo分析以后啟動(dòng)電路性能分析,就自動(dòng)進(jìn)入直方圖繪制狀態(tài)。
在Probe窗口下選擇Trace→Performance Analysis,或直接按下菜單欄中的:
然后選擇Trace→Add Trace添加需要分析的測量函數(shù)。
圖9 選取中心頻率函數(shù)
確定后得到圖10的中心頻率直方圖結(jié)果。
圖10 濾波器中心頻率直方圖
上圖中重要參數(shù)的說明如下:
n samples
蒙特卡羅分析的次數(shù),現(xiàn)設(shè)為100 次,上限是10000次;
n divisions
顯示的長方形個(gè)數(shù),現(xiàn)設(shè)為20 次,條數(shù)越多越清楚,可通過設(shè)置 Number of Divisions 值來修改
Mean
輸出變量平均值,這里是中心頻率的平均值為50.2437Hz
Sigma
輸出變量標(biāo)準(zhǔn)差 σ,即均方根誤差
Minimum、maximum、median
輸出變量的最小值、最大值、中間值
10 th %ile
按從大到小順序排列的100個(gè)濾波器樣本中第10號(hào)樣本和第11號(hào)樣本的帶寬平均值
90 th %ile
按從大到小順序排列的100個(gè)濾波器樣本中第90號(hào)樣本和第91號(hào)樣本的帶寬平均值。
對(duì)于直方圖X軸數(shù)據(jù)范圍劃分的區(qū)間數(shù),以及直方圖下方是否同時(shí)顯示有關(guān)信息和統(tǒng)計(jì)分析結(jié)果,均可以由用戶通過有關(guān)任選項(xiàng)設(shè)置確定。具體方法是選擇Tools→Options 命令,得到圖11的對(duì)話框。
圖11 設(shè)置直方圖相關(guān)信息
用同樣的方式可以得到品質(zhì)因數(shù)的統(tǒng)計(jì)直方圖。
圖12 品質(zhì)因數(shù)的直方圖
如果設(shè)計(jì)要求指標(biāo)的誤差需要控制在10%以內(nèi),那么需要中心頻率在45 ~55之間,品質(zhì)因數(shù)在18~22之間。從圖10和圖12可知,成品率均未達(dá)到100%。說明選取的器件容差有些偏高,將電容容差修改為5%,電阻容差修改為1%,運(yùn)行后得到圖13,可知設(shè)計(jì)可以滿足要求。
圖13 修改器件容差后的統(tǒng)計(jì)結(jié)果
這里對(duì)于沒有滿足設(shè)計(jì)要求時(shí)是采用將所有電阻、電容都調(diào)整為精確度較高的元件。如果能夠找到影響各技術(shù)指標(biāo)的關(guān)鍵器件,那就只需要對(duì)關(guān)鍵元件進(jìn)行修改,這可以大大節(jié)省器件成本了,這將會(huì)在后續(xù)PSpice AA模塊的靈敏度分析工具中介紹。敬請(qǐng)期待喲O(∩_∩)O 好了,這一期就到這,下一期講解另一種統(tǒng)計(jì)分析——最壞情況分析,下期見。
審核編輯:湯梓紅
-
仿真
+關(guān)注
關(guān)注
50文章
4082瀏覽量
133604 -
PSPICE
+關(guān)注
關(guān)注
18文章
228瀏覽量
71740 -
蒙特卡洛
+關(guān)注
關(guān)注
0文章
13瀏覽量
8161
原文標(biāo)題:跟小電學(xué)PSpice仿真 | 第七期 蒙特卡洛分析
文章出處:【微信號(hào):吳少琴的模電課,微信公眾號(hào):吳少琴的模電課】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論