On 02/03/13 09:41, Stuart Longland wrote:
> Indeed. I thought a bit more about it; I'm effectively trying to pump a
> 20kHz into a phase modulator. This might be a bit quick for a carrier
> of ~1600Hz. I'm not sure what the limits are here.
Well, I had a closer look into this. I wasn't quite sure what would
happen if something like the above was attempted. In particular, I
wanted to find out if there was some maximum symbol rate that a carrier
at any given frequency could support.
I constructed a simple test which just modulates a clock signal, so a
constant stream of 1's and 0's.
I feed this into a BPSK modulator, then interpolate and pulse-shape the
output of this to get the in-phase and quadrature components which I
then modulate onto a carrier.
I pass this through a 3rd order Butterworth band-pass filter between
500Hz and 2kHz; I figure this is a reasonable approximation of the audio
filtering in a transceiver.
This goes over a AWGN channel, then is filtered again with the same
Butterworth filter at the receiving end.
I de-modulate the carrier, pass it through a matched filter, grab each
symbol then pass that to a BPSK demodulator.
The end result is compared both to the original pulse train, and the
inverted pulse train. This is because of phase ambiguity.
This test is repeated for different SNR values, carrier frequencies and
symbol rates. It seems that, for a given frequency, a carrier will have
an optimum symbol rate independent of the SNR.
Under no-noise conditions; only band-pass filtering, I see carriers that
are on the edge of the band-pass window suffer bit error issues, but the
others are mostly fine. Above 400 symbols per second however, and bit
error rates for carriers below 400Hz hit the roof.
Add some noise in, and anything out side the band-pass window suffers
greatly as you'd expect. The unexpected finding here was that some
combinations of frequency and symbol rate work really well and others
work poorly.
There is a harmonic relation to this, which when you think about it,
makes sense, if the symbol is synchronised with the zero-crossing, it
has less impact on the carrier.
With a 3dB SNR, carriers between 1.2kHz and 1.8kHz still achieve bit
error rates below 10% for symbol rates up to 200 baud. There are other
examples that just don't make any sense.
I'm not certain how to resolve the phase ambiguity in the detection, and
this could be part of what's going on. I think more research is in
order. I've attached the script that I've been using, as well as two of
the graphs produced. Maybe I've made an obvious blooper, or perhaps
there's something in this?
Regards,