In my limited spare time, I've been working on adapting an OFDM implementation to convey the Codec2 1400bps bit stream.
Functionally, it would operate like WinDRM, EasyPal, etc. (e.g. use a soundcard connection to a radio's existing audio in/out), but could be open-sourced and multi-platform. I took this packet modem implementation: http://www.arrl.org/q15x25 which is encapsulated into this open source library: http://www.baycom.org/~tom/ham/soundmodem/ and stripped out the FEC and data link layer (since these were suited to a packet modem implementation, but not a real-time audio link). I've also been adapting the modem parameters (number of carriers, symbol rate, etc.) to try to better suit Codec2, and have done testing over a lossy audio channel under both Windows and Linux. Codec2 in the 1400bps mode operates on audio in chunks of 40ms. However, the modem implementation uses powers-of-2 (a reasonable thing to do with FFTs), which results in a symbol period of 12ms. The least common multiple of these two quantities is a not too unreasonable 120ms ( 3 x 40ms = 10 x 12ms ). In my proposed implementation, there are 12 carriers, each with QPSK modulation. This results in a 2000 bps data stream ( (1sec / 12 ms) x 12 carriers x 2 bits/symbol = 2000 bps ). (FYI: the first carrier is at ~500 Hz, and the inter-carrier spacing is ~125 Hz. This makes the highest carrier at ~1875 Hz. This should fit comfortably into the audio bandwidth of most rigs and regulations.) Rather than fixating on bit rates, a more applicable viewpoint would be to view it as 168 bits of Codec2 data (3 x 56 bits/frame) that must map into 240 bits (24 bits x 10 symbol periods). This mapping must also provide framing alignment so that a receiver can align itself to the repeating blocks of 10 symbol periods. FEC is an art form, and rather than try to devise a (potentially faulty) scheme on my own, I'd like to solicit input from the knowledgeable readers on the mailing list. I'm looking for a specific suggestion on an implementation to map these 168 bits into ten x 24 bits, rather than an open-ended "why don't you try X?". Anyone can do a literature search on names of FEC techniques; it takes real skill to devise a technique suited to a channel (and quite frankly I don't have that experience yet). It also seems critically important to devise a technique not encumbered by patent protection. Thanks for your time. ------------------------------------------------------------------------------ Try before you buy = See our experts in action! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-dev2 _______________________________________________ Freetel-codec2 mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freetel-codec2
