How can an FM Stereo multiplex signal be created in software?

I’d like to be able to test a Stereo decoder design I’m experimenting with. I have a hardware stereo signal generator (a Radiometer SMG40 RADIOMETER SMG40 STEREO GENERATOR Service Manual download, schematics, eeprom, repair info for electronics experts) but was wondering if the signal could be created in software. It has been done using python here Generate a stereo-FM multiplex waveform with Python and AWG | Baltic Lab
Could this be created using the QA403 somehow? Thanks.

Hi @djsb, this should be possible

In the link below, around line 353, you’ll see a way to generate an arbitrary waveform and submit that to the QA403 via REST. And it will playout the buffer you submit. Note that the data is absolute. So, if you submit a sine that is +/- 1.41 peak then when played out of the QA403 it will measure 0 dBV or 1Vrms on your DVM. Follow the code and you’ll see it needs to be base64 encoded before submitted as REST.

So, using that mechanism, you can prepare any buffer of data you wish.

A stereo signal has L+R encoded from ~0 to 15 kHz (your link is a great reference). A pilot tone exists at 19 kHz. And the L-R is encoded from 23 to 53 kHz. So, probably you should aim for 192k sample rate.

If you used a 192k sample rate at a 256k buffer, that would be about 256/192 = 1.33 seconds. Plenty of time for a stereo detector to spring to life.

What an interesting project. Please post updates if you can.