Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-7-21 00:59:37 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
小弟我在模擬一個簡單MOS switch取樣電路的解析度時有一個疑問,
9 s. ~) X% L  G( E) F; [! b9 v3 N: C以下是我的CODE:
9 u, C- ~4 r7 _2 V/ yvclk vclk gnd! pulse(0 1.2 0.125n 0 0 0.125n 0.25n): H! B3 T3 w8 U4 |  R. P6 \
vclkb vclkb gnd! pulse(1.2 0 0.125n 0 0 0.125n 0.25n)
; Q2 O$ x( j: n8 zvinp vinp gnd! sin(0.8165v 0.2835v 0.125g)
, r0 ?7 Y1 c/ _- `, Ivinn vinn gnd! sin(0.8165v 0.2835v 0.125g 0 0 180)/ Z% u6 Q7 D- R9 [# ]
.tran 0.25n 8.1875n
) F% L7 P; R' [! y) {$ [( H.fft v(voutp,voutn) start=0.1875n stop=8.1875n np=32 freq=0.125g
7 ]2 y1 [# l5 ~4 q+ W- m; d以上幾行,表示我的CLOCK=4G,
" K- n  I$ s0 g- e' J% J, r想請問各位前輩".tran 0.25n 8.1875n"這一行的取點間格對嗎?是0.25n嗎?,
/ H1 }2 G$ U5 E* B& r* R6 h7 K那如果我取 ".tran 0.0001n 8.1875n" 又會有什麼影響?
4 [. S) f8 C1 N# m* H5 h; k. d我有爬文看過相關的討論,結果發現.tran的取點間格,都是為sampling time,但我這裡有了一個疑問了!為什麼?9 h6 M4 n* ?% a' Z
以我的認知,m*Tin=n*Tsample這個規則是指做DFT的Data要符合,所以與transient分析無關,% p) I- D( L3 Z4 p  o8 P
只要我.fft v(voutp,voutn) start=0.1875n stop=8.1875n np=32 freq=0.125g此行下的間格讓做DFT的DATA時間間格為0.25n
  G! c# u; U  n' L" q$ {  z就好,但是我問過別人也看過其它討論,似乎得不到相關的答案,
! x+ D% l) ]8 Z- h當然,如果結果沒差,就沒差了,但是重點在於若此電路為一與時脈有關之電路,我發現.tran 0.25n 與.tran 0.0001n 將會有很大的差別,因為我去跑transient的結果發現,因為取點的關係,spice會將clock當做一有Tr與Tf斜斜上升的波,並非我原本設定的漂亮方波,, v0 r+ e9 z3 y, r! I. o
造成嚴重的distortion在clock-edge處發生!
9 I+ K" u- o0 _* I! D# Y+ g' H3 |8 Q2 M我的問題是,做transient分析時,取點的間格大小不是不會影響電路嗎?只是取出此電路輸入一訊號後,在絕對時間的x(second)某點的值. `4 v- Q& Q7 n6 q% c
,所以只要我取到的絕對時間相同,那跟我取的間格不是無關了嗎?; `, n" W- R+ m8 X
我有去做過與時脈無關之電路的模擬,的確與取點的間格無關,某點某時的電壓值是固定的,
& ~7 A+ L1 `, E0 c( Y4 m  F1 ~但...那與時脈有關的電路呢?
( |& n. e5 k" E3 Q* f# r  F我覺得spice-transient的運算似乎是把某時的時脈電壓取出,而在沒取到的點做一線性方程計算出值,再內差出所需DFT-DATA-TIME的值,再代入運算得頻譜,但!我的CLOCK並非如此糟!
' {; Q* |7 |) ^/ K, J寫了一大堆..在於這個問題困擾了很久,所以才上來請教各位前輩,在此先再感謝!5 n  X: q1 m/ y: e  r! d/ X
不知道以上所說對不對?
7 J& m! y8 w, u$ N/ X還有,若真的與transient分析取點間格無關,那我又要取多細呢?是否與我提供的時脈品質有關呢?, A8 {; k, j. ~5 V9 w* {! X' X
感謝!!!感恩!!!4 |: x' B# |" K1 x# \5 K( V

4 S" m4 O% u4 D& Z% L# W[ 本帖最後由 henry90176 於 2009-7-21 01:00 AM 編輯 ]
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2009-7-21 11:18:48 | 只看該作者
我個人比較不建議你使用SPICE中的FFT指令
) O) H9 X0 ?9 l  N8 b我之前也曾用過SPICE中的FFT指令,結果出現的waveform和值都很奇怪,試過好幾種設定,但一直不甚正確
5 g4 z3 f! E: Q1 h* c後來,我是把SPICE的結果用.print或者用.measure的方式把結果存成.txt檔,然後再用MATLAB去計算FFT,結果其waveform和值就正確了) \$ q& Y, t+ O! X4 A# b# T
SPICE中的FFT我不知道其用法有何特殊之處,但我曾問過不少使用過SPICE的FFT的同事,回答皆是難用又不確定其正確性: v* X7 }7 F0 d, w+ ^7 j; r: p
故而,建議你別困在SPICE中的FFT

評分

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

查看全部評分

3#
發表於 2009-7-21 13:27:06 | 只看該作者
同意版主看法,HSPICE的FFT真的不好用,我的經驗是HSPICE的FFT跟MATLAB的FFT相比較
  P/ g, J3 `) ?# P# q. X8 k; j1 JMATLAB的FFT其SNR好很多,但是前提是你HSPICE所print出來的數值要正確., e% V( Q- Q" W) q: T% i  r7 V5 @
相關的MATLAB code跟如何取點其實網上很多.! ?& M# `4 |0 h! A2 r" T2 l  [. c1 [
目前也正在學習,可以互相學習,交流.
4#
 樓主| 發表於 2009-7-23 00:29:55 | 只看該作者
感謝 finster 和 hyseresis 前輩,恩,經過我與學長和老師討論的結果也是如同各位說的一樣!
" H' F* M3 K5 \2 L% J4 v) H, K9 c我想,不應該在這邊打轉太久,感恩!
9 Q9 y6 b4 z% g: a; ]....只是我在這邊就浪費一個星期...感謝!
5#
發表於 2009-7-23 23:52:18 | 只看該作者
我試過spectre FFT or PSD function和matlab跑出來的值是幾乎一模一樣的4 _& {7 a% u8 _! ]" Y1 Q, l2 I7 h
用spectre或hspice因為其模擬軟體計算方式需要一些較特殊的方式給訊號頻率
; [* y/ `4 x6 g$ a- c5 v才能得到正確的數值0 M- d" `( l/ s
可以參考:+ S; J+ O# X9 f% t! I# G9 a
http://www.edaboard.com/viewtopic.php?t=166042&highlight=

評分

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

查看全部評分

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

本版積分規則

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

GMT+8, 2024-4-29 02:53 AM , Processed in 0.107006 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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