Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

FFT in Cadence Analog Environment

Status
Not open for further replies.

ngox

Member level 2
Joined
Aug 4, 2011
Messages
50
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
1,718
Hi, is there a way to get a finer resolution on the DFT function in Cadence Analog Environment? I have an input of 50MHz and everytime I run DFT it always sweeps up to the terahertz range. The problem with this is that when I zoom in around 50MHz, the resolution is quite bad and I only have 3 or 4 tones to look at. Thanks.
 

You need to run longer simulations! The frequency resolution depends on the simulation time with the bandwidth depends on the sampling frequency. You probably are taking a large number of points in a very short simulation.
 

Thanks I'll give that a try. The other problem I am having is that when I run the simulation at the nyquist rate, the signal is being sampled only twice per period. This results in the bit sequence essentially unchanging unless over long periods of time. The problem is with this is that the reconstructed signal afterwards is vastly slower than the original input signal. I have found some literature on how to simulate ADCs at the nyquist rate, but none of them tell me what to do exactly.

I also found in a related thread that I should do this:
----
1. run a transient analysis to record 2048 points.
2. generate the stair output of the ADC using the digital outputs.
3. divide this by 2^N where N is the number of bits of the ADC output.
4. using dft function in the calculator generate the frequency plot.
----
Say I have a 2GSps 3-bit flash ADC and I input a 1GHz sine wave. After reconstruction I would end up with a slower sine wave (probably on the order of MHz). Would I then divide the time domain by 8? This doesn't seem quite right. Any help would be appreciated. Thanks!
 

What you are experiencing is called "subsampling". If this is not what you want, you are setting up your simulation environment incorrectly. Moreover, the Nyquist criterion says: fin<fs/2, where the "<" is strict. That means that if you want to reconstruct your input signal, you must sample at a rate higher than 2fin. In your case, 1GHz=2GHz/2 and are not satisfying the Nyquist criterion.

The standard way to simulate (and measure) ADC is using "coherent sampling". Your input frequency should be set by the following formula: fin=K*fs/N, where K is an odd integer, fs is the sampling rate and N is the number of samples. K should be chosen so that it will set fin close to your wanted input frequency. N should be chosen so that you have enough resolution in your spectral plot. For instance, for the given frequencies you could set K=1023, N=2048, resulting in fin=999.0234375MHz. Your simulation should be at least 2048/fs seconds (do not forget to add some time for operating point settling).

I hope this helps!
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top