The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Simulators >> RF Simulators >> ACPR using envelope analysis (hidden states error)
https://designers-guide.org/forum/YaBB.pl?num=1263961579

Message started by aaron_do on Jan 19th, 2010, 8:26pm

Title: ACPR using envelope analysis (hidden states error)
Post by aaron_do on Jan 19th, 2010, 8:26pm

Hi all,


i'm trying to do an ACPR simulation using spectreRF envelope following analysis. I need togenerate an MSK signal so I used the verilog-A random bit generators and VCOs in the designer's guide verilog-A/MS section. When I tried to run the simulation I got this error. Note that I was using the envelope following analysis, not the PSS analysis. Does anybody know how I can get around this problem, or perhaps another way to generate an MSK signal?


thanks,
Aaron


Quote:
Error found by spectre during envelope following analysis `envlp'.
   ERROR (SPCRTRF-15177): The component bitgen is not supported in PSS analysis because it is a behavior module component with hidden states. Components with hidden state are not allowed with this analysis.The PSS analysis is skipped.
       
       /home/aaron/CSM018IC/VERILOG_TUTORIAL/bitgen/veriloga/veriloga.va, line 16: Hidden state variable: x
   ERROR (SPCRTRF-15177): The component VCOnojitter is not supported in PSS analysis because it is a behavior module component with hidden states. Components with hidden state are not allowed with this analysis.The PSS analysis is skipped.

Title: Re: ACPR using envelope analysis (hidden states error)
Post by aaron_do on Jan 19th, 2010, 11:27pm

The VCO in the ahdlLib seems to work so now I just need to figure out how to get the random bit generator. I understand that I can generate a file and use it in the ppwlf source from analogLib. Anybody know how to do that? How do I generate the file?


thanks,
Aaron

EDIT:

OK I managed to import the random data sequence using the vpwlf source in analogLib. I'm trying to generate a signal for the IEEE 802.15.4 standard. So I have a few questions:

1) Am i right in using an MSK signal to represent the half-sine pulse shaped OQPSK signal of the IEEE 802.15.4 standard? Anything i might be missing?

2) How much time resolution should I use for the vpwlf file?

3) I need to lpf the vco output in order to remove the high orer harmonics of the carrier. So I figured I could use a butterworth filter from the rfLib with a cutoff around 2.5 GHz and about 5th order. Does that sound ok?


thanks in advance,
Aaron

Title: Re: ACPR using envelope analysis (hidden states error)
Post by pancho_hideboo on Jan 20th, 2010, 1:07am


aaron_do wrote on Jan 19th, 2010, 11:27pm:
1) Am i right in using an MSK signal to represent the half-sine pulse shaped OQPSK signal of the IEEE 802.15.4 standard?
Strictly speaking, they are different.
But for ACPR evaluation purpose, you can use MSK signal as substitution for half-sine pulse shaped OQPSK.


aaron_do wrote on Jan 19th, 2010, 11:27pm:
2) How much time resolution should I use for the vpwlf file?
I use tstep=(1/Rsymb)/16 for Isig and Qsig files, here Rsymb=2Msymbol/sec.
Actually I use these files for generation of half-sine pulse shaped OQPSK by using actual vector signal generator, Agilent E4438C.

So my files for "vpwlf" are provided as tstep=(1/Rsymb)/16.

In Envelope Analysis of Cadence Spectre, first I set "envmaxstep=(1.0/2M)/16". But this setting resulted in simulation failure.
Next I set "envmaxstep=(1.0/2M)/32", this setting can finish simulation without failure. But there are still unreasonable bumps in envelope.
If I don't set "envmaxstep", simulation results in failure after very short time.

In Envelope Analysis of Agilent GoldenGate, I set Tstep=(1.0/2M)/256, because Envelope Analysis of Agilent GoldenGate is fixed time step analysis. So noise bandwidth is 512MHz.


aaron_do wrote on Jan 19th, 2010, 11:27pm:
3) I need to lpf the vco output in order to remove the high orer harmonics of the carrier.
So I figured I could use a butterworth filter from the rfLib with a cutoff around 2.5 GHz and about 5th order.
Does that sound ok?
As far as LPF doesn't cause group delay distortion inside modulation bandwidth, it is ok.

But since you use behavioral VCO, so I think higher hamonics are never generated from VCO.


See the followings. Here I use I/Q-Modulator for generation of MSK or half-sine pulse shaped OQPSK.
http://www.designers-guide.org/Forum/YaBB.pl?num=1195226387
http://www.designers-guide.org/Forum/YaBB.pl?num=1262000981
http://www.designers-guide.org/Forum/YaBB.pl?num=1260978648
http://www.designers-guide.org/Forum/YaBB.pl?num=1262828862/29#29

Title: Re: ACPR using envelope analysis (hidden states error)
Post by Andrew Beckett on Jan 20th, 2010, 1:17am

By the way, spectre's vsource supports "type=prbs" which is another way of generating a bit stream (although it's a pseudo-random bit source, so that's not quite as random as generating with random numbers). Don't think the "prbs" mode is available on vsource in analogLib yet though.

If you use the rand_bit_stream from ahdlLib, then this should work in envlp, because it has the instrument_module attribute:


Code:
(* instrument_module *)
module rand_bit_stream (vout);


You could use the same attribute in your own model. Note that this needs to be used with caution, because it disables the hidden state check for that module, so you need to ensure that there are no hidden states which will really influence the behaviour. See http://www.designers-guide.org/Analysis/hidden-state.pdf for more details.

Regards,

Andrew.

Title: Re: ACPR using envelope analysis (hidden states error)
Post by aaron_do on Jan 20th, 2010, 5:04am

thanks!

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.