# Align symbol period in GFSK communications

To learn more about communication systems I have been using an SDR (RTL2832U) and a 918 MHz transceiver (RFD900+) which sends signals using 2 GFSK. The deviation of my RFD900+ from the center frequency is ±63750 Hz. I have recorded some signals from my RFD900+ using my SDR to understand better how the system works. Although the RFD900+ uses FHSS I changed the settings to ensure the radio uses a single channel.

So far, I have collected data using the SDR and plotted it in MATLAB. An initial spectrogram is shown below for one of the received packets:

From this spectral diagram, I can see some of the signals I expected to see, given the settings of my radio. I can pick out the 64 bits of the preamble followed by 2 sync words. To better see this, I created two matched filters, one for bit 1 and one for bit 0. I then convolved these with the recorded signal to get an even better view of the transmitted signal:

The plot above shows the outputs of the symbol 1 matched filter and the symbol 0 matched filter. My radio has a bit rate of 64 kbits/s (since there are only two symbols, my bit rate = symbol rate), so a symbol/bit is sent every 15.6 μs. Using this and the preamble, I can try to align manually when I expect a bit to be received, as shown in the figure below:

Assuming a bit is received at the black lines, I can then distinguish between consecutive symbols with the same value (i.e, I can tell the difference between 111 and 1111 or 000 and 0000).

My question is, in real systems, how is this process of aligning the received bits performed? In the above case, I used the peaks of the preamble for alignment, which could be implemented using code. Still, I wasn't sure how reliable this would be in a situation with a lower SNR ratio (in this case, radios are 10 feet apart).

My question is, in general, how do communication systems choose to sample the output of the matched filter so that the start of the matched filter and the start of the symbol are aligned? As a follow-up, does this process always require a preamble?

• Non of the plots you have shown are spectral plots. Commented Mar 24, 2023 at 18:43
• I edited the name to spectrogram, a more appropriate name for the first plot. Thank you Commented Mar 24, 2023 at 18:49
• What precisely does this mean --> so that the start of the matched filter and the start of the symbol are aligned Commented Mar 24, 2023 at 18:49
• It's not a spectrogram either: From Wiki A spectrogram is a visual representation of the spectrum of frequencies of a signal as it varies with time. When applied to an audio signal, spectrograms are sometimes called sonographs, voiceprints, or voicegrams. When the data are represented in a 3D plot they may be called waterfall displays. Commented Mar 24, 2023 at 18:51
• Each symbol has a duration of 15.6 us, and my matched filter also has a duration of 15.6 us. Although I know the period of each symbol is 15.6 us, I don't know when the signal from the first bit is first received (I don't know when the first 15.6 us period of the packet starts). If I knew this start time, I could sample every 15.6 us and use this to determine what bits I receive, but without knowing this initial start time, I have to do some alignment of where I sample the matched filter's output to ensure my matched filter and signal are"aligned" Commented Mar 24, 2023 at 18:59