ARGO   a QRSS Viewer by I2PHD & IK2CZL

Version 1, build 134                     May 11th, 2003

Change History at the end.

Legal disclaimers at the bottom, after the Change Hystory,
where they belong.  

Argo is program for viewing QRSS signals, i.e. very
slow CW, or DFCW signals, i.e. slow CW where dots and
dashes are of the same length, but offset in frequency
by a few Hertz, or even a fraction of an Hertz.

The name Argo is taken from that mytical ship which,
with the Argonauts on board, headed to Colchis,
in the quest for the Golden Fleece, much like the LF 
Hams are in search of that fraction of dB of S/N which 
will allow them to make that elusive QSO.

INSTALLATION
------------

If you are reading this, probably you have already
expanded the archive. If not, just execute it, it is
a self expanding file. Give the target directory name  
when asked. That's all, no files are copied to the
Windows directory, in blatant unrespect for the rules
set forth by some Bill.

At this point execute ARGO.EXE in the target directory.
From the main menu choose Setup | Select Input | Real Time Input
The Windows mixer panel should now open. Depending 
on your sound card it will open directly at the
Recording Control subpanel, or at the Playback 
subpanel (which may be labelled differently).
In this second case, choose Options |  Properties
then Recording.
In the recording panel choose which input you want 
to use, and the relative level.  That's all.
If you have other soundcard programs that work with
your current configuration, probably you don't have
to modify anything. 

RUNNING IT
----------

The usage should be quite intuitive. The Start button
starts the spectrogram. The Mode menu choice allows to
set the viewing mode to NDB, 3, 10, 20, 30, 60, 90 and 120 sec/dot, 
to select or deselect the full band viewing, the length
of the time ticks (short or full stroke),
and to choose which spectral estimator to use for the
color mapping in the spectrogram. A few words on this.
The default is 'Magnitude', i.e. the so-called
'Voltage Spectrum'. 
You can also choose 'Magnitude Squared', the so-called 
'Power Spectrum'.
Which one to choose is up to you. The magnitude gives 
a less marked contrast, and maybe is more useful when
searching for a signal all over the band. When you have
found one, try to select magnitude squared, and perhaps
to readjust the two sliders marked Sensitivity and 
Contrast, to make the wanted signal to better stand 
out from noise.

The NDB mode has been added since build 130, to try to
visualize a slow CW (not QRSS) like that used by the 
NDBs. When using NDB mode, most probably there will be a 
need to readjust the AGC, Sensitivity and Contrast settings
for a better viewing. Experiment with this, I found that 
the Low setting for Visual Gain works better (in my case...).

The Speed menu choice allows to set the spectrogram
refresh speed to Slow, Normal or Fast.

If you click on the spectrogram, the behaviour depends
on the mode you are in.

If in Full Band View, the display will change from 
vertical to horizontal, centered at the chosen frequency,
keeping the last resolution used.

If you are already in the horizontal display mode, the 
chosen frequency will be simply brought at the center 
of the range.

If you do a right-click, the mode toggles between full band view
and the currently selected dor mode, without changing the
center frequency.

When you just hover the mouse on the spectrogram, the 
frequency corresponding to the mouse position will be 
indicated, together with its relative signal strength.

The 0 dB reference level can be selected between the
magnitude of a monochromatic signal that would just saturate 
the ADC of the sound card, or the magnitude of a signal 
arbitrarily selected with the mouse.
The relative magnitude displayed near the peak frequency 
is however always referred to the ADC full scale.

When in full band view, the frequency spans from 0 to 2756 HZ,
thus covering all of the 136 kHz band. 
Just click the left mouse button when on the upper 
frequency scale and, keeping the mouse button down, drag left
or right the scale to see the desired portion.

When exiting from the program the current settings will be saved
in the Registry, and restored at next start.

Additionally, you can save the current settings under a given 
name, and reload them in a subsequent session. Thus you can have 
multiple settings, for each favorite listening mode.

A small square just on top of the level bar indicates with its
color (green or red) whether the CPU is overloaded. No harm
is caused by overloading, just the screen refresh speed
becomes slower and some information is lost.
 
The Visual Gain panel has three choices, AGC, Low and High.
They refer to the type of processing done when mapping between
signal magnitude and saturation of the spectrogram.
The spectrogram works in the HSV color space, where H has been
arbitrarily chosen by me as a pleasant (!) blue, V is always 1
and S is the output of the non-linear mapping algorithm.
The AGC choice does not refer to the AGC function 
that some sound cards have. Instead it makes the mapping
above mentioned between the spectrum values and the color
saturation on the waterfall such that it depends only on the 
ratio between the instantaneous value and the low quartile
boundary increased by 3 dB, which is a good representation
of the current noise level (thanks to Andrew Talbot G4JNT, 
for this idea).
With AGC off, the absolute value of the current spectrum
sample is used instead, with a fixed gain selected between
Low and High.
The net effect of having AGC on is to make the waterfall
largely independent of the input audio level (of course
within limits...). Try for yourself.

CAPTURE
-------

The program has a builtin facility for capturing its
window to a disk file, at timed intervals.
To activate it, choose Capture | Setup from the 
main menu, to specify the radix of the capture files.
The program will use this radix, adding a 5-digit 
progressive suffix. Then you will be asked for the
number of seconds of interval between each capture.
With a very fast PC you can even say 1 second, but
better not...  There is a maximum value of 99999 seconds,
more than one day (should suffice...).
If you press the "Compute screenfull time" pushbutton,
the program will automatically compute the time interval
to specify to have a capture every full screen of data
(actually a bit less, so to give a bit of overlap).
This is done using the current settings. If you change 
the speed or the mode, you have to recompute it.   

Then choose the format, JPEG or BMP. A BMP image will
take slightly more than 1 MByte, while a JPEG image
usually is in the order of 100 kByte, so use JPEG
unless you know in advance that you will not be able 
to process this format.

A note here : when capturing in JPEG format, if your
PC is set for 256 colors only, some artifacts may be
seen in the captured image. For optimal results, with
JPEG set your Windows for more than 256 colors.

The Start and Stop choices in the Capture menu speak
for themselves.
The Start choice is enabled only after having specified the
capture parameters.
The Capture Now choice take a snapshot of the screen 
when pressed.

The screen capture, starting from build 123, works also if
the Argo window is covered by anoher window, or if a screen 
saver is active. What happens is that Argo will pop out
for a fraction of second, the capture is done, then the 
previos window, or the screen saver, is given back the focus.

WAVE FILE READ/WRITE
--------------------

Argo can save the incomig audio to a standard Wav file, which 
then can be used as input, instead of the sound card.
Argo uses three sampling rates when reading from the sound card :
22050 in the NDB mode,  11025 in Full Band View mode and
5512 in the horizontal mode, from 3 to 120 sec/dot.
Wave capture is done exclusively at 5512 Hz, so the capture is
enabled only when this is the sampling rate in use. When
capture is started, any attempt to change the mode that would
modify the sampling rate is rejected.
Wave recording can be Paused, Resumed or Stopped using a couple
of buttons that will appear when recording has been activated.

To read from a Wave file instead of the sound card, on the action
bar click on Setup | Select Input | Open Wave File...
and then specify the filename. Must be a single channel, 5512 Hz
.wav file, as saved by the wave save function of Argo, or by 
another program. When Wave file playback is running, there will 
be no possibility to do a mode change that would cause a 
different sampling rate. Wave write is still enabled, so you 
can transfer a portion of a Wave file to another new file.
During Wave playback a couple of radiobuttons is visible on the 
top of the screen, that will allow to choose between Normal Throttle
and Full Throttle. In Normal Throttle mode, the spectrogram will 
have a timing similar to real time capture. 
In Full Throttle mode, the spectrogram will flow at the maximum 
speed that the hardware of your PC will allow. 
For this reason, in Full Throttle mode the timing ticks are disabled.  
  

LOGGING
-------

Starting from build 127, Argo has a couple of logging features :

- Serial Log : 
The frequencies of the ten strongest frequency components are
output to COM1 or COM2 (selectable), sorted in decreasing magnitude order.
This can be used for FDK experiments, or for DFCW outboard decoding.
The serial speed is fixed at 9600 bit/sec, no parity, 1 stop bit.

The format is the following :

   the string    'FDKDATA '   (8 bytes)
   time stamp,   HH:MM:SS     (with or without the AM/PM indicator, 
                               depending on your locale settings)
   ten binary words, with the frequencies in Hz of the ten strongest
   peaks, sorted in decreasing magnitude order.


- File Log : the magnitudes of all the bins displayed in the current running
mode are logged to a file, with a comma-delimited format, useful to be
imported in, let's say, Excel or Access. The file name and the logging
interval are selectable, and each snapshot is time-stamped.

The format is the following :

   time stamp, of the form "DD/MM/YY HH:MM:SS" (again the exact format 
                           depends on the locale settings)
   starting frequency (float format)
   frequency increment between consecutive values (float format)
   number of values (integer format)
   N values, where N is given by the field before (float format)

All the fields are separated by a comma. As an example, here following is the
beginning of an actually logged row :

"08/04/01 11:32:53",18.842,2.691650,560, 524.19,1113.27,1382.22,......etc. etc.
      

-----------------------------------------------------------------

Don't know what else to say, the program is so simple
to use that no other explanations should be needed.

In case you have doubts, questions, requests for
enhancements, etc. send me an email at :

       dibene@usa.net    or    i2phd@qsl.net

Alberto di Bene,     I2PHD
