previous | back | home | next
updated 2001.03.06
Author Ananda Murthy R. S.
RECIPROCITY THEOREM IN A DC CIRCUIT

This example is meant for novice users of SPICE OPUS to help them become familiar with verification of Reciprocity Theorem in a resistive circuit excited by a DC source. 
 

PROBLEM: 

Verify Reciprocity Theorem in the circuit shown in Figure-1. Take the current flowing through 47 Ohm resistance as response.
 

EXPLANATION:

You know the following statement of Reciprocity Theorem:

In any linear bilateral passive network, the ratio of excitation to response, with a single source applied at one point and the response observed at another, is invariant to an interchange of the points of excitation and observation.

This statement is verified using SPICE OPUS in the circuit shown in Figure-1.

Figure-2 shows the same circuit with a dummy voltage source Vx inserted in series with 47 Ohm resistance to measure current.

We can make SPICE OPUS display messages when it runs simulation using the statement

echo message

We can print a blank line by just typing echo without any message.

The general format of tf command is as shown below:

tf output_node input_source

This command performs transfer function analysis returning the transfer function (output/input), output impedance and input impedance between the given output node and the given input source. Observe how we can print these results.

In the simulation given below, we have also used the op command to find the current through the dummy source.

Observe how we can change the value of a source using the alter command during simulation.

Observe how we can print the value of a source by prefixing the source name with @.

Create the circuit file given below using a text editor without any formatting and save it as a *.cir file. Then start SPICE OPUS. At SPICE OPUS prompt type 'source filename.cir' to run simulation and get results. Your results should tally with what is given below.
 

CIRCUIT FILE:

RECIPROCITY THEOREM IN DC CIRCUIT

* Observe that nodes may be identified with 
* labels having alphabets. But reference
* node must always be indicated with number 0.

* DC Source
vin A 0 dc 6v

* This source measures current through 47 Ohm resistor
vx  D 0 dc 0v

* Resistors
r1 A B 150
r2 B C 150
r3 C 0 150
r4 B D 47
r5 C 0 68

.control
echo First vin=6V and vx=0V
echo Here vin is excitation and vx measures response.
echo
op
print i(vx)
tf i(vx) vin
print transfer_function

alter vin=0
alter vx=6v
op
echo
echo Now positions of excitation and response are interchanged.
echo This is done by making vin=0V and vx=6V
echo Now vx is excitation and vin measures response.
echo
print @vin @vx
print i(vin)
tf i(vin) vx
print transfer_function
echo
echo The values displayed in both cases are same.
echo Hence Reciprocity Theorem is verified.
.endc

.end
 

RESULTS:

Circuit: RECIPROCITY THEOREM IN DC CIRCUIT

First vin=6V and vx=0V
Here vin is excitation and vx measures response.

i(vx) = 2.577041e-02
transfer_function = 4.295068e-03

Now positions of excitation and response are interchanged.
This is done by making vin=0V and vx=6V
Now vx is excitation and vin measures response.

@vin = 0.000000e+00
@vx = 6.000000e+00
i(vin) = 2.577041e-02
transfer_function = 4.295068e-03

The values displayed in both cases are same.
Hence Reciprocity Theorem is verified.

previous | back | home | next