This is an old revision of the document!
Approximate communications using Software Radio.
The digital domain allows for much easier recovery of information from coherent systems. Even though radio channels are noisy and fading and difficult to work with, information can be recovered using approximation.
Resources
Setup
Currently, a two-USRP GNURadio setup is being used, with either differential 8-PSK or straight 8- or 16-QAM.
Todo
GNURadio: Feedback (non-feedforward) AGC that doesn't use std::max(), which should be more noise-resistant
Error data using PSK/QAM
Working QAM implementation:
Streaming video
On GNURadio using IP Works, but laggy on Minis
On GNURadio using straight video transmission (benchmark_[tr]x.py) (currently sort-of-works but even worse than IP)
On WARP
MPEG Streaming on GR implementation details:
Proposal is to take apart an MPEG stream, stripe out the I, P, B frames, send them over air, and then reassemble them into an MPEG stream at the other end. This means we need to:
Be able to parse an MPEG-2 file in python, read it in, save metadata, and start picking off I, P, B frames, etc
Be able to do the striping on separated I,P,B frames and metadata
Send this over the wireless link
destripe the data
reassemble into an MPEG-2 stream
output to some video player (through Python?)
Help, I Don't Have the Permissions to Create a New Page for This
What Steve is doing this week:
Reading about how
DSSS works, used in 802.11b,g to spread the signal in frequency. Open questions are:
Assuming that QAM on GNU Radio is dead, unless a better AGC/phase error calculator works magically, given that we'll have WARP radios soon.
Fighting occasionally with docuwiki syntax