|Hafler Matrix Decoder|
Hafler Matrix Decoding
First of all, I'd like to make it clear that I'm not trying to convince anyone that my sounds are better (or worse) than anyone else's. In my opinion, the quality of any given sound system is a matter of opinion and taste as much as design. Any emails I receive asking "does it sound good" are likely to receive a reply along the lines of "I think so, but try it yourself".
Hafler Matrix Decoding:
The Hafler Matrix concept is actually quite simple, (in an analog implementation) consisting of only a few opamps and passives. The system was developed by the American engineer David Hafler in the early 1970s and is the basis for many surround sound systems from the '70s and '80s. (Including the more recent Dolby ProLogic system, so I hear)
A stereo recording actually contains more information than is presented in the left and right channels. All stereo effects are created by a difference in the left and right channels, (ie. providing each ear with a different sound) which immediately creates a new signal; the difference signal. This signal is "decoded" by subtracting one channel from the other. Because stereo effects are created by a difference in the two channels, this signal will contain only the stereo effects. If this difference signal is used to drive a pair of speakers which are placed behind the listener, considerable depth is added to the stereo effects in the recording.
For example, the track I'm listening to at the moment (Eleanor Rigby by The Beatles) consists of a violin, cello and dubbed vocals. Because this track is so simple, it lends itself to an explanation of Hafler Matrix quite well. The violin and cello are more or less "centred", (they appear the same in both left and right channels) but the vocals shift almost entirely to the right during each verse and back to the centre for each chorus. Now when you subtract the left channel from the right, all signals which are identical are removed, in this case the violin, cello and vocals during the chorus. Behind me (from the rear speakers) I can hear the vocals clearly during each verse along with some residual wail from the violin, which was probably recorded with some sort of "ambiance" effect.
By nature the difference signal is often quite hollow, resulting in some quite dramatic enhancements to well mixed recordings. On the other hand, recordings with exaggerated stereo separation or just poor mixing can actually be degraded. With more complex compositions the effect is somewhat more involved, and can often be overwhelming. I tend to turn the rear speakers down when playing tracks with heavy electric guitar as the effect simply can be too much.
The Hafler Matrix decoder I use takes an extra step and digitally delays the difference signal by up to 33ms, to ensure that the difference signal reaches the listener after the original stereo signal. This helps to define the front speakers as the "source" of the sound and the rear speakers as "ambiance". The front panel has only two controls, volume and delay adjustment.
The decoder also uses an active low pass filter to derive a LFE (Low Frequency Effects) or sub-woofer channel from the mono (L + R) signal, and provides inverted and true outputs for bridging a stereo amplifier. I modified the design to give a L and R LFE channels by adding a small PCB with a duplicated low pass filter to the opamp board. This is the yellowish PCB in the top-right of the photo below.
For completeness, a photo of the rear panel of the decoder.
Below is a schematic for a very basic analog Hafler Matrix decoder with buffered L and R channels, centre (L + R) channel, difference channel (L - R), and L and R LFE (sub-woofer) channels. The centre channel will roll-off above approximately 7KHz to minimise interference with stereo effects. If this roll-off is not desired, it can be removed by removing the 1nF capacitor between the L + R opamp's non-inverting input and ground. Both LFE channels have third order low-pass filters with reasonably sharp cut-off above 100Hz.
If desired, level controls can easily be added for each channel by feeding the input for each opamp into the right lug of a 10-50KΩ potentiometer, (instead of the opamp) connecting the left lug to ground and the centre lug to the opamp input.
If you have any comments or questions please don't hesitate to contact me.
|Return To Top||Last Updated: 12/02/2007||Home Page|