The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
May 17th, 2024, 1:25am
Pages: 1
Send Topic Print
IIP3 using transient (Read 8460 times)
uncle_ezra
Community Member
***
Offline



Posts: 90

IIP3 using transient
Jul 05th, 2005, 3:32am
 
So I have given up using QPSS and QPAC to find mixer IIP3 due to convergence problem. So the alternative is to use transient analysis and input 2 sine waves and take the DFT at the output.

My method is to use a port and give two sine waves @ 2.45G and 2.451G. I run transient with maximum step of 1p. For DFT calculation I choose the range 3n to 3n+(2/2.45G).  But I am having an issue to see its spectrum displayed. I can't see two tones displayed only one. Is there anything wrong with my setup?

Thanks
Back to top
 
 
View Profile   IP Logged
uncle_ezra
Community Member
***
Offline



Posts: 90

Re: IIP3 using transient
Reply #1 - Jul 6th, 2005, 1:58am
 
My question is how do I choose the start and stop range when computing DFT given 2 different frequencies.  What is the rule of thumb in order to cover the desired harmonics?

Thanks
Back to top
 
 
View Profile   IP Logged
uncle_ezra
Community Member
***
Offline



Posts: 90

Re: IIP3 using transient
Reply #2 - Jul 6th, 2005, 5:23pm
 
I think the reason I don't see the tones displayed @ 2.45G, 2.451G and 2.449G has to do with the number of samples and the time for transient analysis.  Anyone out there can offer me some tips on how I should run transient analysis to obtain IIP3?

Thanks
Back to top
 
 
View Profile   IP Logged
sheldon
Community Fellow
*****
Offline



Posts: 751

Re: IIP3 using transient
Reply #3 - Jul 6th, 2005, 5:40pm
 
Uncle Ezra,

  The frequency you are trying to resolve is:
2.451G-2.45G or 1MHz. So an FFT needs to
have a fundamental frequency of 1MHz, or less.
That is the frequencies of interest are 2.499G,
2.45G, 2.451G, and 2.452G. Given the length
of the simulation is would be best to use 1MHz,
or a simulation time of 1us. Next the circuit needs
to reach sinusiodal steady-state, that is all the
startup transients need to settle.  Ac coupling, bias
control loops, etc . may have long time constants.
You will need to carefully control the time stepping,
however, 1ps is probably too tight given the 1us
simulation time. For the first cut, try setting the overall accuracy settings correctly and letting the time
stepping algorithm control the time step.

BTW, have you filed a PCR and provided Cadence a
testcase?

                                                  Best Regards,

                                                      Art Schaldenbrand
Back to top
 
 
View Profile   IP Logged
sheldon
Community Fellow
*****
Offline



Posts: 751

Re: IIP3 using transient
Reply #4 - Jul 6th, 2005, 5:51pm
 
Uncle Ezra,

  The fundamental tones in the simulation are 2.45G and
2.451G. The third-order intermodulational products are
(2*2.45G - 2.51G)=2.49G and (2.51G-2.45G)=2.51G. So
the FFT needs to have a fundamental frequency of 1MHz,
or the FFT needs a transient simulation that runs from
x ns to x + 1000ns.  Since the FFT displays the frequencies
from 0 to fs/2, you will need to have at least 8192 points
in the FFT, fmax=4.096G.

   The IIP3 is the third order intercept point of the
intermodulation product, 2*f1-f2 and 2*f2-f1. QPSS
analysis was developed to deal with the issue of
simulating circuits with closely spaced tones efficiently.
because this is a difficult simulation to perform with
transient analsysis.


                                                     Best Regards,

                                                        Sheldon
Back to top
 
 
View Profile   IP Logged
uncle_ezra
Community Member
***
Offline



Posts: 90

Re: IIP3 using transient
Reply #5 - Jul 6th, 2005, 10:11pm
 
Got you thanks a lot for your clarification.

Since the IM3 are @ 2.449G and 2.452G, wouldn't fmax=2*2.452G=4.904G , hence N>4904 be sufficient?
Back to top
 
 
View Profile   IP Logged
sheldon
Community Fellow
*****
Offline



Posts: 751

Re: IIP3 using transient
Reply #6 - Jul 10th, 2005, 6:11am
 
Uncle Ezra.

  You need to be a little careful, the point was that the
you need to display all the frequencies without aliasing
them. To display 2451MHz without aliasing means that
2451MHz > 2048 * 1MHz or 4096 points are required.
Also, the FFT displays the frequencies from 0 to fs/2 which
means that fs/2=4096, or the FFT needs 8192 points.  
To improve the accuracy of the FFT, you might want to
try using the zvcvs element to force the correct
timepoint.

  One other option to consider, depending on the version
of SpectreRF you have access to is using, Rapid IP3
analysis. It is intended for the problem of Mixer IP3
calculation.          

                                                       Best Regards,

                                                           Sheldon                                    
Back to top
 
 
View Profile   IP Logged
mustangyhz
Community Member
***
Offline



Posts: 37
china
Re: IIP3 using transient
Reply #7 - Jul 1st, 2010, 2:05am
 
Has this problem been solved? How? can you send me a email to mustangyhz@126.com? thanks a lot!
Back to top
 
 

mustangyhz
View Profile mustangyhz 3241568   IP Logged
RFICDUDE
Community Fellow
*****
Offline



Posts: 323

Re: IIP3 using transient
Reply #8 - Jul 1st, 2010, 4:27am
 
Sheldon explained this, but maybe this is a little clearer ...

There are two fundamental issues which impact your problem
1. You have two high frequency signals which dictate the minimum sampling rate
2. You want to resolve two closely spaced signals (in frequency) which dictates the required frequency resolution (Hz/bin)

The sampling rate (i.e. time step) dictates the highest frequency without aliasing; although, many dft functions use interpolation to permit extension of spectrum (but this is a different issue).

The FFT/DFT frequency resolution is dictated by the duration of the simulation. So if you want to resolve two-tones spaced 1 MHz then the DFT resolution has to be at least this or less. I always try to have at least 1 DFT bin between tones just to be sure the DFT is completely correct (no unexpected energy between the tones).

*** You will never be able to resolve tones that are spaced closer together than 1/tstop (where tstop represents the time duration of the simulation).

So the total number of time points (fft points) required are

N = trange/tstep = freqRange/freqResolution

where

freqResolution = 1MHz (or maybe 500kHz) = 1/trange, trange=1usec simulation stop time (plus whatever is needed for the transient to settle)

freqRange = 2*2451MHz = 1/tstep

N = 2*2451MHz/1MHz = 4902 points minimum plus however many points needed for the transient to settle.

So, let's say you have done all this correctly and simulated long enough for the initial transient to settle and captured enough time beyond that to resolve the tones. Now how do you set the time range for the DFT function?

stop time = tstop (last time point)
start time = tstop - (1/freqResolution)

of course you may need to offset this by maybe one point to get it right on the DFT grid.

Many DFT functions (like in the calculator) offer waveform interpolation when you specify the number of points to use. This is helpful when there are higher harmonics present in the time domain output since these will alias down and cause some confusion when you look at the spectrum. The interpolation allows you to extend the frequency range of the solution without simulating at even finer time steps to capture the harmonics.

As sheldon suggested, just let the simulator set tstep as it usually does to satisfy the convergence criterion. This is usually adequate for an accurate simulation solution for the fundamentals and harmonics even if tstep is not fine enough to prevent aliasing in the subsequent FFT/DFT analysis. Interpolation on the accurate solution is effective for providing you with a wider output spectrum without distorting the answer (assuming the interpolation does not produces distortion).

Finally, if there is some transient in the signal or the transient is too slow for you to wait for it to completely settle out then you can use DFT windowing functions to help suppress the DFT spectral leakage that results from taking the DFT of a signal with an aperiodic transient signal. But the cost is that you loose some frequency resolution whenever you use a window function (usually a minimum of +/- 1 bin around any frequency of interest). This means the simulation stop time would have to double, so this is only helpful if there is a long time constant in the circuit that you can't mitigate some other way.

Perhaps this was more information that you needed, but hopefully it (along with sheldon's solutions) helped answer your question.

Also, you might want to search the forum or post a separate question regarding your qpss convergence issues. Perhaps someone has some useful suggestions.
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.