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
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:
- Use GNURadio to do an internal audio loopback test of some modulation
- Do the same thing using a physical loopback cable
- Feed my computer’s audio into an iPhone with an audio recording app,
then feed the recorded sound file into GNURadio
- Same thing, with my pen as the source
- Write some J2ME code to generate the audio on the fly
- Write a server-based iPhone app that feeds the audio into a remote
GNURadio instance for decoding
- 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,