SignalScopePage » History » Revision 10
« Previous |
Revision 10/30
(diff)
| Next »
max, 04/22/2017 04:04 PM
= Signal Scope =
InstallationBefore running the scope app, check that the following standard pre-requisite packages are also installed: * GNU Radio * The op25 blocks * Frank's gr-fsk4 block * The op25 repeater block
The Python Numeric package is now also required. If you're running Debian or Ubuntu:
{{{
apt-get install python-numeric
}}}
Other than these pre-reqs, no special setup or installation is needed.
There are three overall options or modes depending on your hardware; these are * USRP * External receiver with discriminator tap connected to sound card * External receiver with IF in the audio sound card range (e.g., 24 KHz), referred to as "audio IF"
Running with the disc-tap optionThe signal scope does not require the USRP. If you have a discriminator-tapped receiver, use the "-a" option:
{{{
./scope.py -a -v 10 -g 50
}}}
It's helpful to find out the current calibration error beforehand (I use kalibrate), for example, +1234 hertz:
{{{
./scope.py -f 412.34e6 -RA -g 65 -c 1234 -v 10
}}}
Receivers equipped with an IF output in the sound card range can be used. This is known as "audio IF" mode.
A soundcard sampling rate of 96K is used and the IF frequency (typically 24 KHz) is given using the {{{--calibration}}} parameter:
{{{
./scope.py -A -c 24e3 -g 50 -v 10
}}}
In the USRP and audio-IF modes, several additional program functions are enabled (spectrum FFT, constellation diagram, PSK demod, and iDEN correlation).
In all modes, the {{{--wireshark}}} option is used to write received P25 packet data to Wireshark.
Program OptionsHere is a full list of program options:
{{{
Usage: scope.py [options]
Options:
-h, --help show this help message and exit
-a, --audio use direct audio input
-A, --audio-if soundcard IF mode (use --calibration to set IF freq)
-I AUDIO_INPUT, --audio-input=AUDIO_INPUT
pcm input device name. E.g., hw:0,0 or /dev/dsp
-i INPUT, --input=INPUT
input file name
-b Hz, --excess-bw=Hz
for RRC filter
-c Hz, --calibration=Hz
USRP offset or audio IF frequency
-C Hz, --costas-alpha=Hz
value of alpha for Costas loop
-f Hz, --frequency=Hz
USRP center frequency
-d DECIM, --decim=DECIM
source decimation factor
-v VERBOSITY, --verbosity=VERBOSITY
message debug level
-p, --pause block on startup
-w, --wireshark output data to Wireshark
-W WIRESHARK_HOST, --wireshark-host=WIRESHARK_HOST
Wireshark host
-R RX_SUBDEV_SPEC, --rx-subdev-spec=RX_SUBDEV_SPEC
select USRP Rx side A or B (default=A)
-g GAIN, --gain=GAIN set USRP gain in dB (default is midpoint) or set audio
gain
-G GAIN_MU, --gain-mu=GAIN_MU
gardner gain
}}}
The controls arranged along the bottom of the page are:
* Frequency: to retune, type the new frequency here and press ENTER
* Signal Gain: adjusts the baseband (demodulated) signal level
* Fine Tune: adjusts tuning frequency over +/- 3000 Hz range
* Demod: Selects demodulator (currently used in Demodulated Symbols only)
Except for the signal gain control, these controls are only available in USRP RX mode.
The scope input source can be connected either before or after the symbol filter using the Viewpoint toggle.
Also the proper speed must be selected from the available options.
Constellation DiagramThe signal scope also features an angular population graph (shown above) in addition to the traditional constellation display.
In this mode the symbol magnitude (distance from center) is discarded. Instead the circle is sliced into segments and a count
of symbols found in each segment is plotted. This is similar to a histogram except that a straight line is drawn between each
result, and that the results are arranged in polar form instead of rectangular form.
With this display, the zone at the exact center of the plot can be used precisely to measure the degree of separation or margin
between the symbol decision points. The plots below illustrate the difference, with poorer convergence showing on the left image:
The two-color mode is used in these images, providing natural relief to highlight the distinctive feature of π/4 DQPSK in which
successive symbols are chosen from two distinct constellations (each containing four possible symbol values) separated by 45°
Cross correlation allows rapid identification of signals with known characteristics. Frame Sync (FS) signatures of several commonly
used radio systems are included.
By convention correlation results are usually displayed using positive correlation peaks only. In this system
however it is possible (and legal) for negative correlation products to be produced. This can occur for two wholly separate reasons:
* If the hardware polarity is inverted
* When the FS symbols are purposely inverted as an integral part of protocol processing (commonly used in certain protocols but not used in P25)
The first case commonly happens when using the disc-tap method of hardware connection, because the actual polarity of the signal seems to vary
randomly among different sound cards and receivers. In one actual case, two PC's of the same PC brand bought from the same store had opposite polarity.
The P25 software framer automatically detects the proper polarity and issues a message if negative polarity data is received:
{{{
Reversed FS polarity detected - autocorrecting
}}}
The automatic correction applies only to software framing and doesn't help with correlation. For correct results for both software framing and
correlation, you should correct the polarity reversal problem at its source; this is done using negative values for the {{{--gain}}} parameter at
program start time:
{{{
./scope.py -a -v 10 -g -50
}}}
The second cause of negative correlation peaks is that some protocols (although not P25) make use of both normal- and inverted-polarity FS
sequences as a standard part of their processing. Instead of clogging the GUI menu with several choices that are merely inverses of others,
just for the sake of always having positive-peaked correlations, we allow the correlation graph to reflect the natural polarity of the data.
Thus both + and - peaks are shown, allowing quick diagnosis of incorrect hardware polarity (see above), and allowing identification of the
particular sub-protocol in use.
Also included is Frank's Fast Auto Correlation (fac):
For further details about Fast Auto Correlation refer to Frank's page at http://sites.google.com/site/radiorausch/
BUGSPossibly bugs exist, here are a few of the known ones as of this writing * Symbol filters totally brain damaged (need separate filters for each speed) * When switching modes using the notebook tabs, leftover data from before may appear momentarily * Highest and lowest speeds are not well tuned resulting either in sluggish updates or CPU exhaustion
Updated by max about 7 years ago · 10 revisions