Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 14642|回復: 5
打印 上一主題 下一主題

[問題求助] 請問Hspice-transient分析的疑問與FFT,感恩!感謝!麻煩了!

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-7-21 00:59:37 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
小弟我在模擬一個簡單MOS switch取樣電路的解析度時有一個疑問,
* j" q9 e: i1 V. B2 m以下是我的CODE:
- g8 v* O' V6 d& k4 Ivclk vclk gnd! pulse(0 1.2 0.125n 0 0 0.125n 0.25n)' ?8 n0 A( }% O3 D$ s+ X2 f! L
vclkb vclkb gnd! pulse(1.2 0 0.125n 0 0 0.125n 0.25n)6 {; w" N. l2 n. v) E4 }
vinp vinp gnd! sin(0.8165v 0.2835v 0.125g)
+ M( G/ K4 h% d- D4 wvinn vinn gnd! sin(0.8165v 0.2835v 0.125g 0 0 180)$ e( [( C  K  [; H- g0 R
.tran 0.25n 8.1875n- c& ]8 ?& |- H+ p( L, w
.fft v(voutp,voutn) start=0.1875n stop=8.1875n np=32 freq=0.125g
4 U; S3 }; U" d1 W" Z: F以上幾行,表示我的CLOCK=4G,) b1 X4 V* S  M9 c% ^& N' ~
想請問各位前輩".tran 0.25n 8.1875n"這一行的取點間格對嗎?是0.25n嗎?,3 w, i. m5 M" d' }- [+ m2 ]2 U& [
那如果我取 ".tran 0.0001n 8.1875n" 又會有什麼影響?; n- |/ x+ e  X2 G
我有爬文看過相關的討論,結果發現.tran的取點間格,都是為sampling time,但我這裡有了一個疑問了!為什麼?
" n: u' E' b3 @" @) l3 n以我的認知,m*Tin=n*Tsample這個規則是指做DFT的Data要符合,所以與transient分析無關,* o7 J+ U. ]% s2 E* [7 l! A% m, r
只要我.fft v(voutp,voutn) start=0.1875n stop=8.1875n np=32 freq=0.125g此行下的間格讓做DFT的DATA時間間格為0.25n0 J5 `$ G) }& S- w& t$ K
就好,但是我問過別人也看過其它討論,似乎得不到相關的答案," K0 l8 o0 h( P2 L' ^
當然,如果結果沒差,就沒差了,但是重點在於若此電路為一與時脈有關之電路,我發現.tran 0.25n 與.tran 0.0001n 將會有很大的差別,因為我去跑transient的結果發現,因為取點的關係,spice會將clock當做一有Tr與Tf斜斜上升的波,並非我原本設定的漂亮方波,& Z! E* }' M+ ]1 t
造成嚴重的distortion在clock-edge處發生!5 K% n: K4 z& n( e9 Q
我的問題是,做transient分析時,取點的間格大小不是不會影響電路嗎?只是取出此電路輸入一訊號後,在絕對時間的x(second)某點的值" `+ T- F. q* b" {9 w+ M; u
,所以只要我取到的絕對時間相同,那跟我取的間格不是無關了嗎?4 k5 K* r4 v* c2 q; o0 B% G
我有去做過與時脈無關之電路的模擬,的確與取點的間格無關,某點某時的電壓值是固定的,& I, B3 v: o/ L3 ]; L4 I: S' i" F
但...那與時脈有關的電路呢?% k6 j; C. x# \9 h; N3 ^2 J3 j. g+ v; j
我覺得spice-transient的運算似乎是把某時的時脈電壓取出,而在沒取到的點做一線性方程計算出值,再內差出所需DFT-DATA-TIME的值,再代入運算得頻譜,但!我的CLOCK並非如此糟!
4 v  o  @- D, ?: P% X! x8 T! K寫了一大堆..在於這個問題困擾了很久,所以才上來請教各位前輩,在此先再感謝!8 i$ J6 f- R/ M4 R5 p8 f# P( T
不知道以上所說對不對?
; p% T5 `# C! Q* R6 p" K/ A還有,若真的與transient分析取點間格無關,那我又要取多細呢?是否與我提供的時脈品質有關呢?+ y0 ^; R6 s5 ^) e- `" X
感謝!!!感恩!!!
( {9 X0 X+ q1 l0 j' U7 B. ^
% P, ?+ g6 Z# ~2 g  J[ 本帖最後由 henry90176 於 2009-7-21 01:00 AM 編輯 ]
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2009-7-21 11:18:48 | 只看該作者
我個人比較不建議你使用SPICE中的FFT指令' K8 r/ k* L5 H4 ?- m3 i6 |" u
我之前也曾用過SPICE中的FFT指令,結果出現的waveform和值都很奇怪,試過好幾種設定,但一直不甚正確/ ^; o  _+ j# N8 m$ M1 ?1 q
後來,我是把SPICE的結果用.print或者用.measure的方式把結果存成.txt檔,然後再用MATLAB去計算FFT,結果其waveform和值就正確了
1 T4 P& ^/ ~6 b$ u. o$ k( WSPICE中的FFT我不知道其用法有何特殊之處,但我曾問過不少使用過SPICE的FFT的同事,回答皆是難用又不確定其正確性
! Q. b/ A+ v% k0 R0 ?) k故而,建議你別困在SPICE中的FFT

評分

參與人數 1 +5 收起 理由
henry90176 + 5 感謝你的分享.希望對我有幫助.謝!

查看全部評分

3#
發表於 2009-7-21 13:27:06 | 只看該作者
同意版主看法,HSPICE的FFT真的不好用,我的經驗是HSPICE的FFT跟MATLAB的FFT相比較" O. N2 C0 v5 H3 s' A
MATLAB的FFT其SNR好很多,但是前提是你HSPICE所print出來的數值要正確.5 Y& ]+ ]0 q5 J+ K0 J* t7 j0 j+ A
相關的MATLAB code跟如何取點其實網上很多.
6 @6 v4 _0 s# L( R9 V5 W目前也正在學習,可以互相學習,交流.
4#
 樓主| 發表於 2009-7-23 00:29:55 | 只看該作者
感謝 finster 和 hyseresis 前輩,恩,經過我與學長和老師討論的結果也是如同各位說的一樣!
( {" h& E+ C( b+ L. |我想,不應該在這邊打轉太久,感恩!9 ^. P2 v0 }8 V) R& [3 G
....只是我在這邊就浪費一個星期...感謝!
5#
發表於 2009-7-23 23:52:18 | 只看該作者
我試過spectre FFT or PSD function和matlab跑出來的值是幾乎一模一樣的3 ^: q: f$ U: }& t2 N1 R# C& x( Z
用spectre或hspice因為其模擬軟體計算方式需要一些較特殊的方式給訊號頻率6 s+ R! C1 _6 U- [4 t& Q. s
才能得到正確的數值
; A2 O3 \+ }; X* f: ]可以參考:
) n  k2 W# b. g3 Q0 x' Fhttp://www.edaboard.com/viewtopic.php?t=166042&highlight=

評分

參與人數 1 +5 收起 理由
henry90176 + 5 感恩

查看全部評分

6#
 樓主| 發表於 2009-7-24 00:25:24 | 只看該作者
感謝 chungming 前輩,原來還有一個這麼好的論壇,只不過是英文的...! \: q2 A+ H! J. B
恩..後來我有模擬出來了!改善後的頻譜結果跟transient看到的東西感覺連接的上了,感恩!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-6-2 04:44 AM , Processed in 0.124015 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表