Project

General

Profile

RepeaterPage » History » Version 3

max, 04/22/2017 04:04 PM

1 1 max
2
 = Multi-channel reception using the USRP =
3
4
Assume we want to simultaneously receive the four signals shown below;
5
one conventional (analog) FM voice channel plus three P25
6
signals.  The two P25 voice channels are to be IMBE-decoded whereas the
7
P25 data channel is to be sent to Wireshark after decoding.
8
9 3 max
[[Image(sa.png)]]
10
11 1 max
Fig. 1 - Spectrum of repeater input band (sample; diagram not to scale)
12
13
For now, it's necessary to edit the source code file manually to specify
14
the list of channels/modes to be received (file usrp_rx.py):
15
16
{{{
17
channels = [
18
	{'freq':435.200e6, 'mode':'c4fm',  'port':32001},
19
	{'freq':435.350e6, 'mode':'fm',    'port':32002, 'ctcss':97.4},
20
	{'freq':435.600e6, 'mode':'cqpsk', 'port':23456, 'wireshark':1},
21
	{'freq':435.775e6, 'mode':'cqpsk', 'port':32003}
22
]
23
}}}
24
25
Individual channels are defined one per line; note that all definition lines
26
except the last must end with a comma.
27
28
We choose a frequency somewhere close to the center of this band.
29
which will set the USRP's nominal receive frequency; this must also
30
be manually set in the source file:
31
32
{{{
33
center_freq = 435.500e6
34
}}}
35
36
Before running the receiver app, we
37
 * measure the current calibration error value (I use kalibrate)
38
 * determine the optimum USRP receiver gain value
39
The values used in this example are +1234 and 35, respectively.
40
41
We're now ready to start the receiver:
42
43
{{{
44
usrp_rx.py -RA -c 1234 -H 127.0.0.1 -g 35 -d 25
45
}}}
46
47
The receiver continuously monitors all four channels.  For each of the three
48
voice channels, the audio and the PTT info ("key up" and "key down" events)
49
are forwarded to asterisk app_rpt over separate UDP channels.
50
For both voice modes (IMBE and analog FM) the audio is transmitted
51
as frames over the UDP channel in Asterisk's native audio format:
52
 * 50 frames per second
53
 * 160 audio samples per frame
54
 * 8000 samples / second
55
 * signed
56
 * 16-bit
57
 * linear
58
59
 = P25 and/or analog NBFM Reception using a discriminator-tapped receiver =
60
61
One or more disc-tapped conventional receivers may be used at the same time, and can
62
coexist with one or more USRP's.
63
64
Single-channel reception is possible using disctap_rx.py.
65
This app dynmically auto-detects the modulation type (P25 or analog NBFM).
66
67
Audio and PTT events are forwarded to asterisk app_rpt over two separate UDP
68
channels, depending on modulation type (in the example below, received P25
69
audio is sent to asterisk on UDP port 32004; for NBFM, port 32005 is used).
70
71
{{{
72
 disctap_rx.py -i -A 0.05 -c 97.4 -H 127.0.0.1 -p 32004 -g 35 -d 25
73
}}}
74
75
The -g (gain) parameter is used to set the proper audio gain level.  See
76
the hardware page for further guidance - this value is important for achieving
77
correct operation.
Add picture from clipboard (Maximum size: 48.8 MB)