
!!!!!!!!!!!!!!!! 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	Demodulator library.

  libmodnewqpsk.lo	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
================

  - 15 carriers spaced by 125 Hz (150 Hz) modulated with DQPSK
    (differential 4-level phase keying) at 83.33 baud (100 baud)
    and there exist 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: two 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.

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>
