| 1 |
This GNU Radio component implements a FLEX radiopager receiver/demodulator. |
|---|
| 2 |
|
|---|
| 3 |
FLEX pager towers are between 929 MHz and 932 MHz at 25 KHz centers. |
|---|
| 4 |
|
|---|
| 5 |
Current status (7/16/07): |
|---|
| 6 |
|
|---|
| 7 |
FLEX receiving is completed except for addition of BCH error correction. |
|---|
| 8 |
|
|---|
| 9 |
There are three scripts: |
|---|
| 10 |
|
|---|
| 11 |
usrp_flex.py - Receives and displays pages from a single paging channel. To |
|---|
| 12 |
work from recorded data, record from USRP with decimation 256 |
|---|
| 13 |
at center frequency. |
|---|
| 14 |
|
|---|
| 15 |
Usage: usrp_flex.py [options] |
|---|
| 16 |
|
|---|
| 17 |
Options: |
|---|
| 18 |
-h, --help show this help message and exit |
|---|
| 19 |
-f Hz, --frequency=Hz set receive frequency to Hz |
|---|
| 20 |
-R SUBDEV, --rx-subdev-spec=SUBDEV select USRP Rx side A or B |
|---|
| 21 |
-c Hz, --calibration=Hz set frequency offset to Hz |
|---|
| 22 |
-g dB, --gain=dB set RF gain |
|---|
| 23 |
-l, --log log flowgraph to files (LOTS of data) |
|---|
| 24 |
-v, --verbose display debug output |
|---|
| 25 |
-F FROM_FILE, --from-file=FROM_FILE read samples from file instead of USRP |
|---|
| 26 |
|
|---|
| 27 |
Example, to receive from 931.95M (a common nationwide channel) with DBSRX in |
|---|
| 28 |
side A of USRP: |
|---|
| 29 |
|
|---|
| 30 |
$ usrp_flex.py -f 931.95M -g 32 -R A |
|---|
| 31 |
|
|---|
| 32 |
|
|---|
| 33 |
usrp_flex_band.py - Receives and displays pages from a 1 MHz paging band (40 pager |
|---|
| 34 |
channels.) To work from recorded data, record from USRP with |
|---|
| 35 |
decimation 64 at center frequency. |
|---|
| 36 |
|
|---|
| 37 |
Usage: usrp_flex_band.py [options] |
|---|
| 38 |
|
|---|
| 39 |
Options: |
|---|
| 40 |
-h, --help show this help message and exit |
|---|
| 41 |
-f Hz, --frequency=Hz set receive center frequency to Hz |
|---|
| 42 |
-R SUBDEV, --rx-subdev-spec=SUBDEV select USRP Rx side A or B |
|---|
| 43 |
-c Hz, --calibration=Hz set frequency offset to Hz |
|---|
| 44 |
-g dB, --gain=dB set RF gain |
|---|
| 45 |
-F FROM_FILE, --from-file=FROM_FILE Read from file instead of USRP |
|---|
| 46 |
-l, --log log flowgraph to files (LOTS of data) |
|---|
| 47 |
-v, --verbose display debug output |
|---|
| 48 |
|
|---|
| 49 |
Example, to receive from the lower third of the pager band with DBSRX in side B |
|---|
| 50 |
of USRP: |
|---|
| 51 |
|
|---|
| 52 |
$ usrp_flex_band.py -f 929.5M -g 32 -R B |
|---|
| 53 |
|
|---|
| 54 |
usrp_flex_all.py - Receives and displays pages from entire pager band (3 MHz, |
|---|
| 55 |
120 pager channels.) This does not work in real time due |
|---|
| 56 |
to CPU limitations, but can work from recorded USRP data. To |
|---|
| 57 |
work from recorded data, record from USRP with decimation 20 at |
|---|
| 58 |
center frequency of 930.5M. |
|---|
| 59 |
|
|---|
| 60 |
Usage: usrp_flex_all.py [options] |
|---|
| 61 |
|
|---|
| 62 |
Options: |
|---|
| 63 |
-h, --help show this help message and exit |
|---|
| 64 |
-R SUBDEV, --rx-subdev-spec=SUBDEVC select USRP Rx side A or B |
|---|
| 65 |
-c Hz, --calibration=Hz set frequency offset to Hz |
|---|
| 66 |
-g dB, --gain=dB set RF gain |
|---|
| 67 |
-F FROM_FILE, --from-file=FROM_FILE Read from file instead of USRP |
|---|
| 68 |
-l, --log log flowgraph to files (LOTS of data) |
|---|
| 69 |
-v, --verbose display debug output |
|---|
| 70 |
|
|---|
| 71 |
Example, to receive all pager channels with DBSRX in side A: |
|---|
| 72 |
|
|---|
| 73 |
$ usrp_flex_all.py -R A |
|---|
| 74 |
|
|---|
| 75 |
The demodulator is relatively sensitive to frequency offset and can capture a signal |
|---|
| 76 |
within 3k of the actual signal. |
|---|
| 77 |
|
|---|
| 78 |
All three scripts take a 'calibration' parameter, which specifies the frequency offset |
|---|
| 79 |
of the daughterboard. This causes the USRP to be tuned to the given center frequency |
|---|
| 80 |
plus the calibration offset. For example, if your DBSRX shows 930MHz as 930.001MHz in |
|---|
| 81 |
usrp_fft.py, then use '-c 1k' in the command line to automatically add this. |
|---|
| 82 |
|
|---|
| 83 |
Johnathan Corgan |
|---|
| 84 |
Corgan Enterprises LLC |
|---|
| 85 |
jcorgan@corganenterprises.com |
|---|