@electron en anderen
De achterliggende gedachte:
Ik was aan het spelen met een hackrf, een sdr die zowel kan ontvangen als zenden, om eens "iets" op het zendgedeelte te doen. Voor het ontvangstdeel had ik de interface drivers voor mijn verschillende software radio's al lang gemaakt.
Een "zender" maken met als input een "wav" file of als input een microfoon was al snel klaar, maar toen werd ik eigenlijk getriggered door opmerkingen op het nfor forum over eenvoudige modulator(tjes) waarmee sommige mensen de audio output van een dab ontvanger AM moduleren zodat ze weer kunnen genieten van het "warme" geluid van de oude buizenradio.
Ik dacht: dat kan ik ook in software. Dus schreef ik wat software die er voor zorgt dat de audio output van mijn dab decoder nu eens niet naar de soundcard gaat maar eerst nog even bewerkt wordt. Omdat ik ook nog wat van de tekst die meestal bij zo'n audio service op DAB wordt meegestuurd wilde meesturen kwam ik op get idee geen AM maar FM te moduleren. Overigens ook omdat ik natuurlijk van de stereo wilde genieten.
Het "bouwen" van de MPX in software is op zich simpel, alleen voor de RDS heb ik gebruik gemaakt van wat software die ik op het internet vond.
Vervolgens de MPX gemoduleerd en de samplestream naar de Hackrf.
Grappig dat de modulatie als zodanig een bijna triviale operatie is in software : numeriek integreren (de demodulatie ook: differentieren).
Ik heb uiteraard vervolgens geluisterd zowel via een eenvoudige transistor radio als via de FM software en het klinkt wel aardig. Omdat ik vooral op gangbare - niet perse HiFi - apparatuur wil luisteren is de kwaliteit goed genoeg.
Ik ben nog aan het zoeken naar de goede versterkingsfactoren voor de L+R vs L-R en de amplitude van de RDS is wat te groot, maar dat zijn alleen maar een paar paarameters.
Mijn oude buizenradio ga ik binnenkort ook maar weer eens afstoffen, want het aardigste is natuurlijk om het stereogeluid via zo'n oud krakend beest te horen. Jammer is alleen dat die oude radio de RDS niet zichtbaar maakt, maar goed, je moet er wat voor over hebben.
De RDS data is overigens een subset van de DLS data die bij een DAB service wordt meegestuurd, de laatste heeft een aanzienkijk hogere baudrate dan de RDS rate. Maar aangezien de meeste services alleen maar de titel van de muziek die wordt afgespeeld laten zien komt dat ook wel redelijk goed.
Omdat de hackrf geen duplex ondersteunt heb ik voor de huidige opzet zowel een SDR aan de "in" kant als de hackrf aan de "uit" kant nodig. Om de zaak te vereenvoudigen dacht ik dus dat ik de samplestroom die naar de Hackrf gaat evengoed naar de geluidskaart gestuurd kan worden. Het enige dat dan nodig zou zijn is een stukje electronica voor de shift van de frequentie.
Maar de "oplossing" om niet de samples van et FM signaal maar de samples van de MPX naar de geluidskaart te sturen is ook prima. Ik ging er alleen ten onrechte van uit dat zo'n DC gecentreerd signaal ook makkelijk zonder gedoe in frequentie te verschuiven zou zijn. Als eerder gezegd, een "mixer" in software is niet meer dan een complexe vermenigvuldiging.
Op zich wel logisch dat het in het analoge domein wat ingewikkelder is.
Overigens mag ik binnenkort spelen met een limeSDR, die heeft dan wel de mogelijkheid on tegelijk te zenden en te ontvangen.
Maar
Nogmaals dank voor de commentaren van de (meeste) commentatoren, ik kan weer verder
ps
(Z)weetvoetje refereerde aan zijn fm-bug, ik herinner me dat maar kan de beschrijving niet meer vinden