-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
179 lines (141 loc) · 7.68 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
README for glfer 0.4.2 (29 Jan 2010) by Claudio Girardi, IN3OTD
Operating
---------
*** Please note that you will need to run the program with root
*** privileges to gain access to the transmitter control (parallel or
*** serial) port; you can use sudo ('sudo glfer') for this.
glfer was designed for transmitting and receiving QRSS/DFCW
transmissions, as used by hams mainly on the 137 and 73 kHz bands.
It is composed of two main parts:
- the spectrogram window
- the TX keying functions
Almost all the program functions have their own help; just keep the
mouse pointer over a input box or on a button for more than a second
and a brief explanation will appear.
Try "glfer -h" for a list of all command line options.
The spectrogram window shows the estimated spectrum for the input
signal vs. time; input can be taken from the soundcard or from a WAV
file specified on the command line with the "-f" switch or opened
through the File/Open menu.
Starting from release 0.3, it is possible to select a spectral
estimator among several different types:
- the "classical" periodogram, which is obtained as the squared modulus
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 used 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.
- 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
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... I will
try different related methods in the future, in the hope of finding
one really useful for digging weak signals out of noise.
- LMP estimator
The spectrogram window has an automatic gain control which is enabled
by default; you can choose fixed limits for the display in the Display
options tab.
The spectrogram display can be saved as a graphics image; you can
choose to save the entire window or to select a rectangular
region to save with the mouse.
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. If you do not
hear any sound after enabling the sidetone please check that the
'pcspkr' module is loaded ('lsmod | grep pcspkr' as root); if it is
not, check that loading of that module is not disabled in
'/etc/modprobe.d/blacklist' .
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).
For the serial port, enter the serial port name in the control port
dialog (e.g. ttyS0 or ttyUSB0). Pin assignment is RTS = key and DTR =
PTT/DFCW .
For the parallel port, enter the parallel port name in the control port
dialog (e.g. lp0 or lp1). Pin assignment is DB0 = key, DB1 = PTT/DFCW .
Compiling
---------
To compile glfer, after extracting the tar archive to a suitable
directory (which you should have done already since you are reading
this...), it should be sufficient just to type
./configure
make
and at the end of the compilation you should have the executable file,
named glfer. See the file INSTALL for detailed, generic, instructions.
Please let me know of any strange warning message during compilation
or (even worse) if the compilation fails; it would be helpful to have the
configure and make outputs in a file (for example: make > log.txt 2>&1
) for a better analysis.
The first time you run glfer you will be asked to select a control
port (serial or parallel) for the TX; if your mouse is connected to
the serial port be sure NOT to select its serial port for controlling
the TX, otherwise a mouse freeze may occur. All the settings can be
saved to a configuration file; in this case they will be automatically
reloaded when glfer starts.
*** Please note that you will need to run the program as root (or suid
*** root) to gain access to the transmitter control (parallel or serial)
*** port.
The FFTW library, by Matteo Frigo and Steven G. Johnson, is not needed
to compile glfer, but will be used if available.
The FFTW library can be found at FFTW home page, http://www.fftw.org .
To adjust the soundcard input sensitivity you can use the mixer
control program installed on your system (e.g. aumixer or alsamixer)
or the mixer program, which is included in the sources and compiled
with glfer. To quickly select the line input instead of the mic input,
which is usually the default, you can just type "mixer +rec line"
The program source code contains parts derived from:
xspectrum by Vincent Arkesteijn
specgrm2 by Philip VanBaren
Geg by David Bryant
Octave files for computing the Slepian tapers by John Kuehne
Some gsl (GNU Scientific Library) files by Gerard Jungman
bell-p-w.f by Brad Bell, Don Percival and Andrew Walden
bplay by David Monro
and most of the features available in it are shamelessy copied from :
QRS by Rik Strobbe, ON7YD http://www.qsl.net/on7yd/
EasyGram by Petr Maly, OK1FIG; http://www.mujweb.cz/www/OK1FIG/136k.htm
Spectrogram by Richard S. Horne; http://www.monumental.com/rshorne/gram.html
I would like to thank all the above authors for making their nice programs
available to the ham community.
Should you have any suggestion, found one of the many bugs, want to
add some feature or to correct my english, please drop me a note.
For the latest version please check http://www.qsl.net/in3otd/
73 de Claudio, IN3OTD
Local Variables:
mode:indented-text
mode:auto-fill
End: