To
try to answer Marco's original question about I/Q directly: the phase info
available from I/Q samples is not directly useful for RFID ASK signals.
However, the calculated magnitude provides slightly better SNR than would
samples of magnitude alone.
I've
done a lot of work with 13 MHz RFID. Most common form of modulation is
Amplitude Shift Keying, a form of AM, with the data stream Manchester encoded.
A
good example of channel filtering and AM demodulation using complex_to_mag is
usrp_am_mw_rcv.py. That example is setup for AM broadcast, so you'll want to
widen the channel filter BW out to accomodate the baud rate you're using, and,
you can eliminate the audio filtering and sink code. The demodulated output is
the 'envelope' of the signal, with an offset the depends on the percentage of
modulation achieved. The RFID reader in Marco's case achieves 100% modulation,
so the offset will be 50% of peak level, like this (fixed font spacing
req'd):
___ ___
___
| | |
| | |
0 ___| |___| |___| |___
RFID
tags typically achieve much lower modulation percentages, depending on
coupling with the reader, like this:
___ ___ ___
| |___| |__|
|
0 ___| |___
In
either case, you can threshold the data at some value less than the average
peak to do a crude conversion from envelope to bits. In turn, you can examine
the bitstream to locate bit transitions. The bit stream can then be
decoded. There are better ways, e.g., using matched filters, to
identify Manchester codes directly from the envelope data, but this should get
you started.
Paul Mathews