# GMSK CFO estimation and timing recovery

My goal is to estimate the CFO and timing offset in GMSK modulated signal. I synthesize samples in Matlab and my goal is to add CFO and time offset to learn how to deal with mentioned distortions and successfully recover transmitted signal. I would like to use non-data-aided methods and rely only on the signal structure. To be honest, I read a lot and I have few methods in my mind, like: M&M (but I guess its for timing recovery), squaring method or FFT method (to calculate CFO), PLL/Costas Loop (for fine CFO estimation). I don't know if they really fits for GMSK so my question is, how to tackle this problem? What should be done first in the recovery algorithm to stay in the right order? My goal is to deep into signal recovery and to learn different approaches.

• Can you clarify if this is partial response signaling? Meaning do your symbols completely rotate for each bit within one symbol duration or are the symbols overlapping with intentional inter-symbol interference? Mar 3 '21 at 13:46
• I am basing on GSM standard where (as far as I know) ISI are introduced by the Gaussian filter. So I guess that yes, it is partial response signaling. Sorry but I don't know if I grasped the question correctly. Mar 3 '21 at 14:16
• Yes GSM uses partial response signaling so the phase constellation needs to be “disentangled” where the Viterbi algorithm can be utilized. For your learning exercise you may want to start with a full response signaling case and then add this extra complexity. Also for the partial response case look into the Laurent Decomposition which can simplify the number of trellises needed in the Viterbi algorithm. Mar 3 '21 at 14:24
• Full response signaling case occurs when e.g. pulse shaping filter has length equal to samples per symbol factor? Am I right? Mar 3 '21 at 21:29
• Yes correct, current symbols don’t interfere with subsequent ones Mar 3 '21 at 23:04