Pole analysis

Discussion in 'Cadence' started by Samiran, Sep 13, 2010.

  1. Samiran

    Samiran Guest

    Dear All,

    Is it possible in SPECTRE to find out poles given between different
    nodes of the signal path. To clarify, suppose I have a three stage
    amplifier. Now I want to calculate all the poles added by each stage's
    input-to-output path. Is it possible to do? It will be better if
    corresponding OCEAN script syntax is provided.

    Thanks & Regards
    Samiran, Sep 13, 2010
  2. Samiran,

    It sounds like you're analyzing an LTI system. Assuming that, suppose
    your three-stage signal path consists of signals A, B, C, and D, where
    each signal is some voltage or current. I don't know of any magic
    syntax that provides the poles and zeroes directly. Even if there was
    such a thing, you'd still need a way to associate those poles and
    zeros with circuit elements. So, one useful thing you can do is find
    the transfer function from A to B, and analyze it separately. Repeat
    for the transfer functions from B to C, and C to D. This will at least
    break up the problem, and let you know the contribution from each
    stage of your signal path.

    Best Regards,
    Stephen Greenwood
    Stephen Greenwood, Sep 13, 2010
  3. Samiran

    Samiran Guest

    Hi Stephen,

    You are right as I am analyzing a 3-stage LTI system...but unable to
    trace the contribution (in terms of poles of the composite transfer
    function) of individual stages. Using SPECTRE's pz analysis I am able
    to find out all the poles and zeros of the actual input-to-output
    transfer function (t.f.). Now as you are suggesting to find t.f. of
    each intermediate stages I know how to plot voltage gains, but would
    that also give me the poles added by that particular stage. If
    possible please clarify with syntax [I know there is "no magic
    syntax" :) ], but at least if you can guide me it will be very

    Samiran, Sep 14, 2010
  4. Hi Samiran,

    You'd simply use the mag() and phase() functions on quantities B/A, C/
    B, D/C to obtain their (complex) transfer functions. For each of
    these, you should know the number to poles and zeroes, and then you
    could infer where they are. If they're simple transfer functions
    (e.g., single pole per stage), you could make the inference directly
    (e.g., -45 degree phase shift). For more complicated functions or ones
    in which the poles and zeroes are not widely separated, you could
    probably also make the inference analytically using multiple points,
    but you might find it easier to post-process the data with curve-
    fitting software. In case you're not already familiar with them, the
    outfile(), ocnPrint(), and close() functions will allow you to print
    your waveform data to a file for use by a post-processing tool. (If
    you don't like ocnPrint() format, use fprintf() and make whatever you
    want. In times past I have created files for Matlab and Excel for this

    Stephen Greenwood
    Stephen Greenwood, Sep 15, 2010
  5. Samiran

    Samiran Guest

    HI Stephen,

    Thanks for your valuable suggestion. I am aware of MATLAB's curve-
    fitting software as I am already using them. Actually, I have started
    doing whatever you suggested...

    Samiran, Sep 17, 2010
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.