作者wwwok (勇敢的坚持下去)
看板Electronics
标题Re: [问题] 如何用Hspice求input referred noise
时间Wed Nov 11 12:07:47 2009
最近也深受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
1F:推 ultimachen:算SNR->ENOB->power-noise optimization 11/11 12:54