In recent months I have been rather quite, when it comes to new projects. This is not by design. It seems that these days there is always something more sensible, important or very necessary, to consume all my spare time. I have not even been on the HF for months :-(
Although I may be out in the garden digging, or sitting in a hospital queue, the mind is still active. In my mind I designed and built several projects, including this one. The object was to produce a high-quality WBFM broadcast transmitter, with in-built stereo encoder. The encoder was the basic problem. There is a dedicated IC, the BA1404, that does exactly this, but the chip has stability problems, and several designs have suffered with the chip latching, not to mention that it is almost obsolete. If you want to have a look at this chip then you can find the datasheet on my PDF pages. So I shall begin with a stand-alone stereo coder.
I began the design around Christmas 2004, with loads of workbench space occupied with rats-nests, and loads of operational Amplifiers, all glued to wooden boards, with their legs in the air. I had thought about a very high quality circuit, but ended up with a multitude of problems. When you add filters, you are also adding signal delay. Phase changes also vary with frequency every time one adds a new filter. An Op-Amp also adds propogation delay, so I added more amps in the other signal paths to compensate - Sheesh!. Have you ever tried building a circuit with the maximum number of components? I think I did!
Time passed, and ran out, so I simplified the circuit. I simplified it a lot. I turned back to the tried and trusted CD4016 "chopper" circuit, then wondered if I could simplify it even further. I did. I soon had a working design. I then took it a stage further and simplified the filtering. I was even able to misuse a spare switch in the CD4016 to eliminate the need for a flip-flop, as used in nearly every other design. The result gave VERY nice stereo, probably because I had eliminated the "too many cooks" in the design.
The basic principle of encoding stereo is to generate a modulating signal that can be received by both mono and stereo receivers alike. This is done by adding the left (A) channel to the right (B) channel, and transmitting this as an audio modulating signal, in the range of 20Hz to 16kHz.
The encoder then goes on to subtract the B channel from the A channel, and modulates a 38kHz tone, to generate a "difference-between-the-channels" signal. The 38kHz carrier is removed and the resultant sidebands are transmitted.
The above diagram shows the composite stereo modulating signal. I have used the colour blue to identify the low channel audio frequencies (the ones you hear), and yellow for the high frequencies. In order to decode the DSB 38kHz A-B signal, the receiver needs a carrier source. This is provided as a low-level 19kHz tone, that is doubled to 38kHz in the decoder.
To decode this signal, then the audio range of frequencies from 20Hz to 16kHz form a mono signal (A+B). Mono receivers use this directly. The stereo decoder demodulates the (A-B) signal and adds it to the (A+B). Simple algebra shows that:
(A+B) + (A-B) = (A+A) + (B-B) = 2A.
In other words, the A channel (left) is now isolated. Inverting the (A-B) signal, then doing the same again, we get:
(A+B) + (B-A) = (B+B) + (A-A) = 2B.
The B channel (right) is now isolated and we have isolated our two A and B stereo signals.
The two stereo channels (A and B channels) are each passed through a buffer amplifier, where any filtering and pre-emphasis is added. Both of these are passed to an additive mixer to form the A+B signal. The B channel is inverted and passed to the second additive mixer, together with the non-inverted A channel, to give the A-B signal.
The A-B signal is fed into a balanced modulator that generates an A-B double-sideband signal with supressed carrier. This is passed to the final additive mixer, together with the A+B signal. The 38kHz carrier is also divided and filtered to form a 19kHz low-level pilot tone, which is also fed to the final additive mixer. The composite stereo output therefore contains A+B, A-B (difference), and carrier information.
This type of encoder circuit is quite common, but the operation is perhaps often misunderstood. I have used an LM358, Dual OpAmp for the two input buffer stages, but even these could be eliminated and resistive filtering used. I used them since there are definite advantages to having them. By the way, the 10uf supply decoupling cap is not on the PCB. This is on the transmitter PCB, just after the 8v regulator.
The A and B channel signals from the OpAmp buffers are each fed to a CD4016 (bilateral switch) to "chop" the audio up at 38kHz. The outputs of the two switches are passed to a simple resistive adder. The two switches need to be switched alternately, but the CD4060 oscillator divider only provides a single phase output. So I used IC2a switch to connect it's output to ground when turned ON. This effectively inverts the 38KHz, without any additional logic circuits.
The two choppers are fed with two 180 degrees phase shifted clocks, so the 38kHz DSB sidebands are inverted for one channel, to get the difference signal. The two DSB signals being added, but the carriers (being of opposite phases) cancel. The two original channels are also passed through the switches, unaltered (other than chopped up a bit), but the chopping rate is higher than the highest modulating frequency, so it doesn't matter. The result is that the output of the two choppers (IC2b and IC2c) contains A+B and A-B(DSB) signals. It does NOT, however contain the needed 19kHz pilot tone. This comes from IC3 pin 14, and is passed through a simple RC filter to make it a (sort of) sine(ish) waveform.
Everything is added in the resistive mixer, to form the composite stereo output signal. A single capacitor has been added, as a token filter, to limit the total output to under 60kHz. The CD4060 is a conventional oscillator, based on a 4860kHz crystal, divided down to 38kHz and 19kHz.
As you can see, the circuit is quite crude, but it does give a very good, and surprisingly clean, stereo signal out. If I had continued with the original OpAmp design you would need an oudio spectrum analyser, or selective level meter to set up and balance the various parts of the circuit. This circuit is so crude that it needs no alignment. All you need to do is adjust RV1 for the output level needed for your FM transmitter. No audio filtering is included, but after investigating every audio device in my house (including the TV set) I could not find a need for an AF filter.
The input levels are 1v Peak-to-peak, which is the standard "LINE OUT" level from nearly all HiFi systems and computers. It can even be driven from your Sony walkman, but you need to be a bit more careful with the input level. A simple voltage reading with an AC voltmeter is close enough. You want 300mV (0.3v) AC.
The prototype is built on a single-sided PCB. If the input buffer OpAmps are not to be fitted, then simply do not fit IC1, but add a link between pins 1 and 2, and another link between pins 6 and 7. This will then require a good 3v peak-to-peak drive level, but is ideal when driven from a stereo amplifier, sony walkman or MP3 player. As given the circuit adds the 19kHz pilot tone at about 10% (-20dBmo), and this level is set by the two 2K2 resistors between the OpAmps and the bilateral switch inputs. If these resistors were increased in value, then the circuit will tolerate higher input AF levels, but as given it needs about 1v peak-to-peak, which matches almost all equipment with "LINE OUT".
I fitted the OpAmp to mine. You may also notice that I have chosen as few different component values as possible, mainly because I have 1000s of 2K2 and 22K resistors. I shall shortly be adding this circuit to an FM transmitter in the range of 88MHz to 108MHz. Not too sure of the output power, but I would like to see a simple design that delivers a STABLE 1 watt, without frequency drift. Perhaps we shall see the V8?. We shall just have to wait and see where the mood takes me :-)
Very best regards from Harry - SM0VPO, Lunda, Sweden.