Dear LF Group,
I have just finished a new release of glfer, a Linux application combining a
spectrogram viewer and a QRSS/DFCW keyer. As usual, the code is released as open
source and can be downloaded from http://www.qsl.net/in3otd/glfer.html .
Main news are the possibility of reading the audio data not only from the
soundcard but also from a WAV file and the possibility to select a spectral
estimator among several different types.
This is a brief description from the README file included in the package:
The available spectral estimators are:
- the "classical" periodogram, which is obtained as the square of the
absolute value 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, which 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. Please try it and let me know how it works.
- a (so called) "high performance" ARMA model, which assumes a
certain model for the input data (in this case it assumes white
noise plus sinusoids, rather strange eh? 8-)) and tries to extract
the parameters of this model (sinusoids frequency and strenght)
from the data.
Reference article for this implementation is "Spectral Estimation:
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 a non-flatt
noise spectrum (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... I will
try different related methods in the future, in the hope of finding
one really useful for sigging weak signals out of noise.
The transmitter control part of the program is capable of keying the PA
according to the QRSS (slow CW) or DFCW modes. The transmission
timing, as dot length and PTT delay, can be freely varied. A sidetone
function can be used as a monitor for the transmission and gives also
the two (freely selectable) tones for DFCW.
The TX can be controlled through the serial or the parallel port; the
pins used for PTT and KEY are the same used also in other digital
modes programs (and also the same as in Rik Strobbe QRS), i.e. RTS =
key and DTR = PTT/DFCW when using the serial port, DB0 = key, DB1 = PTT/DFCW
when using the parallel port.
Hope you will find the program useful,
happy Linuxing on LF and
73 de Claudio, IN3OTD
--
Home Page: http://www.qsl.net/in3otd/
|