
Introduction
************


The program (which is at an early stage of development) uses the SB16
soundcard for an interesting new mode of communication.

For transmission the DSP section of the SB16 is used to send a dot matrix
of up to 7 simultaneous tones representing vertical slices of an alpha-
numeric character scanned left to right.

For reception the DSP section of the SB16 samples the incoming audio.
The samples are passed to a FFT routine and the analyses are sequentially
displayed on a waterfall display that runs left to right, and with suitably
chosen parameters the information literally self decodes.

The hope is that this could be a very sensitive and robust means of
communication and, in slower forms, could be extremely sensitive.

The program is a DOS development but will run from Windows when expanded to
full screen. There will be losses in the timing but the transmission method
is so tolerant that these are not a factor.

The Program
***********

The program is written in Turbo C and is very much a DOS program, however
one of the advantages of the method is that the timing requirements are
virtually nil and the program has been found to run well under Windows95.

The program needs the Borland EGAVGA.BGI file to be present in the same
directory and in operation saves a number of parameters in a file called
DEFAULT.TXT. This latter file is created when the program is run for the
first time and new users should ensure that there is not such a file present.


Connections
***********

The audio input should be fed to the MIC socket of the SB16, and the audio
output to the SSB Tx should be taken from the SB16 line out (the O/P audio
is fed to both connections).


Running the program
*******************

The program displays an old fashion menu:

Menu Option 1
*************
This is most important and should be run first as it gives an 'oscilloscope'
display of the input and is vital for correct level setting.

Note that the SB16 will not 'limit' in the way that an op-amp will and it
is vital that the amplification circuit is not overloaded. The mic gain
can be adjusted from option 1 and the AGC which is available on the mic
input can be toggled on and off frome here. I use the AGC ON most of the time.

Menu Option 2
*************
This is the actual waterfall display and the most complex part.

The number of samples used in the FFT analyses is most important and can be
varied from 32 up to 2048 by keying in + or -. Fewer samples means low
resolution and high speed whereas more samples means the opposite. For sample
numbers above 1024 the resolution means that the full display cannot be
accomodated and is split into frequency ranges which can be toggled through
using D/d. More samples also means many more calculations and you may exceed
the computing power of your PC. A 486 will soon start to run out of wind
especially one without a maths co-processor. 

There is a facility called 'array factor' which can be toggled through
settings 1 to 4, and by this means a fraction of the input data may be
changed for each FFT. Thus at 1 the whole array is changed each time, whereas
for setting 2 a half is changed and a quarter or an eighth for 3 and 4
respectively. The higher array factor settings coupled with the higher
resolutions may set demands on the CPU that cannot be met. This facility
is vital for meaningfully catching short tone bursts.  

There is a window function for toggling through 'None', 'Hanning' or
'Blackman-Harris' using W/w. The window function removes the spurii generated
by cutting of sine waves in mid swing and I almost universally use Hanning.

The display can be toggled between scanning top to bottom and bottom to top
by keying U/u. This gets over the problem of inverted text when using LSB.


The display response can be linear or logarithmic and in each case the slope
and threshold may be varied using F keys. Some playing with this facility
will be necessary for familiarisation.

The received level can be displayed via a colour or grey scale and toggled
between the two using G/g. There are only 16 levels displayed as the author
does not have access to a 256VGA.BGI.

The picture may be saved by keying F10. This takes a few seconds and the
program stops while it is done, this being denoted by a 'beep'.

To leave the facility press ESC. You must do this to go to transmit for
instance.

Menu Option 3
*************

Using this, any pictures saved by using F10 in option 2 may be displayed.
This is a crude option and displays files FSX.PIX where X is 0 to 9. To get
rid of unwanted savings the file(s) must be deleted off line and the
remaining ones renumbered to make an unbroken sequence. It is possible
when running under Windows and when not in DOS full screen mode to press
ALT/PrintScreen and get the picture on to the clipboard from whence it may
be pasted into suitable software such as PAINT.

Menu Option 4
*************

When first starting the program you will be prompted for your callsign.
Keying this option results in the callsign being sent in CW at around 12 WPM
thus enabling license conformation with such an experimental mode.

Menu Options 5 and 6
********************

Keying these enables transmit in fast and slow MTHell modes respectively.
There is a buffer denoted by the coloured bar across the screen and this
will be filled and emptied as data is typed in and sent. Some elementary
correction is possible via backspace. In the slow mode, there will be
delays as the data builds up in the type ahead buffer but cannot be fed into
the screen display until the current letter is sent. Data exceeding the
length of the screen buffer will be lost. 

I have now put in a tune up facility which allows the master gain to be
adjusted whilst a test signal containing all 7 pixels is sent. Please be
aware of the massive level of swings between parts of letters such as T when
only one pixel is sent or all 7 in the vertical part. Very careful observation
of ALC and/or output power levels will be required, as all sorts of nasty 
things will happen if overloading occurs.
