Eugene
|
If you really want to use the baseband hidden state modulator in an envelope analysis, you could also try a resettable integrator. I've skirted the hidden state issue before with a resettable integrator (idt) statement. Integrate zero, set the initial condition to the desired state value, then assert the reset control during an aperture time. This is very similar to the capacitor idea but you don't have to play with capacitor values. The resettable integrator is a track and hold device. It tracks the initial condition as long as the assert command is high. If I recall, the trick is to make sure the assert command is not itself a state variable. i.e. you must ensure that it does not retain its value from one time point to the next.
I still favor the two-step approach using Spectre primitive sources. The only thing to watch out for is the spectrum about the harmonics of the sampling period. Spectre will linearly interpolate between sampling points and that introduces a first order hold operation that is probably not there physically. If you are interested in whether your analog filters properly suppress the images about the baseband sampling frequency, you will want to pay close attention to how the DAC really works. You can sample and hold the data but that again involves hidden state. The alternative I've used before is to use a sample rate that is 10 times the baseband sample rate to generate the baseband data that will be read in by the Spectre sources. The oversampling trick ensures that the waveform represents a real DAC output in that it has a staircase nature to it.
Another to be aware of if you are indeed looking at spectral mask or acpr, is to strobe the data and use the correct PSDbb parameters. The Cadence SpectreRF user's guide discusses these issues. Look under transmitter acpr. If you are not careful in how you postprocess the data, you will not see the right noise floor.
|