Let's say that I have a 2-FSK signal recorded so that the SNR is around 20 dB and the noise seems to be more or less white. The distance between tones is greater than the minimum distance needed for non-coherent reception.
How would I go about determining its symbol rate?
I had some ideas, but it was a while since I actually had contact with FSK, so I'm probably forgetting something very obvious.
My initial idea was, since I have a recording, to use say spectrogram in Matlab and see how long each of the tones last. The downside here is that I need to be reasonably lucky with my data. I couldn't set up spectrogram parameters properly, so that end of each symbol is clearly visible on the time-frequency plots.
My next idea was to see if using analytical signal and getting the envelope would help. I don't think I obtained anything useful with that.
Later on, I tried to generate a signal of the same frequency as one of the symbols and then run a cross-correlation. I sort of expected the xcorr to be high when we're on the symbol of the same frequency as the one I'm using and not so high when we're not. What I got as the output is a sinusoid, but I couldn't figure out how to interpret it.