Stereo FM Transmitter circuit kit ham free project FM bug
Stereo Multiplexing for Dummies

24th September '99
One of the promises of FM in the early days was the possibility of transmission in Stereo. This stemmed directly from some of FM's properties :

Electrical sparks, Lightning etc are normally AM sources, rejected by FM receivers

FM Stations are 200 KHz away from each other. FM Bandwidth = 2 ( deviation + input signal frequency). As FM is designed to handle Audio from 20Hz to 15 KHz, this gives lots of room to put in the Audio spectrum twice over + even more information in one channel without infringing on the other channel. AM stations on the other hand are spaced 9 or 10 KHz away from each other.

So the FM Gurus set out to decide on standards on how to use the available bandwidth to broadcast both the Left and the Right Channel of a Stereo Broadcast on the same FM Channel. The process of combining multiple signals onto one composite signal in such a way that the the original signals can be reconstituted by the receiver is called Multiplexing.

One of the design goals was that the Stereo Multiplexed signal ( MPX) was to be compatible with the earlier Mono FM Radios. As older FM Radios only looked at the 0-15KHz part of the incoming FM signal, it was a straightforward decision that the lower part of the Stereo MPX should contain the sum of the Left and Right channels i.e. L+R. In this way, the Mono FM Receiver would not notice any change, it would just play back the L+R signal. One would obviously not get a Stereo sound stage but on the other hand, one would not loose any information from the L and the R channels.

If one is already transmitting a L+R channel and one finally needs the L and the R channels separately, an option would be to transmit the L signal signal hidden somewhere higher than 0-15 KHz as part of the Stereo MPX signal.

The receiver could then direct the L Channel from the MPX signal directly to the Left Amplifier. To regenerate the Right Channel, the Receiver would convert L into -L by an Inverting Amp, Add L+R to -L and extract a R signal i.e. the original Right channel.

However, FM scientists found a more elegant approach that above. They decided to transmit an L-R signal as part of the MPX signal. If the receiver adds the L+R signal to the L-R signal, it gets 2L i.e. the Left signal amplified two times. If the receiver subtracts L+R and the L-R signal, it gets 2R, i.e. the Right signal amplified two times. Summing and subtracting signals is easy with just simple Summing and Difference Amps.

As the 0-15 KHz part of the MPX signal has already been occupied by the L+R signal, one now has to think up a way of accommodating the L-R signal somewhere higher up in the bandwidth allocated for the MPX signal. One way to shift the L-R signal is to actually use it to amplitude modulate a higher frequency signal. The higher frequency signal used in this way is then called a Subcarrier.

Here we need to know two rules of Electronics :

A) If you Amplitude Modulate a carrier of frequency fc Hz with Audio that has a bandwidth of 0-fmaxa Hz, you will get side bands extending from fc-fmaxa right up to fc+fmaxa. All the Audio information we had from 0 to fmaxa is now stored in the side bands from fc-fmaxa to fc+fmaxa.

B) The carrier frequency has to be at least 2 times the highest modulation frequency otherwise one does not have enough "samples" to reproduce the original signal.

If we intend to transmit Audio upto 15 KHz, the Subcarrier frequency for the L-R channel has to be higher than 30 KHz otherwise, from (A) above, the side bands of the L-R channel will overlap the L+R signal. Also from (B) above, if the Subcarrier frequency is below 30KHz, you cannot reproduce signals of 15KHz.

We actually do not need the AM Subcarrier at fc to be transmitted at all. It contains no information. It actually has a lot of energy in it and we would just be wasting our FM transmitter's power by sending out an internal signal that contains no information. For an AM transmission, we would need an actual carrier to carry the signal across the airwaves, but in our application, we need the AM Subcarrier only to modulate it and generate the side bands storing L-R information. The actual carrier is the FM frequency we are transmitting on. ( Such an AM signal is called a Double Side Band Suppressed Carrier DSBSC Signal )

However, the receiver needs to regenerate the AM Subcarrier at the exact frequency and phase as the original so that it can extract the side band information. We cannot just use a local oscillator at the agreed upon AM Subcarrier frequency in the Receivers, since it would be too hard for all FM Receivers to exactly generate the same frequency and phase.

There is also the issue of somehow adding a tiny signal in the MPX signal that informs the Receiver that the incoming signal is in Stereo, so it should decode information higher than 15 KHz as that's not just Audio, it is the L-R signal hidden somehow. One simple way is to also transmit a sine wave as a pilot tone at a fixed frequency. If the receiver receives this tone, it can switch in its Stereo decoding circuitry, else it just treats the incoming signal as Mono.

The Pilot tone has to be higher than 15 KHz as that part is used up by the L+R signal. If we choose a Pilot Tone somewhere in the 18-22 KHz range, the Mono Receiver will not decode it. Now comes a stroke of genius : Suppose we choose a Pilot Tone of 19 KHz, it can act as the signal informing the Receiver that the signal is Stereo. More-over, the Receiver can use this 19KHz signal to generate a 38KHz signal using a simple frequency doubler. As 38KHz is more than 2x 15KHz, it is good enough to act as our AM Subcarrier. The 38 KHz signal generated by the Receiver will be in phase with the 19 KHz pilot tone, so in case the Transmitter uses a 38 KHz Subcarrier in phase with the Pilot Tone, the Receiver would be able to exactly regenerate the missing AM SubCarrier.

The Side Bands would be from 38-15 KHz to 38+15 KHz i.e. 23 KHz to 53 KHz, so they would not overlap with the Pilot Tone or the L+R information.

By now we have finalized out how to generate the Stereo Multiplex signal. The MPX Coder / Transmitter will :

A) Add Left and Right signals to get a L+R signal.

B) Generate a Pilot Tone of 19 KHz.

C.1) Use an AM Subcarrier of 38 KHz in phase with the 19 KHz Pilot.

C.2) Amplitude Modulate the 38 KHz AM Subcarrier with a L-R signal

C.3) Cancel out the 38 KHz Subcarrier

D) Add up A, B and C above to get the complete MPX Signal. Use the above MPX signal to Frequency Modulate a carrier in the 88-108 MHz band.

A Mono receiver will :

A) React only to signals below 15 KHz so it would decode L+R

A Stereo Receiver will :

A) Sense the 19 KHz pilot signal so it will switch in the Stereo Decoder Circuitry

B.1) Decoder will extract the L+R signal from the MPX signal

B.2) Decoder will generate a 38 KHz signal by frequency doubling the received 19 KHz Pilot. It will ensure that the 38 KHz signal is in phase with the 19 KHz signal.

B.3) Decoder will demodulate the signals from 23KHz to 53 KHz to get back a L-R channel

B.4) Decoder will use the L+R and the L-R signals to regenerate the original L and R signals

OK, the above scheme looks workable. Now comes the interesting part, How to actually generate the MPX signal at the transmitting end? The hard way is to actually follow faithfully the above instructions in building up the MPX signal. Have a Summing Amp to add the L + R. Have a Difference Amp create the L-R signal. Build a Double Balanced Modulator and feed it the L-R signal. Make a 38 KHz oscillator to feed the Double Balanced Modulator. Digitally divide the 38 KHz signal to get a 19 KHz pilot tone. Build a final summing amp that will add L+R, the 19 KHz pilot and the modulated L-R to get the final MPX signal.

It can however be shown ( not by me though ;) that rapidly switching between L and R channels at 38 KHz does most of the hard work and is a near equivalent to the hard way. Switching channels as above makes a L+R signal and a DSBSC L-R channel centered around 38 KHz. It also generates a lot of harmonics but they can be filtered away. All that is left is to add the Pilot Tone. Maybe the FM MPX standards were actually decided upon the other way around, the ease of the switching method lead to it being accepted as the standard ? Rapidly sampling L and R signals alternatively is called Time Division Multiplexing (TDM).

Winter 1933 : Edwin H. Armstrong demonstrates frequency modulation to executives and engineers of RCA.
July 18, 1939 : First day of regular programming for W2XMN Alpine (Armstrong), 42.8 MHz, 35,000 watts. Only 25 FM receivers in the world at that time !!!
Dec. 8, 1940 : The first advertising contract for FM broadcasts was signed by the Longines Watch Company
Jan. 15, 1945 : FCC announces allocations proposals, moving FM to 84-108 MHz, with 84-88 MHz reserved for noncommercial FM broadcasting.
Apr. 24, 1961 : Broadcasting reports the FCC approves stereo multiplex standards
June 1, 1961 : FM stereo broadcasting is authorized to begin; on this date the FCC received its first notifications of such regular operation, from WEFM Chicago and WGFM Schenectady.
Above information from FM Broadcasting Chronology, an interesting page with many more facts.

Now we really need some graphics to illustrate the various waveforms involved. I have just begun playing around with Micro-Cap SPICE so at first I thought I would simulate a complete Stereo Multiplexor and show the various waveforms generated. However I soon realized that SPICE can show virtual waveforms based on expressions. In case I need to show a L+R signal, I do not really need to simulate a mixer. I can just ask SPICE to scope out the expression "V(Left)+V(Right)". Similarly, to show the chopped up MPX signal, all I need to do is ask for a plot of "IF(V(Chopper), V(Left),V(Right))"

In the first graph above, We have a Left Audio signal of a single Sine wave tone at 2 KHz , with 2 Vpp. The Right channel is a 8 KHz signal at 1.4 Vpp. We have a digital chopper in Blue running at 38 KHz. When the chopper is high, we follow the Left channel and when it is low, we follow the Right channel. The chopped up basic MPX signal is shown in Black.What we wanted is not really a chopped signal as above. We wanted a smooth sine wave kind of thing whose amplitude varies between the instantaneous amplitude of the Left and the Right channels. The chopped up waveform as above has sharp edges so it will have a lot of odd harmonics. Let's run a harmonic analysis on the chopped MPX signal.....

Here we show on the top, the original chopped MPX signal. At the bottom is the harmonic analysis of the same signal. We can see the 2 KHz and 8 KHz signals in the L+R part of the MPX. Further on we see, centered around 38 KHz, the side bands of the L-R signal. The original 8 KHz signal transforms to 38-8 = 30 KHz and 38+8 = 46 KHz signals. Similarly the 2 KHz signal transforms to signals of 36 and 40 KHz. The 38 KHz carrier signal is most obvious in its absence.

As predicted, we also see strong odd harmonics of the DSBSC signal, centered around 114, 190, 266 KHz and so on. These extraneous harmonics dirty up the signal. Extra energy in the wrong place means that we waste transmitter power and we also limit the maximum modulation deviation for the signals we really want to transmit. They also use up space that could have been used for other signals as part of the MPX bundle. Besides, I am not sure how this makes the final Audio sound. Clearly, we need a Low Pass Filter around 57 KHz to remove the harmonics in the MPX signal.

( Incidentally , the BA1404 chip works by using exactly the same chopping method described above. BA1404 Kits could have used an external LPF on the MPX signal for a much better performance. Unfortunately most kit manufacturers decided to not take the design trouble, they lowered costs by eliminating the vital MPX LPF)

The smoother red line in the top chart is the MPX signal after it has gone through a very simple multistage RC Low Pass Filter. At the bottom, we see the harmonic content of the MPX signal after the LPF. We can see much lower harmonics around 114 KHz while all other higher harmonics have been almost totally suppressed. However the LPF has introduced enormous phase shifts, more about which follows later. A better LC LPF could have been used instead for better results.

One way of looking at the MPX generation method is that it is simply sampling the L and the R channels at 38 KHz. A standard method of reducing extraneously generated harmonic content in sampled Analog signals is to increase the number of samples. The first thought that comes to mind is to increase the sampling frequency. While this idea works on many other ocassions, we cannot use it for FM MPX because shifting the 38 KHz carrier upwards would use up more bandwidth and we would have a larger wasted gap between the L+R and the L-R part of the signal. So what we need to do is intrapolate between the 38 KHz samples.

The examples above show that we use the Left signal in case the Chopper signal is high and Right signal in case the Chopper signal is low. In each period, we read the L signal once and the R signal once i.e. there are two states. We get an odd looking wave that appears as if it is made up of square wave segments. As expected, it is high in 3rd and 5th order harmonics.

If we look at the red curve showing the same chopped MPX signal passed through a LPF, we see that what we really wanted was a smoother sine-like curve with amplitude oscillating between the instantaneous L and R signals. If we took weighted samples, let's say 8 times per period, we would get a "Digital Sine" wave. This would be much lower in harmonics than a square wave because it looks much closer to the signal that we really want.

If we break one period into 8 time intervals, each bit will be 45 degrees. SIN(45) is 0.707, so we multiply the sample taken at 45 degrees by 0.707.

So instead of old algorithm of just switching between full L and full R,

IF(V(Chopper), V(Left),V(Right))

we now use following snippet from SPICE :

.define WTD_MPX IF((tm2>=0 AND tm2<45), V(Left)*.707+ V(Right)*.293,
+ (IF((tm2>=45 AND tm2<135), V(Left),
+ (IF((tm2>=135 AND tm2<180),V(Left)*.707+ V(Right)*.293,
+ (IF((tm2>=180 AND tm2<225),V(Right)*.707+ V(Left)*.293,
+ (IF((tm2>=225 AND tm2<315),V(Right),
+ (IF((tm2>=315 AND tm2<=360),V(Right)*.707+ V(Left)*.293,
+ 0)))))))))))

We need only 4 different states to generate the new waveform.

I was amazed at the reduction of Harmonic content caused by this simple weighted oversampling technique !!

The top part shows the Left Audio, the Right Audio, Basic chopped MPX and oversampled weighted MPX signal all on top of each other. The Bottom part shows the harmonic analysis of the MPX and the weighted MPX signals. The results of oversampling are dramatic indeed, with the raw oversampled signal looking better than the basic MPX through a LPF. We find that the first serious harmonic in the weighted MPX signal is around 266 KHz ie the 7th harmonic. As that is so far away from the 0-53 KHz signals we want, a gentler MPX filter with lower phase shifts in the 0-53KHz can now be designed, leading to better channel separation.

Even better results would have been possible if we oversampled at a higher rate i.e. used 8 states and weight sampled at 608 KHz instead of the 4 states weight sampled at 304 KHz as shown. Professional Stereo Coders do use 8 State sampling.

Exactly the same weighted sampling technique can be used to generate the 19 KHz Pilot. If we use a digitally generated Square wave like in the BA1404 and many kits, it contains a lot of odd harmonics. If we tried to create a "Digital Sine Wave" by making weighted samples at 45 degree intervals in each period, we would get a final Pilot tone with drastically reduced harmonics, much closer to the sine wave we really wanted, but with greater stability ( Locked to a Crystal digitally) than an analog generated Sine wave.

So far, we have used only Sine Wave inputs to study the MPX waveform. Let's try and simulate a bit of music going through a basic chopped MPX with a low pass filter.....

The Black line in the top half is the basic chopped MPX signal passed through a LPF, but no Pilot Tone has been added. In the Harmonic Analysis graph, we can easily make out the L+R region between 0 and 15 KHz, followed by the L-R region between 23 to 53 KHz.

We can see that the area between 15 KHz and 23 KHz is not blank as we would have imagined. All musical instruments create harmonics. Even a Bass drum (which we would assume contains only low frequencies) is actually rich in higher harmonics at the moment when the drum is struck. If you play a CD with 20 KHz information, it will ruin the MPX signal due to overlapping the 19 KHz Pilot. Obviously one needs pretty sharp 15 KHz Low Pass Filters on both Audio channels before they are fed into an MPX generator. Such sharp filters are called brickwall filters, maybe because they suddenly and sharply stop frequencies past their cutoff frequency analogous to one driving a car into a brickwall.

One of the interesting effects of the MPX process is non-harmonic distortion in case of clipping. Lets analyze how this comes about. Suppose we have a 10 KHz signal that is clipped. It will create harmonic distortion at 2x, 3x etc. The third harmonic will fall at 30 KHz. But that's right in the territory of the L-R signal !! As a 30 KHz signal is 8 KHz away from the 38 KHz AM carrier, a stereo receiver would be within its rights to reproduce a 8 KHz tone during decoding process. We have mysteriously created a 8 KHz signal from a clipped 10 KHz signal !! This is called "Aliasing".

It is also interesting to study the effects of phase shifts within the Audio Chain. Suppose a filter in the Audio Chain shifts the phase around 30 KHz, it will shift part of the L-R signal. Let's call the phase shifted signal Lp-Rp. When we add L+R and Lp-Rp to try and get the 2L signal, we see that R and Rp will not cancel each other exactly even if they are of the same Amplitude. A small component of the Right channel will remain in the Left Channel. Similarly a small bit of the Left channel will remain in the right channel. So a phase shift in the Audio MPX Chain causes loss of Channel Separation !!

This is a serious issue : If you dont use oversampling techniques, the nearest unwanted harmonic in the signal is the 3rd harmonic around 114 KHz. To try and filter that by about 20 dB will need a filter that would probably cause a phase shift around 50-70 degrees around 45 KHz upwards. This will make you loose about 6-10 dB of separation. So if the rest of the electronics gave you 50 dB of separation, the MPX filter will reduce that to 40-44 dB.

As the phase shift could also have happened in the other stages following the Stereo Multiplexer (Transmitter's PLL section or even at the Receiver), one would tend to unnecessarily place the whole blame on the Multiplexer.

Similarly, a change in gain over the 0-53 KHz region will also negatively affect the Channel Separation. Let's analyse how that comes about.

Suppose we have a Multiplexing stage that has 0 dB gain from 0 to 19KHz and then -0.1 dB from there to 53 KHz.

So the L-R part of the MPX signal will be 0.1 dB down. This means that the signal is less by a factor of 0.988 times

Suppose we inject enough Audio to get 1L + 1R in the L+R part. The Decoder will add the L+R and the L-R signals to get a 2L

But we will get (1 L + 1 R) + (0.988 L - 0.988 R)

= 1.988 L + 0.0114 R

Hey, we wanted a theoretical signal of 2L over here. But we see that loss of gain in the 19-53 KHz part of the signal --

A) Reduces our L ( Receiver needs more Audio Gain. Loss of S/N)

B) Puts in a bit of R into the L channel. (Loss of Channel Separation)

So to compensate for the less L, suppose we turn up the volume by 2/1.9885531 times.

We get 2L + 0.0115 R instead of 2L

We see that the MPX process has added 0.0115/2 of crosstalk ie -44.79 dB

Here's a small table re gain change vs. Channel Separation, calculated the same way as above.

Gain Change dB Channel Separation dB
-0.01 -64.79
-0.05 -50.81
-0.1 -44.79
-0.2 -38.77
-0.5 -30.81
-1 -24.80
-2 -18.81
-3 -15.34
-4 -12.91

So looks like we need a gain change below 0.05 db across 0 - 53 KHz for separation better than 50 dB. Phew !!!!

As changes in Gain and Phase shift are frequency dependant, the Channel Separation of a Streo Decoder is frequency dependent. Normally Channel Separation is best in the 200-8000 Hz range, degrading sharply at both the low end and the high end.

A Stereo transmitter has to transmit various parts of the MPX signal and has to be set such that it does not over-modulate on the sum of all the MPX signal. A Mono Transmitter would be set up to allow maximum allowed deviation on the peaks of the L+R signal it is transmitting. The Stereo Transmitter would have to be turned down a bit as it also needs to consider the deviation caused by the L-R signals. Hence a Transmitter signal will travel less distance in Stereo than when it is transmitting in Mono. Put another way, if you need to start transmitting in Stereo, you need a more powerful transmitter.

A Stereo transmission tends to sound noisier that a Mono signal. This is mainly caused by the noise in the L-R channel. As the noise in the 23 KHz to 53 KHz segment is also brought down to the audible 0-15 KHz region by the decoding process, we now have more noise than receiving the same signal in Mono. The decoder circuits in the receiver also contribute extra noise. On top of that, as MPX signals have more bandwidth than a Mono signal, the station has to use less modulation with MPX to remain in the deviation limits. All above tend to increase the noise. (Visit USENET message link below for more info)

The last step is to add in about 10% of the 19 KHz Pilot Tone. The MPX signals would look quite the same as the ones shown above; the Harmonic analyses would show a blip at the 19 KHz point. As an MPX signal is not really a simple Audio signal, you cannot Compress/Limit/Equalise/Pre-emphasise an MPX signal. All the audio processing should have been done before the MPX process. All you can do now is feed the MPX signal to the transmitter instead of the Mono Audio signal it had before,

and Voila, You are transmitting in glorious STerEO !!!

Thanks : Scott Masters at Broadcast Warehouse for helping me unravel the mysteries of digital oversampling of MPX signals. For the record, Scott is the only one at the moment who has an MPX kit that uses oversampling.
Ben Merghart, Paul Hollings and Stephen Moss for explaining ratios of various signals in the MPX package.

Wanna have your own page here, write about your own experiences, own review, refute existing review,
add comments to existing review, publish your circuits ?
Contact me


USENET messages about the "Stereo for Dummies" Page
My Review of the Broadcast Warehouse DIGILOG Stereo MPX Decoder 13 Oct 1999
My look at the NJM2035 Stereo Multiplexer Chip by New Japan Radio 20 Oct 1999
My comments on the BH141x FM Tranbsmitter chips by ROHM 26 Aug 2000


Page started on 24 Sept 1999. We have had a lot ofpage loads since counter reset on 15 May 2000.