Coherent demodulation.

If you've got two PLLs, each one of which has locked to one of the two

tones in both frequency and phase (e.g. during a training sequence),

then you can simply multiply the incoming signal by each of the two

PLL outputs, and low-pass-filter the results.

When the input is receiving the "low" tone, the input and low-tone PLL

will be in-phase sinusoids, the product of the multiplication will

always be non-negative, and the low-pass-filtered version will be

positive. The input and high-tone PLL will be sinusoids of different

frequencies, of opposite polarity half of the time, the product of the

two will average out to zero and the filtered product will be close to

zero most of the time. Run the two filtered products into a

comparator, and the output will be the original data signal (prior to

the FSK modulation).

You have to set the low-pass filter appropriately, of course, based on

the baud rate of the data signal.