std::bitset can be used only with compile time known size. Most of the flowgraphs take the shift register size as a parameter through the GRC so it cannot be used. This commit implements a shift register using the std::deque that supports arbitrary number of memory stages
This commit implements a new approach for the BPSK AX.25 decoding. It
seems that the GNU Radio equalizers (both CMA and LMS) are not ideal for
bursty transmissions. After they loose 'lock', they tend to converge
quite slow again.
The equalizing problem is again solved using an AGC2 block. However, the
placement of this block is quite critical. In older versions the AGC was
placed several steps after resampling and filtering. This resulted to
poor equalization and noise increase. Now the AGC is placed as early as
possible when the signal has a large span.
Some distros do not contain the GrVersion.cmake module so the git
version can be applied into the gr-satnogs version reporting script.
This commits adds this module into the project, so the build system can
use it during project configuration.
The new BPSK decoder uses a blind equalizer in par with an LMS based
equalizer. Both of them adapt more quickly in the channel response than
the AGC.
The decoder supports baudrates up to 19200.
Note that the bpsk_ax25.grc deprecates the bpsk_decoder.grc and
bpsk_demod.grc and they will be removed on the next release.
The ```fox_id``` consists of three bits.
To mask these three bits a value of 0x7 is neccessary.
Added additional spacecraft identifiers.
Signed-off-by: Patrick Dohmen <dl4pd@darc.de>
Connecting the waterfall sink behind the FFT Filter causes the
waterfall to show only the filtered APT signal. Fixing this needs
an additional resampler.
The flowgraph for decoding NOAA APT images generates a waterfall with a
bandwidth depending on the default samplerate of the SDR hardware.
USRPB200 defaults to 500 ksps, which produces an output of 125 ksps
after the "first_stage_decimation" which is fixed to a value of 4.
Changing the hardware to an "rtlsdr" also changes the default
samplerate to 1 Msps which results in a waterfall bandwidth of 250 kHz
(+- 125 kHz). Connecting the waterfall sink behind the FFT Filter,
which has a decimation set to match an output samplerate of 125 kHz,
seems to be correct! This produces waterfalls with a bandwidth of
125 kHz (+- 62,5 kHz).
Fixes issue #128
* Set the loop bandwith of the PLL to a lower value, to get rid off the
DC leakage and improve SNR
* Set the AGC update rate to a higher value
* Decrease the CW decoding threshold
Add a BPSK decoder script for frames transmitted in AX.25, using G3RUH
scrambling and without. Baudrate is set via parameter "baudrate", all
filters, taps, offsets, etc are calculated using this parameter. Decoder
tested with 1k2 bps and 9k6 bps.
* Set all decoders output to binary format
* Introduce the quadrature demodulation filter in all affected
flowgraphs, in order to reduce false alarms and increase performance