The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl Simulators >> RF Simulators >> IIP3 using transient https://designers-guide.org/forum/YaBB.pl?num=1120559556 Message started by uncle_ezra on Jul 5th, 2005, 3:32am |
Title: IIP3 using transient Post by uncle_ezra on Jul 5th, 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 |
Title: Re: IIP3 using transient Post by uncle_ezra on 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 |
Title: Re: IIP3 using transient Post by uncle_ezra on 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 |
Title: Re: IIP3 using transient Post by sheldon on 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 |
Title: Re: IIP3 using transient Post by sheldon on 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 |
Title: Re: IIP3 using transient Post by uncle_ezra on 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? |
Title: Re: IIP3 using transient Post by sheldon on 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 |
Title: Re: IIP3 using transient Post by mustangyhz on Jul 1st, 2010, 2:05am Has this problem been solved? How? can you send me a email to mustangyhz@126.com? thanks a lot! |
Title: Re: IIP3 using transient Post by RFICDUDE on 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. |
The Designer's Guide Community Forum » Powered by YaBB 2.2.2! YaBB © 2000-2008. All Rights Reserved. |