# FSK: non-integer vs integer rmodulation index, peculiar peaks

I've been experimenting with frequency shift keying (FSK) and found a peculiar pattern I cannot explain. I noticed that there is a significant change to the shape of the power spectral density of the fsk signals, only depending on their modulation index.

For readability I split the discussion into the two cases integer and non-integer modulation index:

• Integer modulation index:

The two characteristical FSK flanks are symmetrical and they show very strong peaks in their middle. The distance between those two peaks is exactly the shift of the FSK signal. The image below nicely shows those peaks and the symmetrical FSK flanks in the PSD and STFT of one FSK signal.

• Non-integer modulation index:

The two characteristical FSK peaks are not symmetrical, there is considerable skewness to be observed.The peaks found in integer modulation index, are not to be found. The image below shows a similar non-integer modulation index example:

I wonder how that difference in the PSD of the signals comes to pass?

• This is normal behavior for non-linear modulations. If you make the modulation index smaller, you'll find that the spectrum takes different shapes than the two you have identified. When the modulation index is large, the FSK signal is very similar to AM DSB-LC, which explains why you see two large peaks with symmetrical "sidebands" around them. As the modulation index becomes smaller, the similarity ends and the spectrum looks different.
– MBaz
Apr 4, 2017 at 14:11
• Thank you MBaz. My observation holds for higher modulation indices too. The distinct peaks are solely dependend on the integer/non-integerness of the modulation index. Apr 4, 2017 at 14:28
• Yeah -- to see different spectra (such as a single lobe instead of two) you need to make the modulation index much smaller than one. Note that the spectrum shape also depends on your pulse shape.
– MBaz
Apr 4, 2017 at 14:34

With integer modulation indices, each symbol is actually an integer number of full oscillations. You DFT that, and get a sharp, discrete spectrum of tones, convolved with the pulse shape.

With non-integer indices, you get "cutoff" oscillations. That is, we need to dsitinguish between two cases:

• Continuous-Phase FSK: your next oscillation starts with a phase determined by the previous symbol(s) (as the phase continues where you left off)
• Non-continuous-Phase FSK: your symbol starts with a specific phase, no matter what the end phase of the last symbol was.

In the non-continuous case, you get a PSK-alike spectral component (because you suddenly change the phase). If you've been (virtually) letting the subcarrier oscillator run through while the other one was active, you'd only need convolve that PSK spectrum with dirac impulses to form your spectrum. If you "stopped" it, and always started a symbol with the same phase, you'd even get the PSK effect if constantly sending the same symbol. If you then also send both possible symbols alternatingly, you'd have to convolve that with the abrupt symbol phase change, so you'd get a slightly biased PSD. I think this is what we're seeing here.

EDIT Found out this is CP-FSK:

Well, the fact that you don't have full oscillations definitely explains why you don't get diracs in spectrum – especially since you're not really observing the PSD (which is an "invisible" property of a stochastic process), but a PSD estimate, very likely based simply on a mag² of a DFT – in other words, oscillations that don't fit into the DFT size an integer amount of times cannot ever be sharp spikes. In reality, this poses no problem (because for reliable detection, you need signal power, not peak height, and the power within the "broadened" peaks is, thanks to Parseval, the same).

Non-symmetry is an interesting effect here, and I wouldn't have expected it to be so clear (it should have been there, by the pure fact that the support of your subcarrier shapes in frequency domain would not be limited to "their" half of all frequencies, just not as clearly). The fact that the "right" half of the spectrum seems to be consitently higher worries me a bit – is it possible there's channel model/analog reasons for this?

• Thank you Marcus, I'm using continuous phase frequency shift keying. And I'm not sure what you do think happens in that case and where the peaks come from. Apr 4, 2017 at 14:25
• I've been using a particular periodic data framing scheme. Therefore symbols in the header might be a lot more likely to occur than the symbols in the uniformly distributed payload. Apr 4, 2017 at 14:58
• a-ha! So we have to take your data spectrum, convolve it with your modulation spectrum and convolve that with the pulse shape! Apr 4, 2017 at 15:02

In case somebody is still interested in this: A mathematical approach can be found in https://ieeexplore.ieee.org/document/890336. It is shown, that CPM Modulations with integer modulation indexes contain tones, which you can observe as spikes in the spectrum