
!!!!!!!!!!!!!!!! NOTE - this is alpha quality code !!!!!!!!!!!!!!!!

This package implements the NEWQPSK protocol (also known as Q15X25) as
designed and defined by Pawel Jalocha, SP9VRC. The modem is implemented as
one core executable and several libraries that are automatically loaded by
the core code.

Not all the features of the original modem are implemented as of yet but
the most important ones are. The modem has been used for real life QSOs
with performance comparable to the original modem.

Also note that the soundmodem core (kindly provided by Thomas Sailer,
HB9JNX) is an early beta version. AFAIK Thomas hasn't released this
version ever so please don't bother him with bug reports.

The components are:

  soundmodem		This is the core executable. It handles sound
			I/O and loads the libraries after consulting
			/usr/local/etc/soundmodem.conf.

  hdlc.lo		Library handling HDLC encoding and decoding.

  libdemodnewqpsk.lo	NEWQPSK demodulator library.

  libmodnewqpsk.lo	NEWQPSK modulator library.

The basic configuration is done with /usr/local/etc/soundmodem.conf. See
that file for details. Detailed configuration of the modem parameters is
done with the modemconfig.h file in this directory. These parameters are
not to be changed unless you know what you are doing... :)

Read the file INSTALL for installation instructions and a quick start
guide to get things going.

NEWQPSK FEATURES
================

  - AX.25 compatible

  - 15 carriers spaced by 125 Hz (150 Hz) modulated with DQPSK
    (differential 4-level phase shift keying) at 83.33 baud (100 baud)
    and there is an option for more levels

  - Total raw data rate 2500 bps (3000 bps)

  - Two phase preamble for frequency shift correction
    and fast symbol sync

  - Forward Error Correction: three simple schemes with different levels
    of data redundancy

  - Time/frequency diversity (interleave) to de-localize burst errors

The figures in parenthesis above are for sample rate of 9600 sps.

Note that the envelope of the transmitted signal is NOT constant. The
modulation has a crest factor of about XX dB which means that with a 100W
transmitter and a power meter that reads average power you should adjust
the output reading to about XX Watts. Exceeding this will cause clipping
that will not only cause interference to other band users but also make
copy at the other end worse.

Also keep in mind that this is a WIDE mode (about 2000...2400Hz wide). You
should be very careful not to transmit over other band users and you
should probably keep away from the narrow band digital segments.

DISCLAIMER
==========

The sole purpose for me to write this modem implementation was to learn
about DSP in general and Pawel's novel modem in particular. I'm fairly new
to DSP and this code is mostly a result of countless hours of staring at
the original Motorola 56K assembler source and banging my head against the
wall... I can't claim I understand all aspects of every detail in the
modem. There are probably misunderstandings and errors in the code and if
you spot one, please tell me. I want to learn more. Also if you have ideas
for further developement please share them with me. I have already some
ideas of my own.

-- 
Tomi Manninen, OH2BNS <tomi.manninen@hut.fi>
