GLFER(1) General Commands Manual GLFER(1)
glfer - spectrogram display and QRSS keyer
glfer [OPTIONS] ...
glfer is a program that displays the power spectrum of a signal as a function of time in a format known as a waterfall display; this is
also called a spectrogram. The horizontal axis represents time. The time scale depends on the sample rate and the number of points per
FFT. The vertical axis represents frequency, from DC to the Nyquist frequency (half the sample rate). The estimated power of the input
signal is indicated by the color; the spectrogram window has an automatic gain control (AGC) that ensures always the maximum visual con-
trast and which, in the current version, cannot be disabled.
Resizing the main window in the horizontal direction just changes the length of the time scale; resizing it in the vertical direction
enlarges the portion of spectrum shown in the window. The entire spectrum can be seen by scrolling the spectrogram window using the scroll-
bar on the right. Moving the mouse pointer on the spectrogram window shows the frequency corresponding to the pointer position and the
signal power at that frequency on the status line at the bottom.
The first time glfer is run it will ask to select a control port (serial or parallel) for the TX keying functions; if the mouse is con-
nected to the serial port be sure NOT to select its serial port for controlling the TX otherwise the system may hang. All the settings can
be saved to a configuration file; in this case they will be automatically loaded when glfer is launched.
Please note that the program must be run as root (or suid root) to gain access to the transmitter control (parallel or serial) port.
You may have to use a separate mixer program to adjust the input volume and to enable the desired input.
glfer can use several different spectral estimators to compute the input signal power spectrum:
the "classical" periodogram, which is obtained as the squared amplitude of the discrete Fourier transform, after tapering the data with a
"window function" selectable among the Hanning, Blackman, Gaussian, Welch, Bartlett, Rectangular, Hamming and Kaiser types. As usual, the
FFT number of points and the overlap between data blocks can be freely changed.
The multitaper method is a weighted combination of periodograms computed with different windows, all belonging to the same family and hav-
ing certain peculiar properties.
This method was described by David J. Thomson in "Spectrum Estimation and Harmonic Analysis", Proc. IEEE, vol.70, Sep. 1982. Besides the
FFT size and overlap, it is possible to change also a relative bandwidth parameter and the number of windows to use for the analysis.
This method requires more CPU power than the first one, due to the fact that several FFTs are performed on the same block of data, using
different windows. The resulting spectrum is similar to a classical periodogram, but with much less variance (i.e. less variation in the
background noise [speckle]). Performances are also similar to the periodogram, maybe it makes detection of QRSS signals a little easier,
but this doesn't means they are always more readable.
High performance ARMA
The (so called) "high performance" ARMA model assumes that the input signal is composed only of white noise plus a certain number of sinu-
soids and tries to extract the relevant parameters (sinusoids frequency and strenght) from the data.
Reference article for this implementation is "Spectral An Overdetermined Rational Model Equation Approach", by James A. Cadzow, Proc. IEEE,
vol.70, Sep. 1982.
At present this method is still experimental. There are two parameters that can be varied: t is the number of samples used for computing
the samples autocorrelation and p_e is the order of the AR model. This latter must be less than t, and both number should be fairly small
in order not to overload the CPU. The number of sinusoids is estimated autimatically from the samples autocorrelation. Use the default
numbers as a starting point and experiment! Unfortunately this spectral estimator performs poorly with non-white noise (as we have usually
in the RX audio, due to the IF filters) and high noise levels. On the other hand it provides a very good visual SNR with signals not buried
in the noise
This method is experimental
-d, --device FILE
use FILE as audio device (default: /dev/dsp)
-f, --file FILENAME
take audio input from FILENAME (WAV format)
-s, --sample_rate RATE
set audio sample rate to RATE Hertz (default: 8000)
-n N number of points per FFT to N (preferably a power of 2, default: 1024)
print the help
display the version of glfer and exit
User startup file.
There was some report of problems in the audio acquisition routine, it seems that some audio card/driver don't work well with select; this
needs further investigation
Maybe the Spectrogram should scroll as in other programs, all the picture moving right to left
Jason decoder (in progress)
Spectrogram speed independent of FFT size
This man page documents glfer, version 0.4.2
glfer was written by Claudio Girardi <email@example.com>
You are welcome to send bug reports to Claudio Girardi <firstname.lastname@example.org>. It would be helpful to include with the bug description also the
output of the configure script.
Copyright (C) 2010 Claudio Girardi <email@example.com>
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MER-
CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Version 0.4.2 January 2010 GLFER(1)