A recently filed bug brought to my attention the fact that the Audio Modem was not decoding nearly as many packets as I would expect it to. I have unit tests that test the demodulator with the WA8LMF Test CD and it generally can decode about 900+ packets. However, there seems to be a difference between the audio when processed as a whole file and buffers of samples that come in from audio devices. My hunch is that it wasn't processing the buffers fast enough and potentially missing samples. I've made some changes to hopefully address this.
I'm interested in the feedback from anyone who might be using this type of connection. This is one of the most difficult connection types for me to test because there is almost no APRS traffic on the air where I live. I resort to sending packets from my Yaesu VX-8DR and a Byonics TinyTrak AIO. My experience is that it always decodes the Yaesu packets but struggles to decode the TinyTrak, The TinyTrak audio sounds distorted, but Direwolf is able to decode it. I'm expecting the
Venus X1C5 Plus that I ordered almost a month ago to finally arrive tomorrow and I'll have a third source of RF packets.
My test receiving setup for the Audio Modem is a Baofeng UV-5R connected to the MacBook speaker/mic jack with a BTECH-APRS-V01 cable. I realize that there are much higher quality setups out there, but the purpose behind this setup is to replicate what is probably the cheapest and most common way to get started with APRS. That is also the design philosophy behind the built-in Audio Modem; it's not intended to pull the most mangled packets out of the air, but it should at least get someone started. At a certain point, though, I recommend that users graduate up to either a Direwolf audio modem or a dedicated TNC like Mobilinkd. Maybe someday I'll have learned enough of the math behind digital signal processing to be able to build a better modem.
- Wes, W8WJB
Changelog:
- Attempting to improve the decoding of AudioModemConnection
- Added an optional 6dB emphasis filter
- Audio Queue handler now more quickly passes processing to a separate thread to avoid blocking queue
- Dropped down from Double to Float audio samples - less memory to move around
- Fixed some help button links