Joe VO1NA wrote:
> I really messed up the encoded file but ebnaut
> still gave the callsign and cat's name. Amazing,
> isn't it!
Even though I vaguely understand how it works I always find
it fascinating to see.
By flipping bits in test.txt you are adding binary noise, and
the input of 0's and 1's to the decoder effectively forces
hard decisions on the signal bits. The decoder does much
better with a real signal and Gaussian noise, gaining 3dB by
making soft decisions on the analog samples and another 3dB
through coherent detection.
Given a very weak signal, the demodulator will get about 50%
of the signal bits correct purely by chance. The decoder will
handle up to about a 35% or 40% bit error rate. So the weak
signal itself only has to supply about 10% or 15% correctly
demodulated bits. The signal is biasing the random noise in
the right direction just enough to raise a 50% random success
rate to about a 60 or 65% rate and the decoder does the rest.
> the Rpi B takes forever to decode an uncorrupted file.
> The university unix machine took several seconds.
I've never tried it on the RPi, so that's a first. If you
have more than one CPU a -c option will tell the decoder how
many cores to use, eg -c4 on a quad core Model 2 RPi.
> I'll be on 477.7 for the next 2 days and will get back
> to work on this with the tips from you and Markus.
Suits me. The pre-amp is in pieces right now and I'm
working on improvements to the timing system which is looking
a lot better. Currently getting 3 degrees RMS phase jitter
at 137kHz which is about 60nS worth. Not bad for a low cost
GPS and ancient BT878 video card.