logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

glfer - spectrogram display and QRSS keyer

Author

       glfer was written by Claudio Girardi <in3otd@qsl.net>

Bugs

       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

Description

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 contrast 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 scrollbar  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  connected  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.

Files

~/.glferrc
              User startup file.

Name

       glfer - spectrogram display and QRSS keyer

Options

-d,--deviceFILE
              use FILE as audio device (default: /dev/dsp)

       -f,--fileFILENAME
              take audio input from FILENAME (WAV format)

       -s,--sample_rateRATE
              set audio sample rate to RATE Hertz (default: 8000)

       -nN   number of points per FFT to N (preferably a power of 2, default: 1024)

       -h,--help
              print the help

       -v,--version
              display the version of glfer and exit

Reporting Bugs

       You  are  welcome to send bug reports to Claudio Girardi <in3otd@qsl.net>. It would be helpful to include
       with the bug description also the output of the configure script.

Spectral Estimators

glfer can use several different spectral estimators to compute the input signal power spectrum:

   Periodogram
       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.

   Multitapermethod
       The  multitaper  method  is  a  weighted combination of periodograms computed with different windows, all
       belonging to the same family and having 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.

   HighperformanceARMA
       The  (so  called)  "high  performance" ARMA model assumes that the input signal is composed only of white
       noise plus a certain number of  sinusoids  and  tries  to  extract  the  relevant  parameters  (sinusoids
       frequency and strength) 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

   LMP
       This method is experimental

Synopsis

glfer [OPTIONS] ...

Todo

       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

Version Information

       This man page documents glfer, version 0.4.2

See Also