SignalScopePage » History » Version 8
max, 04/22/2017 04:04 PM
1 | 1 | max | = Signal Scope = |
---|---|---|---|
2 | |||
3 | == Installation == |
||
4 | |||
5 | 6 | max | Before running the scope app, check that the following standard pre-requisite packages are also installed: |
6 | 1 | max | * GNU Radio |
7 | * The op25 blocks |
||
8 | * Frank's gr-fsk4 block |
||
9 | * The op25 repeater block |
||
10 | |||
11 | 6 | max | The Python Numeric package is now also required. If you're running Debian or Ubuntu: |
12 | {{{ |
||
13 | apt-get install python-numeric |
||
14 | }}} |
||
15 | 1 | max | |
16 | 6 | max | Other than these pre-reqs, no special setup or installation is needed. |
17 | |||
18 | 5 | max | There are three overall options or modes depending on your hardware; these are |
19 | * USRP |
||
20 | * External receiver with discriminator tap connected to sound card |
||
21 | * External receiver with IF in the audio sound card range (e.g., 24 KHz), referred to as "audio IF" |
||
22 | 3 | max | |
23 | 1 | max | == Running with the disc-tap option == |
24 | |||
25 | The signal scope does not require the USRP. If you have a discriminator-tapped receiver, use the "-a" option: |
||
26 | 3 | max | {{{ |
27 | 5 | max | ./scope.py -a -v 25 -g 50 |
28 | 3 | max | }}} |
29 | |||
30 | == Running with the USRP == |
||
31 | |||
32 | It's helpful to find out the current calibration error beforehand (I use kalibrate), for example, +1234 hertz: |
||
33 | {{{ |
||
34 | 1 | max | ./scope.py -f 412.34e6 -RA -g 65 -c 1234 -v 25 |
35 | 3 | max | }}} |
36 | 1 | max | |
37 | 5 | max | == Running in the Audio IF mode == |
38 | 1 | max | |
39 | 5 | max | Receivers equipped with an IF output in the sound card range can be used. This is known as "audio IF" mode. |
40 | A soundcard sampling rate of 96K is used and the IF frequency (typically 24 KHz) is given using the {{{--calibration}}} parameter: |
||
41 | |||
42 | {{{ |
||
43 | ./scope.py -A -c 24e3 -g 50 -v 25 |
||
44 | }}} |
||
45 | |||
46 | 4 | max | == Feature overview == |
47 | |||
48 | * Spectrum plot |
||
49 | * Baseband oscilloscope |
||
50 | 1 | max | * Eye Pattern Diagram (Datascope) display supporting several standard symbol rates |
51 | 4 | max | * Constellation Diagrams |
52 | * Demodulated Symbol Output |
||
53 | 6 | max | * Correlation (including Fast Auto-Correlation) |
54 | 1 | max | * Direct-frequency entry, signal gain and fine-tuning controls |
55 | * User-selectable demodulator (FSK4 or QPSK) |
||
56 | 5 | max | |
57 | In the USRP and audio-IF modes, several additional program functions are enabled (spectrum FFT, constellation diagram, PSK demod, and iDEN correlation). |
||
58 | |||
59 | In all modes, the {{{--wireshark}}} option is used to write received P25 packet data to Wireshark. |
||
60 | 4 | max | |
61 | == Spectrum Display == |
||
62 | |||
63 | [[Image(a.png)]] |
||
64 | |||
65 | The controls arranged along the bottom of the page are: |
||
66 | * Frequency: to retune, type the new frequency here and press ENTER |
||
67 | * Signal Gain: adjusts the baseband (demodulated) signal level |
||
68 | * Fine Tune: adjusts tuning frequency over +/- 3000 Hz range |
||
69 | * Demod: Selects demodulator (currently used in Demodulated Symbols only) |
||
70 | Except for the signal gain control, these controls are only available in USRP RX mode. |
||
71 | |||
72 | == Eye Pattern Diagrams == |
||
73 | |||
74 | The scope input source can be connected either before or after the symbol filter using the Viewpoint toggle. |
||
75 | |||
76 | Also the proper speed must be selected from the available options. |
||
77 | |||
78 | [[Image(b.png)]] |
||
79 | |||
80 | == Constellation Diagram == |
||
81 | |||
82 | 7 | max | [[Image(f.png)]] |
83 | |||
84 | The signal scope also features an angular population graph (shown above) in addition to the traditional constellation display. |
||
85 | In this mode the symbol magnitude (distance from center) is discarded. Instead the circle is sliced into segments and a count |
||
86 | of symbols found in each segment is plotted. This is similar to a histogram except that a straight line is drawn between each |
||
87 | result, and that the results are arranged in polar form instead of rectangular form. |
||
88 | |||
89 | 8 | max | With this display, the zone at the exact center of the plot can be used precisely to measure the degree of separation or margin |
90 | between the symbol decision points. The plots below illustrate the difference, with poorer convergence showing on the left image: |
||
91 | 1 | max | |
92 | 8 | max | [[Image(mhp7a.png)]][[Image(c.png)]] |
93 | |||
94 | The two-color mode is used in these images, providing natural relief to highlight the distinctive feature of π/4 DQPSK in which |
||
95 | successive symbols are chosen from two distinct constellations (each containing four possible symbol values) separated by 45° |
||
96 | |||
97 | 4 | max | == Demodulated Symbols == |
98 | |||
99 | [[Image(d.png)]] |
||
100 | |||
101 | 1 | max | == Correlation == |
102 | |||
103 | [[Image(e.png)]] |
||
104 | 8 | max | |
105 | Also included is Frank's Fast Auto Correlation (fac): |
||
106 | |||
107 | [[Image(g.png)]] |
||
108 | |||
109 | == BUGS == |
||
110 | |||
111 | Possibly bugs exist, here are a few of the known ones as of this writing |
||
112 | * Symbol filters totally brain damaged (need separate filters for each speed) |
||
113 | * When switching modes using the notebook tabs, leftover data from before may appear momentarily |
||
114 | * Highest and lowest speeds are not well tuned resulting either in sluggish updates or CPU exhaustion |