jvok wrote: ↑Sat Mar 04, 2023 7:33 pm
Hmm so that circuit is pretty much a direct copy of the russian walsh coder from the YO4HFU site, except for changing the 2.432MHz crystal to 4.864MHz site:
https://www.qsl.net/yo4hfu/Files/STEREO ... Stereo.pdf
"this is what Bob and I came up with" my arse
It's remarkably similar - I never claimed that there was no "prior art"! Bob did the diagrams and has been laying out a PCB. Looking through my manuals, I find that the BBC MPX5 coder uses exactly the same Walsh function - done almost the same way. I've subsequently found a way of getting rid of the tweakable choke, and - with the addition of just three ICs - I can get up to 24 or even 32-step sampling on both audio and pilot.
The basic problem of harmonic crap still remains, and I don't like the lowpass filter on the output - the filter phase shifts degrade the stereo separation. We've got a breadboarded circuit (
nine of those plug-in breadboards) with a second modulator running at 114kHz. This is attenuated, inverted, and put into the main multiplex at the right level to null out the third harmonic (the predominant one) of the main multiplexer. The fifth harmonic is far enough away (and small enough) that a 150 kHz lowpass filter gets rid of it without affecting the S component.
Another change to the circuit was to use a phase-locked loop to generate the various signals from a 4.332MHz rock, so that it's all inherently locked to the 57kHz RDS subcarrier as well. The 150kHz lowpass also eliminates the (admittedly minuscule) third harmonic of the RDS. The use of the PLL is probably overkill - it adds five ICs - so I'm just coding a 16F628 to give all the frequencies I need out of just one chip and one crystal. Keeping everything phase coherent is mostly a question of counting out the right number of NOPs between switching events for each output (or group of outputs).
My very first commercial stereo coder (back in the 70s) used MC1496s for the "S" component and to double the 19kHz pilot (sin²x identity) for the 38kHz subcarrier. My aim was to be "all analogue". Around the same time, Trevor Brooks (Surrey Electronics) published a similar design in "Wireless World". He used a 19kHz crystal for his pilot oscillator. I can't imagine what one of those would cost!
My big problem was generating a good, stable 19kHz sinewave, and it was pointed out to me (by one of my University lecturers) that Walsh synthesis could be a way to go, generating it digitally from TTL logic. It worked, but was rather too jagged for the use I was going to put it to, even after filtering. In the end, I used a Wien Bridge oscillator phase-locked to a crystal. The Wien Bridge was dimensioned for 19kHz, and the two frequency-determining resistors were partially replaced by LDRs (light-dependent resistors). There was a little incandescent torch lamp illuminating the LDRs, and the current through the bulb was varied by the output of the PLL loop filter!
A temperature-compensated Wien Bridge oscillator gives very low distortion, and the 19kHz pilot was the purest I'd ever seen. When precisely aligned, the coder would give around 52dB stereo separation, which was world-leading in 1975. Unfortunately, it was somewhat temperature sensitive, and alignment was tricky.
Cheap, fast enough CMOS soon came along, and I started designing crystal-derived switching coders - you can see some of my early CMOS circuits in Elektuur from the early 80s. A friend of mine published a simple switching coder in FRM in the Netherlands, and every local pirate station went stereo - seemingly overnight!
I the 90s, I redesigned Stephen Moss' re-design of one of mine from the 80s. His version didn't know left from right (it would start in random phase), and when the grief with H******s first blew up, I added a monostable to the 4013 (using its redundant half) so that it always started in the right phase. That meant that the input sockets could be confidently labelled "Left" and "Right". I also added three diodes to enable mono / stereo switching - when the diode anodes are taken high, both of the CMOS switches are turned hard on simultaneously, letting both channels through, and the output of the 19kHz filter is forced to the positive rail by the third diode, effectively switching off the pilot tone. With the addition of two LEDs and some resistors, we got mono / stereo indication as well - all controlled from just one switch contact! This meant that the NRG product was substantially different from the "other" one. Incidentally, the poor layout of the H******s "Veronica" coder means that there are all sorts of spurs put out from the thing which make the rig appear all over the band! And it
still doesn't know its Right from its Left.....
The next coder I did for Steve (the Pro IV) used really low noise op-amps and oversampling. The audio quality from that coder still stands up against anything available today, and has been used by many commercial stations. The Pro V coder was in development at the time of Steve's death. It was to include a three-band stereo limiter, active 15kHz filters, and even better performance. I'd gone back to Walsh synthesis for the subcarrier generation, and was going to use PWM for the limiter attenuators (since the coder filters would remove the switching residuals.... It was loosely based on some of the work done for the "David" airchain boxes. I found some of the circuit sketches when I was cleaning out my old office last year - I'll scan them and put them up here at some point soon.
The "Walsh" coder was an attempt to get reasonable results with minimal resources - just like most pirates! I'm still not happy with it - there's a lot of work to do to it.....