The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Simulators >> Circuit Simulators >> Question about OCEAN function, evmQpsk() in Cadence ADE
https://designers-guide.org/forum/YaBB.pl?num=1260978648

Message started by pancho_hideboo on Dec 16th, 2009, 7:50am

Title: Question about OCEAN function, evmQpsk() in Cadence ADE
Post by pancho_hideboo on Dec 16th, 2009, 7:50am

Any expert of Cadence tools.
I have question about OCEAN function, evmQpsk() in ADE.

When I use following OCEAN Script to plot Trajectory, Constellation and EVM,
Informations of EVM value and Numbers of Symbol to be used in calculation of EVM will be showed
as SubwindowTitle of Subwindow-2.
But SubwindowTitle of Subwindow-2 is overridden by SubwindowTitle of Subwindow-1.

Why is SubwindowTitle of Subwindow-2 overridden by SubwindowTitle of Subwindow-1 ?

If I change
   x = clip( Isig, Tstart, Tstop )
   y = clip( Qsig, Tstart, Tstop )
to
   x = sample( Isig, Tstart, Tstop, "linear", Tsymb/16 )
   y = sample( Qsig, Tstart, Tstop, "linear", Tsymb/16 ),
Informations of EVM value and Numbers of Symbol are showed as SubwindowTitle of Subwindow-2
without being overridden by SubwindowTitle of Subwindow-1.

Is there any method to get EVM value and Numbers of Symbol as string or numeric data from results of evmQpsk() ?

Any expert of Cadence tools, teach me.


Quote:
procedure( xy_plot( x, y, label, plot_style )
 let( ( nc, ns, wf )
   nc = drGetWaveformYVec( x )
   ns = drGetWaveformYVec( y )
   wf = drCreateWaveform( nc, ns )
   wf->plotStyle = stringToSymbol( plot_style )
   plot( wf, ?expr list(label) )
 ) ; let end
) ; procedure end

ocnWaveformTool( 'wavescan )

Rsymb = 1.0M
Tsymb = 1.0/Rsymb
Num_Symbols = 512
Tstart = 8.5*Tsymb
Tstop = Tstart + Num_Symbols*Tsymb

wid = newWindow()
bid = currentSubwindow(1)
addSubwindowTitle( "Aho_Cadence" )

x = clip( Isig, Tstart, Tstop )
y = clip( Qsig, Tstart, Tstop )
/*
x = sample( Isig, Tstart, Tstop, "linear", Tsymb/16 )
y = sample( Qsig, Tstart, Tstop, "linear", Tsymb/16 )
*/
xy_plot( x, y, "Trajectory", "joined" )

x = sample( Isig, Tstart, Tstop, "linear", Tsymb )
y = sample( Qsig, Tstart, Tstop, "linear", Tsymb )
xy_plot( x, y, "Constellation", "scatterplot" )


addSubwindow()
bid = currentSubwindow(2)

x = clip( Isig, nil, Tstop )
y = clip( Qsig, nil, Tstop )
boke = evmQpsk( x, y, Tstart, Tsymb, t, nil, nil, t )
plot( boke, ?expr list("kasu") )


Title: Re: Question about OCEAN function, evmQpsk() in Cadence ADE
Post by pancho_hideboo on Dec 29th, 2009, 12:57am


pancho_hideboo wrote on Dec 16th, 2009, 7:50am:
But SubwindowTitle of Subwindow-2 is overridden by SubwindowTitle of Subwindow-1.
Why is SubwindowTitle of Subwindow-2 overridden by SubwindowTitle of Subwindow-1 ?
This problem seems to be caused by some issues related to timing of drawing objects in Java.
But I'm not sure.
Attached figure is a result whose title is not overridden.
This is a result of Agilent GoldenGate Simulator not Cadence Spectre.
Here noise effects are included.
See http://www.designers-guide.org/Forum/YaBB.pl?num=1262000981

I used post processing of Cadence ADE for Agilent GoldenGate Simulator.

Stil I want to get EVM value and Numbers of Symbol as string or numeric data.
Is there any method to get EVM value and Numbers of Symbol as string or numeric data from results of evmQpsk() ?
Any expert of Cadence tools, teach me.

Agilent GoldenGate Simulator have OCEAN functions for constellation, trajectory and EVM like followings.
    gg2sGetEtConstellation()
    gg2sGetEtTransition()
    gg2sGetEtEVM()
    gg2sGetEtEVMTime()

The reason why I dare to use post processing functions of Cadence ADE is that I want to compare reasults of Cadence Spectre with Agilent GoldenGate easily.
Of course Cadence Spectre can not give results with noise effects.
But I can not get even reliable results by using Cadence Spectre even with no noise effects and no NPORT.

There are strange bumps in constellation of Cadence Spectre's results.
This reminds me that Shooting envelope of Cadence Spectre has been very weak for constant envelope signal such as MSK.


Title: Re: Question about OCEAN function, evmQpsk() in Cadence ADE
Post by Andrew Beckett on Jan 3rd, 2010, 12:20am

I'm afraid I don't have time to put together a testcase and try this out (and anyway, your xy_plot function is missing).

Please contact Cadence Customer Support at http://support.cadence.com so that this can be investigated and fixed if needed. It sounds as if it could be a bug to me.

Regards,

Andrew.

Title: Re: Question about OCEAN function, evmQpsk() in Cadence ADE
Post by pancho_hideboo on Jan 4th, 2010, 12:01am


Andrew Beckett wrote on Jan 3rd, 2010, 12:20am:
I'm afraid I don't have time to put together a testcase and try this out (and anyway, your xy_plot function is missing).
I described a definition of "xy_plot()" in first post of this thread.

Title: Re: Question about OCEAN function, evmQpsk() in Cadence ADE
Post by Andrew Beckett on Jan 4th, 2010, 8:38am

Sorry, I missed that (I read it too quickly as I was catching up after some time away from the forum). Anyway, I still don't have time to put together a testcase right now. So it's still best if you contact Cadence Customer Support at http://support.cadence.com and then it can go through the proper channels.

Regards,

Andrew.

Title: Re: Question about OCEAN function, evmQpsk() in Cadence ADE
Post by Andrew Beckett on Jan 5th, 2010, 2:21am

Hi Pancho,

In case I do manage to find some time to put together a testcase, can you provide the following information:

  • The subversion of the IC stream you're using (type getVersion(t) in the CIW)
  • A plot showing the problem? You only showed the GoldenGate results which were plotted (presumably?) with the gg2s* functions you mentioned? I just want to make sure I've understand precisely what the problem is.


Thanks,

Andrew.

Title: Re: Question about OCEAN function, evmQpsk() in Cadence ADE
Post by pancho_hideboo on Jan 5th, 2010, 4:27am


Andrew Beckett wrote on Jan 5th, 2010, 2:21am:
  • The subversion of the IC stream you're using (type getVersion(t) in the CIW)
Later I will show.


Andrew Beckett wrote on Jan 5th, 2010, 2:21am:
  • A plot showing the problem?
    You only showed the GoldenGate results which were plotted (presumably?) with the gg2s* functions you mentioned?
I found this problem in post processing of results of Cadence Spectre not results of Agilent GoldenGate.
I confirmed baseband signal without PA first for the following case.
http://www.designers-guide.org/Forum/YaBB.pl?num=1262000981
Of course, Cadence Spectre's envelope analysis can finish without failure if there is no PA.

Agilent GoldenGate Simulator can give output as three formats, blk(GoldenGate Native), ds(ADS Type), psf(Cadence Type).
But I didn't use psf format because there are many bugs and incompleteness in generation of psf data from Agilent GoldenGate.

I used blk format with special OCEAN function to get Isig and Qsig from blk data.
I don't encounter this problem for Isig and Qsig from GoldenGate blk data.
So "gg2s*" functions have no relation to this problem.


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