Hello,
I'm writing an APRS packet decoder / AFSK demodulator in Python3 as an algorithm test bed. I have little digital signal processing training so I figured it would be best to simulate everything before porting the methodology to my intended embedded platform in C. I've generated test packets via the Direwolf utility gen_packets, but I'm seeing some strange artifacts after demodulation.
The demodulator is quick basic. I'm using the Goertzel algorithm (basically 1 bin FFT) to calculate the energy at each frequency for Bell 202 sample by sample. The difference of the energies is then taken and low pass filtered. The result is then fed through a comparator / sampled appropriately to finish the demodulation.
The test signal sent in TNC2 format looks as follows: WB2OSZ-15>TEST:,The quick brown fox jumps over the lazy dog!
The AX.25 frame starts with a flag 0x7E and then sents the destination callsign. In this case it would be "TEST".
I'm decoding AX.25 and TEST just fine, but there is a mystery bit in the test signal right after the 0x7E flag. Please see below. I'm not sure if these kinds of mistakes are common for APRS TNCs or it's only in the gen_packet utility for Direwolf? I know APRS is kind of the wild west. Does anyone on the forum have any information on this? Do you believe it's an issue with my implementation? Is this somehow bit-stuffing? I though this should occur after every 5 bits not after any 5 bits?