Hi Markus and all,
Does that mean you have to do two million 960-point correlations per receive
block to fill it?
No, the complex baseband signal is "despread" in 960 positions by multiplying by
the
shifted reference pattern. When the correct shift is chosen, the result should
be
a carrier (of unknown frequency and phase). An FFT is done on each despread
result,
and the magnitude from each bin is added into the pm array.
While much faster than the brute force approach, this is still pretty slow and
accounts for most of the run time. That would be greatly reduced in a system
with time sync. Even if the clocks were set manually and the system had to
search +/- 1 second, it would still save about 98% of the FFTs. The Viterbi
decode would be the biggest remaining computation hog; I would guess that the
total processing time would be 1 to 2 seconds per block.
Without time sync, one could still improve by perhaps a factor of four, by
replacing the naive FFT function with a professionally written one, such
as FFTW or the Intel SPL. Those packages have some licensing restrictions
which would then apply to WOLF. IMO, it would not be a problem for
typical ham uses.
73,
Stewart KK7KA
|