Difference between revisions of "An Overview of System-Level Macromodeling Using Virtual Blocks"

From Emagtech Wiki
Jump to: navigation, search
(A Digital Integrator Macromodel)
(A Digital Integrator Macromodel)
Line 150: Line 150:
 
</tr>
 
</tr>
 
</table>
 
</table>
 +
 +
The z-domain transfer function of the above digital integrator is given by:
 +
 +
:<math> \frac{v_{out}(z)}{v_{in}(z)} = -z^{-1/2} </math>
 +
  
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
[[Image:Back_icon.png|40px]] '''[[RF.Spice_A/D | Back to RF.Spice A/D Wiki Gateway]]'''
 
[[Image:Back_icon.png|40px]] '''[[RF.Spice_A/D | Back to RF.Spice A/D Wiki Gateway]]'''

Revision as of 17:02, 19 August 2015

An Introduction to Macromodeling in RF.Spice A/D

RF.Spice A/D provides an extensive library of black-box virtual blocks that allow you to quickly test and verify new system concepts without getting into the details of particular circuit realizations. A virtual block typically has one or more input pins and one or more output pins. It models a system-level function or behavior in the form of a relationship between the input and output voltages. For example, a multiplier block takes two input voltages and outputs their product. An analog frequency doubler takes a single sinusoidal input voltage and produces a sinusoidal output voltage whose frequency is twice as large as the input frequency. A real practical frequency doubler typically involves a sophisticated circuit either with discrete components or in the form of an integrated circuit. In many situations like system design, you simply need a "black box" that exhibits the behavior of a frequency doubler just to try out and verify a system concept. You would worry about the hardware implementation of your block at a later time after the proof of concept has been established. RF.Spice's virtual blocks will prove very useful when you design complex systems that contain many subcircuits and subsystems.

One of the great strengths of RF.Spice A/D is the ease of creating new user-defined devices or models. Most of RF.Spice's virtual blocks are indeed based on preloaded parameterized subcircuit models. You can open the Netlist code of these subcircuits, copy or modify them and package them into your own new virtual blocks. You can even convert an entire circuit into a model complete with your own symbol. There are also a number of virtual blocks whose underpinning models have been hard-coded into RF.Spice's simulation engines and device manager. An important difference between black-box virtual blocks and user-defined devices or simulation models is that virtual blocks typically use idealized devices/models and a combination of linear and nonlinear sources to minimize circuit complexity regardless of the feasibility of their hardware realization. In other words, they are primarily intended to represent functional behaviors rather than practical circuits.

The Stages of a Macromodel Virtual Block

A virtual block connects to the other parts of your circuit via its input and output pins. Most virtual blocks do not have a ground or reference pin. In that case, they are assumed to share the global ground. Almost all virtual blocks have input and output stages with either implicit or explicit input resistance and output resistance parameters. The default values of the input and output resistances are 10GΩ and 1μΩ, respectively. Obviously, these are unrealistic extreme values. The figure below shows the input and output stages of a typical virtual block. In cases where a virtual block does not provide explicit input and output resistance parameters, you can add an external shunt resistor at the input and an external series resistor at the output. The large shunt resistor at the output is added to provide better stability for DC operating point analysis.

A generic macromodel with input and output stages.

In the above figure, the linear controlled voltage source E1 usually follows the input voltage vin and serves as an input buffer. It might also be replaced with a linear controlled current source or with a nonlinear (B-type) controlled voltage or current source depending on the particular purpose of the macro model. Similarly, the linear controlled voltage source E2 usually follows the voltage vo at the output of the functional section and serves as an output buffer. This, too, might be replaced with a linear controlled current source or with a nonlinear (B-type) controlled voltage or current source. The black box labeled "Functional Behavior" is the core of the macromodel. It is the circuit that establishes the desired relationship between the output and input voltages.

Example: Basic Analog Signal Differentiation

The simplest voltage differentiator can be made based on the basic property of a capacitor:

[math] i(t) = C \frac{dv}{dt} [/math]

where v(t) and i(t) are the voltage and current of the capacitor, respectively, and C is it capacitance. Similarly for an inductor, one can write:

[math] v(t) = L \frac{di}{dt} [/math]

where L is the inductance.

It is important to note that with virtual blocks we only care about their functional behavior, completely ignoring the physical realization of particular circuits. In the above equations, if we set C = 1F or L = 1H (regardless of whether such capacitors or inductors are practical), we will get a direct derivative relationship between the voltage and current.

An ideal differentiator using a capacitor.

The above figure shows a voltage differentiator macromodel using a 1F capacitor:

[math] E_1 = (1) v_{in} \\ i_C = \frac{dE_1}{dt} = \frac{dv_{in}}{dt} \\ H_1 = (1) i_C \\ v_{out} \approx H_1 = \frac{dv_{in}}{dt} [/math]

An ideal differentiator using an inductor.

The above figure shows a voltage differentiator macromodel using a 1H inductor:

[math] G_1 = (1) v_{in} \\ v_L = v_{diff} = \frac{di_L}{dt} = \frac{dG_1}{dt} = \frac{dv_{in}}{dt} \\ E_1 = (1) v_{diff} \\ v_{out} \approx E_1 = \frac{dv_{in}}{dt} [/math]

An Analog Differentiator Macromodel

A practical voltage differentiator circuit using an Op Amp.

A more practical voltage differentiator circuit using an ideal operational amplifier (Op Amp) is shown in the opposite figure. The voltage transfer function of this circuit is given by:

[math] \frac{ v_{out} }{ v_{in} } = - \frac{R_1}{1/sC_1} = -s \left( R_1C_1 \right) [/math]

which represents a derivative operator in the Laplace s-domain.

An equivalent macromodel of the above circuit is given in the following figure. This is RF.Spice's "Analog Differentiator Block". In this model, the ideal Op Amp has been replaced with the linear controlled voltage source E2:

[math] E_2 = (-10^9) . v_{R_5} [/math]

representing an open-loop gain of 1G. The nonlinear controlled source B1 is defined as:

[math] B_1 = -A . E_2 + v_{offset} [/math]

where A is a gain parameter with a default unit value and voffset is an arbitrary offset voltage with a default zero value. The relationship between the input and output voltages is given by"

[math] v_{out}(t) \approx A . \frac{d}{dt} v_{in}(t) + v_{offset} [/math]
RF.Spice's "Analog Differentiator" block circuit.

An Analog Integrator Macromodel

A practical voltage integrator circuit using an Op Amp.

A practical voltage integrator circuit using an ideal Op Amp is shown in the opposite figure. The voltage transfer function of this circuit is given by:

[math] \frac{ v_{out} }{ v_{in} } = - \frac{1/sC_1}{R_1} = -\frac{1}{ s\left( R_1C_1 \right)} [/math]

which represents a integral operator in the Laplace s-domain. This circuit is very similar to the Op Amp differentiator except for the fact that the timing resistor and capacitor have switched places.

An equivalent macromodel of the above circuit is given in the following figure, which represents RF.Spice's "Analog Integrator Block". In this model, the ideal Op Amp has been replaced with the linear controlled voltage source E2:

[math] E_2 = (-10^9) . v_{R_6} [/math]

representing an open-loop gain of 1G. The large shunt resistor R5 has been added to provide better DC stability. The nonlinear controlled source B1 is defined as:

[math] B_1 = A . E_2 + v_{offset} [/math]

where A is a gain parameter with a default unit value and voffset is an arbitrary offset voltage with a default zero value.

The relationship between the input and output voltages is given by:

[math] v_{out}(t) \approx A . \int v_{in}(t) dt + v_{offset} [/math]
RF.Spice's "Analog Integrator" block circuit.

The Generalized Analog Filter Block

A general analog filter can be represented by a rational transfer function in the Laplace domain s-variable:

[math] H(s) = \frac{N(s)}{D(s)} = \frac{ \sum_{m=0}^{M} b_m s^m }{ \sum_{n=0}^{N} a_n s^n } [/math]

In the above equation, we assume that M ≤ N and aN = 1. We normalize the numerator and denominator to the largest power of s:

[math] \frac{v_{out}}{v_{in}} = \frac{ \sum_{m=0}^{M} b_m s^m }{ s^N + \sum_{n=0}^{N-1} a_n s^n } = \frac{ \sum_{m=0}^{M} b_m s^{-(N-m)} }{ 1 + \sum_{n=0}^{N-1} a_n s^{-(N-n)} } [/math]

In the above equation, the transfer function s-1 can indeed be realized using the analog integrator macromodel that was discussed earlier. Using a cascade of integrators one can realize the general rational transfer function as shown in the figure below:

The block diagram of a generalized analog filter with a rational transfer function.

RF.Spice's "Generalized Analog Filter Block" does this realization automatically for any arbitrary filter order (or highest degree of the s-variable). You enter the denominator and numerator coefficients as arrays of real numbers. The figure below shows the property dialog of this black-box macromodel.

The property dialog of the generalized analog filter block.

Note that XSpice provides a similar virtual block called "s-Domain Transfer Function Block" that also features a "Denormalization Angular Frequency" parameter expressed in rad/s. It also allows you to define gain and input offset parameters and set the initial condition for the integrators.

A Digital Integrator Macromodel

The counterpart of an analog integrator with the transfer function s-1 in the digital signal processing world is a digital integrator with a Z-transform transfer function z-1. This is indeed a discrete-time delay operator. We can use the standard Spice model of a lossless transmission line (TRA) to introduce an arbitrary delay. A lossless transmission line model is characterized by its time delay TD and characteristic impedance Z0. The following figure shows the circuit of RF.Spice's "Digital Integrator Block". The transmission line model has Z0 = 50Ω and has been terminated in a 50Ω load. The time delay TD is set equal to half the sampling period (T/2). The linear controlled voltage source E3 has a gain of -1012 and acts as an ideal Op Amp voltage follower.

RF.Spice's "Digital Integrator" block circuit.

The z-domain transfer function of the above digital integrator is given by:

[math] \frac{v_{out}(z)}{v_{in}(z)} = -z^{-1/2} [/math]


 

Back icon.png Back to RF.Spice A/D Wiki Gateway