Hi Greg,

Greg Maxwell wrote:
> 
> Hamish Moffatt wrote:
> >
> > On Sun, Nov 21, 1999 at 12:04:55PM -0500, Greg Maxwell wrote:
> > > Another way to look at this is that you have a maximum symbol rate of
> > > 44100/s.
> >
> > 22050/s, I believe.

Look at it like this:
You theoretically could sample 44.1KSymbols/sec, but that would require
the software demodulator to tell the soundcard ADC _when_ to sample the
signal. However, usually the conversion process is controlled by an
on-board
crystal oscillator.
Thus you need to do at least 2 times physical oversampling,
interpolating
the signal using a fractionally spaced FIR filter to an oversampling
ratio
of at least 16 to guarantee a sufficiently small clock recovery PLL
phase
shift resolution. We wanna sample the eye at the position where it is
maximally opened, right?

> > > With normal QAM64 (I think the linmodem code implimentes this) you pack
> > > 6bits/symbol, giving a raw datadate of 33075bits/s.
> > >
> > > So I don't think the rate is the limiting factor. :)
> >
> > Well, it does mean you can't scale infinitely.
> 
> True. But it should be possible to do MUCH more then 9600.. :)

Note that for QAM modulation you need I/Q modulation and linear TX and
RX
signal paths (due to non-constant envelope). This is non-trivial to
implement,
you would effectively have to build a SSB-like transceiver system.
You could, however, use a higher-order FSK modulation (4FSK or even
higher
that is). This was already done in software on DSP evaluation systems
(see http://dl0td.afthd.tu-darmstadt.de/~dl8aau). Anyway, you will find
out that even this is non-trivial. The horizontal width of the RX eye
pattern
gets *very* small which makes clock recovery even more difficult than it
al-
ready is with 4FSK (we can�t simply search for zero crossings any more
now).
In addition to this experiments proved that this modulation scheme is
very
dependent on non-linear-distortion-less channel (frequency offset etc?).
Oh yeah, I forgot, you will have to use an AGC or something to
auto-adjust
the RX signal level and find the window ranges. It is not that all this
requires
too much processing power, but I am afraid, it is only suitable for
full duplex (e.g. interlink) channels.

As I said some weeks ago, we *really* ought to design a new mac protocol
for this kind of stuff. We could use syncronization preambles to help
clock recovery a bit and integrate FEC negotiation. That way, we could
support
those more-complicated modulation schemes on half duplex (user access)
channels.

> I imagine that we could manage to use a higher order QAM if we shoved in
> enough forward error correction. :)

See above.
By the way, if you know somebody who can read german, also take a look
at my paper about the new FSK modem at
http://dl0td.afthd.tu-darmstadt.de/~dg1kjd .

  -- Jens

Reply via email to