root / gr-pager / README @ master
History | View | Annotate | Download (3.6 kB)
| 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 | [email protected] |