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