MembersPage/NickLaTech/AnalogANDAnalogProblem

Homework assignment

---

3 analog inputs from 0 to 5 volts

1 output from 0 - 5 volts


3 inputs defined as i1,i2,i3

1 output defined as o1

notation: i1,i2,i3 => o1

0,4,0.1 => 1.1

0,2,0.1 => 1.2

3,4,0.2 => 3.1

1,4,0.3 => 2.1

many of these

contraint: no DAC or microprocessor. Obviously they want an OPA solution.

That means inputs are weighted.

Weight can be negative, actually 2nd weight is negative and exactly -0.05 =(1.1-1.2)/(4-2) as it's obvious from 1st and 2nd line where input vector just differs in 2nd input variable .

I expected to find a linear relationship which is damn easy with OPA-s:

octave:1> o=[1.1 , 1.2, 3.1, 2.1];
octave:2> x=[0, 4, 0.1; 0,2,0.1; 3,4,0.2; 1,4,0.3];

check only a 3x3 (upper sub-) matrix so inverse can be calculated:
octave:3> o1=[1.1 , 1.2, 3.1];
octave:4> x1=[0, 4, 0.1; 0,2,0.1; 3,4,0.2];
a1=inverse(x1) * o1'
a1 =
    0.233333
   -0.050000
   13.000000

quick verification with 3d line:
octave:13> 3*0.23333 + 4*-0.05 + 0.2*13
ans = 3.1000
OK.

Let's see if 4th line also matches:
octave:14> 1*0.23333 + 4*-0.05 + 0.3*13
ans = 3.9333

No luck, 3.9333 != 2.1.


The trick is to make an additive offset.

Step1: find additive offset: output for 0 inputvector

0,0,0 => ?

This is done by linearly combining the 4 input vectors.

I start it for you, by making first number 0:

0,4,0.1 => 1.1

0,2,0.1 => 1.2

From 3d line we subtract 3*(4th line):

3,4,0.2 => 3.1

-3*

1,4,0.3 => 2.1

=

0,-8,-0.7 => -3.2

While from 4th line we subtract 1/3*(3d line):

1,4,0.3 => 2.1

-1/3*

3,4,0.2 => 3.1

=

0,...,... => ...

Now our equations are:

0,4,0.1 => 1.1

0,2,0.1 => 1.2

0,-8,-0.7 => -3.2

0,...,... => ...

Just continue eliminating 2nd and 3d column to get output for 0 input vector.


Step2 : subtract the offset from the output

Step3 : calculate the a1 weights

Same as

a1=inverse(x1) * o1'

above, that is with matrix inversion. This time you'll see that 4th line will match the weights just fine.