Precision M-S (Sum/DIfference) Matrix Uses No Resistors

Where we discuss new analog design ideas for Pro Audio and modern spins on vintage ones.
Post Reply
User avatar
mediatechnology
Posts: 5442
Joined: Sat Aug 11, 2007 2:34 pm
Location: Oak Cliff, Texas
Contact:

Precision M-S (Sum/DIfference) Matrix Uses No Resistors

Post by mediatechnology »

OK, there are resistors. Just laser trimmed ones internal to an IC.

Background:

I've noticed that there seems to be increased interest in M-S Sum/Difference processing in mastering as well as recording.

There are a number of matrix circuits that allow adjustment of the stereo field providing variable width and depth. A recent commercial example is the Portico Stereo Field Editor. Many DIY designs are posted in this forum and elsewhere. See Rick Chinn's here.

Although it could be modified to provide variable width and depth this circuit's attribute is precision.

In a mastering application, it is essential to have a precise encode/decode matrix with low interchannel crosstalk. What goes in should come out sounding exactly the same when the external processing inserts, inside the matrix, are bypassed for A/B comparison.

The Neve 8816 summing mixer has an M-S insert for mastering/mixdown to process L+R independent of L-R. The Portico also contains inserts that are internal to the encode/decode matrix.

Genesis:

Jim Zuehsow recently posted an Analog Devices schematic for a precision M-S encoder/decoder. The thread discussion is here. The schematic here.

I looked at this for awhile and thought: "Wouldn't it be cool to eliminate all those precision resistors?" A sum and difference matrix is just a couple of differential amplifiers with resistor matching the greatest factor limiting matrix accuracy. Now to do it well, with the lowest possible crosstalk, we need matching better than 0.1%. Ideally much better than 0.05%. IIRC the ADI app uses nine 10Ks; it probably should use eleven. That's a lot of resistors or trims.

Laser Trimmed Resistors And A Free Op Amp

Why not use the internal resistors, laser-trimmed to within 0.005%, of the THAT1240/1246 family of balanced line receivers? The same tight resistor matching required to produce low CMR in balanced line receiving applications provides the exact same benefit to a sum and difference matrix. Both are differential amplifiers. They do the same thing.

I thought that it might be a good idea to post the basic encoder/decoder without the balanced I/O first. (Edit)

When you look at the following think of the THAT 1240 as four 0.005% resistors with an op amp attached:

Image

The above both encodes and decodes. The encode inputs and outputs are in parenthesis. Because the THAT 1240 is used, pin 1 may be used to sum into the non-inverting input. An SSM2141 can also be used here.

(1) Please note that the inputs in the above example must be driven from low impedance sources. (2) There is a matrix gain of 2 in the decoder's left and right outputs.

There are some tests for the above here.

Fully-balanced I/O version.
This one is from the original post. The discussion which follows applies to it.

Image
(c) 2007 Wayne Kirkwood

I built two circuits like the above for simultaneous encode/decode.

The first row of THAT1246s provide balanced line receiving and low driving resistance to the "matrix" formed by the 1246s on the right-hand side. I initially wanted to use 1246s on the right-hand side to attenuate the 6 dB gain build-up in the matrix.

Because the value of the feedback and sense resistors in the 1246 are not equal in value to the input resistors (they are in the 1240), direct summation into pin 1 of the upper 1246's non-inverting input is not possible. As a consequence of this, the L-R output is inverted by a 1240 and fed into the 1246's inverting input to produce a sum. Double negation provides summation.

It has been suggested that I use 1240's as the "matrix" and eliminate the additional 1240 inverter. The 1240 contains equal value resistors and thus allows direct summation into pin 1. This also works and I'll be posting that version soon. I built the above circuit for test so that I could freely swap 1240s and 1246's on both the inputs and outputs and evaluate the internal gain structure.

Please note that the above post is the actual schematic, not a block diagram. Other than the bypass capacitors which are not shown there are no passive components.

THAT 1646 OutSmarts buffer the output to provide balanced line drive.

Reduced to its most simple form, the entire decoder is just two 1240s or 1246's.

Results:

The same circuit also functions as an encoder by redefinition of the I/Os. I built a pair and measured the combined encode/decode crosstalk:

Image

It should be noted that the measurements above have crosstalk at about the same levels as the soundcard by itself. The performance is outstanding.

Installment Two:

I just ran another reality check on the crosstalk this time with a different patch. The lower trace is bare soundcard crosstalk, the upper through a full encode-decode.

Image

At -72 dB the crosstalk is at the 250 parts per million level. (Using randomly chosen parts.)

The distortion levels of the encode/decode were masked by the Soundcard residual: 1KHz fundamental, 2nd at -100 dB, 3rd at ~-110 dB. The soundcard also appeared to establish the noise floor residual.

I've built telephone hybrids from transformers before using similar connections to M-S. You can get some fanstastic trans-hybrid nulls with resistive loads. But once the source and loads start varying both resistively and reactively they fall apart and lose balance.

Installment Three:

Ran some crosstalk tests on the simple matrix in the above post.

The inputs from the Soundcard were buffered to provide low source resistance to the encoder. The output of the encoder was connected to the decoder for end-to-end measurement. The initial measurements were in the -72 dB region as before using randomly selected 1240s.

I then swapped the decoder and encoder ICs (just the four) until I was able to achieve this:

Image

Not bad at all. -90 dB is ~31.5 ppm error.
Last edited by mediatechnology on Mon Aug 13, 2007 4:19 pm, edited 4 times in total.
User avatar
mediatechnology
Posts: 5442
Joined: Sat Aug 11, 2007 2:34 pm
Location: Oak Cliff, Texas
Contact:

Re: Precision M-S (Sum/DIfference) Matrix Uses No Resistors

Post by mediatechnology »

Thanks Roger. DIPS and bypass so not a hard one to route. It pays to eliminate all the resistors. What do you think we should do about I/O. Balance it?
ghengis
Posts: 2
Joined: Sat Aug 11, 2007 4:36 pm

Re: Precision M-S (Sum/DIfference) Matrix Uses No Resistors

Post by ghengis »

This seems like a great thing to do - I had wanted to do it a while ago when I saw it on the lab. A PCB sounds great - and quick. Not sure about the balancing. On one hand I can see the unbalanced/clean path (for mastering), but somethng in me always says balanced is better and more universal (but probably wrong!)

Ghengis
User avatar
mediatechnology
Posts: 5442
Joined: Sat Aug 11, 2007 2:34 pm
Location: Oak Cliff, Texas
Contact:

Re: Precision M-S (Sum/DIfference) Matrix Uses No Resistors

Post by mediatechnology »

ghengis: Thank you for the reply. I agree that balanced I/O would probably be better. One of the reasons I might be reluctant to do it is that the circuit, for full stereo encode/decode, has 8! I/O ports. So the balancing stuff takes a really simple circuit and doubles the part count. But as a practical matter I can't imagine it without being balanced.

I played around with the balanced version and wasn't really sure if I should have used the THAT1240 (0 dB) or 1246 (-6 dB) gain parts on the input. The 1646 I used on the outputs has 6 dB of gain no matter what so I think I have to use the 1246 input to offset that added gain.
User avatar
mediatechnology
Posts: 5442
Joined: Sat Aug 11, 2007 2:34 pm
Location: Oak Cliff, Texas
Contact:

Re: Precision M-S (Sum/DIfference) Matrix Uses No Resistors

Post by mediatechnology »

Roger I did receive it and want to look it over.

The layout is the one with balanced I/O and the inverter in the middle which allows the actual matrix to be either -6 or 0 dB compensation for "build-up" gain.

What I need to run some more experiments on are the choice of THAT1240 and 1246 at the input and matrix. Regardless of which is chosen, by me or the builder, the layout is exactly the same.

So do we put -6 at the input (THAT1246) to compensate for the 1646 output gain? Maybe.
Or do we drive the matrix harder and use 1246 to perform the actual matrixing?
I really don't know which is best from a gain structure/headroom viewpoint yet.

But in any case thanks for the layout! It will work with whichever we decide.
User avatar
mediatechnology
Posts: 5442
Joined: Sat Aug 11, 2007 2:34 pm
Location: Oak Cliff, Texas
Contact:

Re: Precision M-S (Sum/Difference) Matrix Uses No Resistors

Post by mediatechnology »

Roger gave me an idea for something to try.

We've had a lot of people ask about adding a variable width control and I've been somewhat concerned about it's effect on precision. The centertap ground pots in Rick Chinn's design also complicate building.

I want to explore a way to subtractively vary "M" and "S" similar to the matrix panner.
Post Reply