This page develops a simple low-level tool for generating these diagrams. As a starting point, we'll assume that the original signal has been sampled and digitized and placed into a file in complex format compatible with GNU Radio. Although the GNU Radio software is required, no special hardware such as a USRP is needed to use these tools. Also, GNU Plot is required.
First we must pre-process the sample file if needed to remove any tuning (calibration) offset and to get the proper sampling rate. The rate after resampling is chosen to be a convenient multiple of the symbol rate (48,000 is used here).
$ resample.py -i samples/smiq-1011-cqpsk-d256.dat -s 250000 -o prwn-48k.dat -c -828
Two new files should result: prwn-48k.dat, and rx_fm_demod.dat, for creating the constellation and eye diagrams, respectively.
CONSTELLATION DIAGRAMSThe PI/4 CQPSK (P25) modulation scheme is shown in the constellation diagrams, whereas FSK signals were used to create the eye diagrams.
SLICING-POINT SELECTION The first set of diagrams shows the effects of varying the slicing point, that is, of varying which one out of the ten samples is selected as the symbol value. NOTE: these plots are enhanced by coloring alternate samples in red and green -- reflecting the π/4 scheme in use.
FREQUENCY TUNING (CALIBRATION) ADJUSTMENT The diagrams below show the constellation as the tuning frequency is swept from 823 through 833 Hz at 1 Hz intervals. The best value is clearly 828. Each of these plots contains 200 symbols * 10 SPS = 2,000 samples, or 1/24th sec. worth. According to theory each one Hz of mistuning would cause a spreading or smearing of these 200 symbols over a range of angular width π/12 (1/24th of a circle). A three Hz error would be π/4, which agrees nicely with diagrams 825 and 831.
|
EYE PATTERN DIAGRAMS
Probably dating before 1950, when the height and width of the eye opening were used to measure telegraph circuit error margins, eye diagrams are plots of several symbol transitions overlayed on one picture. The value plotted is the demodulated baseband (received serial data) line. The "sharp edges" of the bits are "rounded" when they exit the far end of the "pipe" [the symbols are modified by the filtering action of the channel, usually to optimize bandwidth]. The sample eye diagram (above), with 100 superimposed traces (lines), is typical. It contains all possible combinations of zeros, ones, zero-to-one transitions, and one-to-zero transitions. Horizontally, halfway between zero-crossing points is the optimum symbol slicing point, since that's where the amount of eye opening (error-rejection margin) is greatest. The next example shows four-level FSK (FSK4); that is, the symbol can take on one of four possible values, instead of two as above.
Whereas constellation diagrams require an input file in complex format, the eye plots use a demodulated (float or .WAV, etc.) input file. At the beginning (see above) we resampled the input file to an integral multiple (10) of the symbol rate (4800), and FM-demodulated it (rx_fm_demod.dat).
We now generate the eye diagram:
The result (rx_fm_demod.png) looks like this:
|