sheldon
|
Matteo,
A source follower, even one driving an ADC is a linear circuit [just like an op-amp]. There is no need to worrying about sampling effects, aliasing, etc. Chose the input frequency based on the ADC requirements, for example, the Nyquist Frequency for a 20MHz ADC is 10MHz. So use a 10MHz sine wave to test the follower.
The transient stop time for a 10 MHz input frequency is 1/10MHz or 100ns.
You should use the Spectre error presets to control the simulation, in general, setting reltol, etc. is an inefficient way to improve accuracy.
Strobing eliminates the interpolation when the output data points are selected for the dft. You also can use the Spectre Fourier analysis. The Fourier integral uses the points that the simulator selects, see Ken's book for a more detailed discussion).
For a source follower, windowing should not be required because source follower is not a sampled circuit.
One other thing you might want to try is to perform the DFT across several cycles. For example, if the transient stop time is 400ns for the DFT, then there will be three noise bins between each harmonic bin. This will give you insight into the noise floor of the DFT. This allows allows you to run transient noise analysis and see the effect of noise on the buffer.
In the attached plot, I simulated a source follower and plotted the DFT for simulation setups: 1) 10MHz input, 64 point DFT, tstop=100ns 2) 10MHz input, 64 point DFT, tstop=100ns The results are equivalent to the results with strobing, in this case I just made maxstep small because the simulation is fast, maxstep=100ps (~1/2 * ( 100ns/64)) This works okay for linear circuits, but makes the simulation time for sampled circuits very long, so use strobing for the S/H 3) #1 with the tstop=400ns and 256 point DFT This inserts three noise bins between each harmonic 4) #2 with the tstop=400ns and 256 point DFT
Best Regards,
Sheldon
|