Tuesday, January 6, 2015

Virtual Audio Streaming

As mentioned in a previous post, I was struggling to use SDR to decode APRS. I needed a way to connect the incoming stream from SDR into an audio decoder. Windows supports a 'virtual audio device' in the sound control panel, but not all sound cards support this feature - mine does not. What to do?

Enter "Virtual Audio Streaming," an app from virtualaudiostreaming.net This app enables you to pick up sound from any application on your Windows system and pipe that audio into another application. It runs as a service, so the controller is in your task tray. When you open it, this is what you see:


On the left, set Virtual Audio Streaming as the default audio device (alternatively, pick VAS as the audio device in your application, such as SDR#). On the right, set it as the default sound recording device (or, alternatively, select it as the sound input device in the target application like Qtmm).

The tool installs easily--as with most low-cost applications, it can be bundled with other apps so pay attention when you're running the installer (if you don't want any other apps installed). Once running, it isn't noticeable at all and seems to have no effect on the host. A quick peek in Task Manager shows it takes on average between 2% and 4% resources:


From here on out, it's a snap to run with. If your source and target apps allow you to pick custom sound devices, you can run Virtual Audio Streaming without impacting any other audio settings (this is handy for me, because I spend up to 75% of my day in online meetings using a variety of conferencing tools). Overall, the install was easy, configuration is a snap, the tool is very flexible and it's had no noticeable negative effect on my computer.

Enjoy!

Thursday, January 1, 2015

APRS Decoding - Windows

I'm setting up to decode APRS on Windows with a simple RTL-SDR USB dongle. Here's what's needed:

Eventually I'd like this to all be self-contained--seems like a great add-on for SDR#. But that's for a later date... My first step is receiving and decoding APRS, but my next step will be to use my HackRF to actually send encoded APRS packets.

I've been fighting Windows and various Linux OS's trying to make this work. In this article, I'm taking a step back and moving slowly back to the point where it's working successfully. My eventual goal is to use a Raspberry PI with a DRA818* radio chip, in a weather-proof box at the base of my antenna mast. But I digress...

If you follow the steps here, you'll get this up and running quickly. I spent the better part of New Year's Day morning on this.

What You'll Need

  1. Install your SDR software of choice
  2. Install the RTLSDR USB driver (the HDSDR site gives some good info on installing the driver)
  3. Grab Qtmm from sourceforge

What to Do

  1. Start your SDR tool
  2. Connect to the RTL-SDR dongle
  3. Tune up to 144.39 (North America) or whatever your APRS frequency is.
You should start to see signal on your waterfall. It will look something like this:


Note that I prefer HDSDR to SDRSharp. That's just me...

Getting Audio into Qtmm

The trick here is to pump the decoded audio out of your SDR tool into the AFSK decoder. For some people, this will be easy because their Windows sound card chip supports "Stereo Mix" in the Sound Recording control panel. My chip does not, so I had to use "Virtual Audio Streaming," a virtual sound card too. I installed it, and set the "Rec. Play" device to the default device in the sound control panel:

Next, I set "Virtual Audio Streaming" as the output to speaker in HDSDR's sound card selection dialog:


Wide vs Narrow

I had some issues capturing the signal early on when I was using SDR#. Wide FM seemed maybe too wide, but narrow wasn't right. I messed with the signal bandwidth till I had something I liked. In HDSDR, I have bandwidth set to 18,205.

Qtmm AFSK Decoder

Next, just launch Qtmm AFSK decoder and select "Rec. Play (Virtual Audio Stream) for input and click the "Decode" (play) button:

You should begin to see packets streaming in!