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