Sunday, January 17, 2010

[Discuss-gnuradio] Newbie Q: Prototyping digital data over an audio path

Hi,

I'm hoping that somebody can give me some pointers and advice on something I would like to do.

My end goal: Using the audio output of my Livescribe Pulse smartpen, transmit data at a rate of 10 to 100 kbps, to be received by an iPhone and/or Android phone.

What I have so far: 600 bps FSK using speaker/mic combo. Great proof of concept, but 20 seconds of screeching noise to transfer a short handwritten note is...less than optimal.

What I'm thinking of doing: Using a cable between the devices, and QAM modulation.

Is QAM16 or 64 a good modulation type for a cabled audio link? Is there something that would be more appropriate? The audio generation side is *extremely* resource constrained right now - j2me.

How I'm thinking of getting there:

1. Use GNURadio to do an internal audio loopback test of some modulation schemes
2. Do the same thing using a physical loopback cable
3. Feed my computer's audio into an iPhone with an audio recording app, then feed the recorded sound file into GNURadio
4. Same thing, with my pen as the source
5. Write some J2ME code to generate the audio on the fly
6. Write a server-based iPhone app that feeds the audio into a remote GNURadio instance for decoding
7. Write an optimized iPhone native version. (Maybe? Is it possible? Is it even worth it? I get unlimited data on my cell plan...)

Am I on the right path? My knowledge of signal processing is, sadly, somewhat rudimentary. I've written an FSK decoder using an FFT library in Python, and I can read a constellation diagram, so I have *some* knowledge, just not a lot.

Looking at the QAM blocks in GNURadio, I see the comments:
# NOT READY TO BE USED YET -- ENABLE AT YOUR OWN RISK

While I am interested in learning, I don't feel that I am ready to spend 6 months getting up to speed on signal processing theory before I can even get a prototype working.

Learning how to use GNURadio has been on my to-do list for quite awhile, but what I don't want to end up doing is spending a few months and then learning that I am not skilled enough to build what I need - it's hard from the outside to figure out what types of systems are easy to build and what require very detailed knowledge.

Thanks for any advice,

gopi.


_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio

No comments:

Post a Comment