Phase and stereo-to-mono downmix

Warning: trigonometry ahead.

Last time we looked at how to downmix a stereo signal to mono (M = L/2 + R/2).  The resulting M signal can only be as powerful as the L and R signals if they are perfectly correlated (L = R); if the L and R signals are uncorrelated (no relationship between L and R), the resulting M signal is only half as powerful; and if the L and R signals are anticorrelated (L = -R), the resulting M signal vanishes.

This time I want to look more closely at what happens to M as {L, R} varies from correlated via uncorrelated to anticorrelated.  In particular I'll take L and R to be full-scale sine waves of equal frequency and offset by a constant phase: {L, R} = {sin θ, sin(θ - φ)}.  We'll see what happens to IM / IL as a function of φ.

Recall from before that the intensity of a signal s(t) over a time interval (a, b) is defined as

where the dc value is

Our downmixed signal is defined as

So our dc is zero (note that I am taking (a, b) to be a single period:)

A refresher on the angle-sum identities, which I will use without proof:

  • sin(A + B) = sin A cos B + cos A sin B
    • Corollary: sin(A - B) = sin A cos B - cos A sin B
  • cos(A + B) = cos A cos B - sin A sin B
    • Corollary: cos(A - B) = cos A cos B + sin A sin B

We know from before that IL = IR = sqrt(1/2) = 0.707.... Let's calculate IM as a function of φ:

Nice and simple.

Are we done? No.

When you see a fact, try to see it as intuitively as possible -- Pólya

OK, let's graph this.


That looks suspiciously like a cosine in absolute value.  In particular, after messing around with a graphing calculator, it looks like:


Is this in fact a trigonometric identity?  Let's see...

Much nicer and simpler.  So why didn't our original derivation land us here?

Let's go back to our original graph and shift our frame of reference forward by φ/2.   Instead of {L, R} = {sin θ, sin(θ - φ)} we get {L, R} = {sin(θ + φ/2), sin(θ - φ/2)}.  Solving for IM now gives:

This result is much easier to digest.  The sqrt(1/2) is the intensity of the pre-mixed signal; the loss of intensity due to the downmixing, then, is |cos(φ/2)|.

Comments (3)

  1. Aaron says:

    Why are there no comments here?  This is an excellent article!!

  2. Wagaf says:

    That's a great, detailed post.

    However, you don't propose any solution to the presented problem. Considering the "loss of intensity" issue, how to properly downmix a stereo signal in a way that would give good results no matter the signal (correlated, out of phase or uncorrelated).

  3. The proper way to downmix a stereo signal is M = L/2 + R/2. Anticorrelation is always an upstream bug.

Skip to main content