Notes on rtl-sdr source code – first impressions

I did a quick read of source code (rtl-fm.c) today.

Basically it opens an input stream of IQ samples from the rtl-sdr device, demodulates filters, and outputs audio.

Other than usual madness with threads and locking – the code is fairly straightforward. Not well commented – but clear enough that we could extract the input streaming and frequency (device) control to make a Max external. One question would be whether or not to do the downsampling in the external, or in Max?

Rough estimate would be this project would involve about 1-2 weeks of analysis and hacking. Possibly less – but there is a learning curve – and a heuristic stuff which is required to work with the hardware.

Fortunately it actually works in MacOS and Windows – and there are plenty of other examples to compare it to. But this is not a casual evening project.

 

Funcube with HSM upconverter

notes

After months away from this project I am at this moment listening to 40 meter cw signals via  the High Sierra Microwave (HSM) upconverter into the funcube via Max/MSP.

The Max funcube external doesn’t provide a way to turn on the bias tee current which powers the HSM device, so… I am using this version of the FCHid software to turn on bias tee, and set LNA to 0db, while using Max to tune the funcube. This is on windows and both programs can run at the same time.

http://uk.groups.yahoo.com/group/FCDevelopment/files/FCHID/

Prior versions of FCHid don’t have the checkbox for bias tee.

Next on the agenda will be to make this work in Mac OS.

First impressions: signals seem a bit weak, although it could be atmospheric conditions. Filtering isn’t great but its adequate – it just doesn’t have the ‘punch’ you get with a good selective receiver… Which is why nobody in their right might would actually design a shortwave receiver this way.

Update: got it working on mac os using version 3.2 of QtHid to toggle the bias-t – this version is the latest as of the time of this post and was bundled with the dmg.