Estimating the SNR of 2-FSK I have some iq data recordings of a 2-FSK waveform that I've created periodograms from. How do you estimate the SNR of this waveform in the frequency domain? I've heard two opinions:
One:

Integrate the signal band power over the excursion
Find a clear area of the spectrum and integrate the noise power over the same bandwidth
Divide the two quantities: SNR = signal power/noise power
This seems weird because FSK is just two tones and integrating the signal over the excursion is just integrating a lot of noise and very little signal

Two:

Find the peak signal power of one of the tones
Estimate the median of the noise floor power
Divide peak signal by median of noise floor: SNR = peak / median
This also seems weird because depending on the snapshot of data, the amplitude of the tones is different. SNR isn't changing but this method doesn't give a constant SNR.

If I could collect the same iq data with the waveform turned off (just receiver noise), would it make the calculation any simpler?
I've used the first technique before. The idea is that you have some chunk of time domain samples where you know only noise is present and use that to get an estimate of the noise power, $P_n$. Then you determine the total received power, which will have contributions from both signal and noise, $P_{s+n}$. When you take the ratio of these, you get:
$$\frac{P_{s+n}}{P_n}=\frac{P_s}{P_n}+1$$
For high SNR, the extra $1$ doesn't matter too much but to be exact the SNR estimate should be:
$$\hat{\text{SNR}}=\frac{P_{s+n}}{P_n}-1$$