The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
May 5th, 2024, 8:44am
Pages: 1
Send Topic Print
A Question about FFT simulation using HSPICE! (Read 3393 times)
ywguo
Community Fellow
*****
Offline



Posts: 943
Shanghai, PRC
A Question about FFT simulation using HSPICE!
May 06th, 2004, 5:07am
 
Hello,

I read the Hspice manual, but I am not clear how Hspice choose the points used for FFT. Do you have any ideas about it?

I use FFT in Hspice to simulate the dynamic range of SHA. To get a clear frequency spectrum, only the output voltage at hold phase should be used for FFT. Now I control the start time, stop time, and number of point so that the space between two consecutive points is equal to the sampling rate. But I am not sure whether the points used for FFT lie in sampling phase or hold phase.

For eg.

VCLK CLK vss pulse 0 supply 2.0ns 1ns 1ns 11.0ns 25ns
.tran 1ns 12.8us
.fft v(op,on) from=1ns to=12.8us NP=512
+ window=Kaiser-Bessel

Is the first point  Time=start time + (stop time -start time)/512 ?
Or Time = start time + (stop time - start time)/(2*512) ?

Thanks

Yawei Guo
Back to top
 
 
View Profile   IP Logged
Spice_Oracle
New Member
*
Offline



Posts: 3

Re: A Question about FFT simulation using HSPICE!
Reply #1 - May 27th, 2004, 10:59am
 
Hi Yawei,

HSPICE will use the internal time point values from the transient simulation and a second order interpolation method to obtain the waveform samples.

If you set .option accurate or .option fft_accurate, then HSPICE will dynamically adjust the time steps so that each FFT sample point is a real simulation time point value.  This will give you more accurate FFT results since you will not have any interpolation error.

The number of sample points is determined by the number of points specified in the .FFT statement (default is 1024).  If you change the number of points, it must be a power of 2 otherwise HSPICE will adjust the number of points to the nearest power of 2.  I really don't recommend taking less points than the default.

By default the entire waveform from time=0 to time=tstop is analyzed unless you set values for start and stop in the .FFT statement.

Hope this helps.
Back to top
 
 
View Profile   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2024 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.