You will create a MATLAB implementation of the passive encoder
given by the block diagram in Figure 1.

The encoder block diagram shows four input signals: Left,
Center, Right, and Surround. These are audio signals created
by a sound designer during movie production that are intended
to play back from speakers positioned at the left side, at the
front-center, at the right side, and at the rear of a home
theater. The system in the block diagram encodes these four
channels of audio on two output channels, `Lt`

and
`Rt`

, in such a way that an appropriately designed
decoder can approximately recover the original four channels.
Additionally, to accommodate those who do not use a surround
sound receiver, the encoder outputs are listenable when played
back on a stereo (two-channel) system, even retaining the
correct left-right balance.

The basic components of the encoder are multipliers, adders, a
Hilbert transform, a band-pass filter, and a Dolby Noise
Reduction encoder. If you wish to implement Dolby Noise
Reduction, refer to *Dressler*. The
other components are discussed below.

The transfer function of the Hilbert Transform is shown in
Figure 2. The Hilbert Transform is an ideal
(unrealizable) all-pass filter with a phase shift of
-90
°
-90
°
. Observe that a cosine input becomes a sine and a
sine input becomes a negative cosine. In MATLAB, generate a
cosine and sine signal of some frequency and use the
`hilbert`

function to perform on each signal an
approximation to the Hilbert Transform. (Why is the Hilbert
Transform unrealizable?) The imaginary part of the Hilbert
Transform output (i.e.,
`imag(hilbert(signal))`

) will be the
-90
°
-90
°
phase-shifted version of the original signal. Plot
each signal to confirm your expectations.

For the band-pass filter, design a second-order Butterworth
filter using the `butter`

function in MATLAB.

Create four channels of audio to encode as a Pro Logic
Surround Signal. Use simple mixing techniques to generate
the four channels. For example, use a voice signal for the
center channel and fade a roaming sound such as a helicopter
from left to right and front to back. In MATLAB, use the
`wavread`

and `auread`

functions to
read `.wav`

and `.au`

audio files
which can be found on the Internet.

Comments:"Doug course at UIUC using the TI C54x DSP has been adopted by many EE, CE and CS depts Worldwide "