I simulated my signal using FFT (Blackmanharris window) in MATLAB which gives me 16-bit reolution (96dB) but when i import the same signal to using sam FFT window in SPICE, the result only became 80dB left. Can any one answer why this happens and how should I avoid this problem. Thank you very much!
Well, in spice, you really have to be careful about the time points you are using for plotting your FFT. Make sure that you consider the points where the signal has settled. Also try using other windows, preferbly Hanning and Rectangular. Another problem in SPICE could also be due to your RELTOL value. Try and decrease RELTOL value and then give a run.
FFT need equidistant time points. Spice does not deliver equidistant. So there is some interpolation/extrapolation algorithm. You possible observe the artifacts of this algorithm.
Try this
FFT in spice or spectre:
N/(FFT point) = Fin/(sampling freq)
N prime number 7,9,13,17,19,23,29,31.............
FFT point : power of 2 , 1024,2048,4096,32768,65536 , larger will give a lower FFT noise floor
Fin : your input signal
Try this
FFT in spice or spectre:
N/(FFT point) = Fin/(sampling freq)
N prime number 7,9,13,17,19,23,29,31.............
FFT point : power of 2 , 1024,2048,4096,32768,65536 , larger will give a lower FFT noise floor
Fin : your input signal