The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Simulators >> Circuit Simulators >> A Question about FFT simulation using HSPICE!
https://designers-guide.org/forum/YaBB.pl?num=1083845226

Message started by ywguo on May 6th, 2004, 5:07am

Title: A Question about FFT simulation using HSPICE!
Post by ywguo on May 6th, 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

Title: Re: A Question about FFT simulation using HSPICE!
Post by Spice_Oracle on 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.

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.