Re: [問題] 如何用Hspice求input referred noise

看板Electronics作者 (勇敢的堅持下去)時間14年前 (2009/11/11 12:07), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/3 (看更多)
最近也深受NOISE的困擾 這幾天看了點書和蒐集了一點資料,想與各位分享討論一下 一般來說 要先判斷NOISE的來源 是元件本身的?還是背景雜訊? 元件本身大概可以分為閃爍和熱雜訊 背景大概就是大家熟知的WHITE NOISE 同時我們會將電路假設成理想的 把所有的NOISE放在輸入端 感覺上有點類似把OP設計上電路本身的MISMATCH產生的誤差 放到輸入端給他一個offset的感覺 這樣一來OP本身就是理想的一個狀態 另外因為NOISE是隨機產生的 所以當要模擬NOISE的時候 不可能直接將NOISE直接取值平均 以機率的觀點來看 這樣取出來的數值會是零 所以我們要將NOISE換算成POWER的單位 這樣才可以看出NOISE的大小(電壓平方後再積分後的值) 再把這個值開根號就會變成RMS的值 以上是我這幾天看書和蒐集的一些資料後的心得 如果有不正確的地方在請板上的高手指教一下 OK 回歸到原PO的問題同時也是我的問題 今天當用HSPICE將NOISE模擬出來後 我們得到的是一個RMS值 但是這卻不是一般單位的表示方法(例如他不是一個電壓) 而是一個POWER的單位表示 那麼我們該怎麼判斷今天這個數值對我們電路的輸入訊號會不會有影響呢? 謝謝各位了 ※ 引述《juc (道法自然)》之銘言: : 你的問題是 : HPSICE模擬的input refer noise是2.8747μ(V)^2/Hz : 但Sprctre卻是 4μ(V)^2/Hz : 兩者相差約30%, 所以你有疑問這樣嗎? : 以我做的模擬為例(input refer noise spectrum) : OP在10Hz的input refer noise(非integrated noise) : 用HSPICE模擬的結果為 0.93 x E-12 (V^2/Hz) : 用Spectre模擬的結果為 1.17 x E-12 (V^2/Hz) : (Spectre有兩種單位可選擇, 當然選跟HSPICE一樣的) : 兩者差距約20%(在其他頻率點也有類似的結果), : 這也許可以解釋成模擬器演算法的不同造成的差異 : 至於你說你要在HSPICE對inoise作一些數學運算那邊我也不知道麼弄..... : inoise*inoise這樣如何.....我沒試過....= = : ※ 引述《Hyozero (123)》之銘言: : : 請問要如何以hspice求出input referred noise呢? : : 我的.ac 是掃 10Hz ~ 10G Hz : : 想求10Hz ~ 10G Hz的input referred noise,單位是(V)^2 : : 也就是說:要把頻率積分 : : 我下.noise指令,.lis檔中列出如下: : : **** total output noise voltage = 3.196e-24 sq v/hz : : = 1.7877p v/rt hz : : transfer function value: : : v(out1b,out1a)/vd = 129.1305u : : equivalent input noise at vd : : = 13.8440n /rt hz : : **** the results of the sqrt of integral (v**2 / freq) : : from fstart upto 10.0000g hz. using more freq points : : results in more accurate total noise values. : : **** total output noise voltage = 34.9722m volts : : **** total equivalent input noise = 1.6955m : : 目前不太清楚紅色這部份是否就是我想求的input referred noise... : : 這個結果和spectre跑出來的數據有一段差距 : : spectre算出來的input referred noise大約是4μ(V)^2 : : 我把紅色部份部份平方後是2.8747μ(V)^2 : : 所以我想由 .print ac inoise onoise這個指令所給的inoise來驗證 : : (inoise是指某頻率下的input referred noise,例如上面10g Hz時inoise=13.8440n) : : 但inoise的單位是μV/√Hz,所以我想要把inoise平方後再積分 : : 但是卻卡在不知道該怎樣才能把inoise平方.. : : .param abc = 'inoise**2' : : 這樣會出現error : : .lis檔告訴我 **error** no definition for 0:inoise : : it was called by 0:abc : : 我也試過在.meas 做積分時 給'inoise**2',但是出現warning,然後就不執行 : : 在這裡卡了好久啊... : : 請問該怎麼做才能把inoise平方呢? : : 或者說紅色的部份就是我想求的input referred noise呢? : : (但是和spectre算出來的數據差距不小阿..) : : 感恩 -- 只有在被愛的時候 才會發現自己是多麼的重要 只有在愛一個人的時候 才會發現原來可以這麼在乎一個人 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.124.32.131

11/11 12:54, , 1F
算SNR->ENOB->power-noise optimization
11/11 12:54, 1F
文章代碼(AID): #1A-ZYMxv (Electronics)
文章代碼(AID): #1A-ZYMxv (Electronics)