I've incorporated the unwrap phase vi where u suggested and the spikes have gone, however, there is still a problem when I ran it through simulated data (two sine waves of different amplitude (20 and 50) and frequency (0.1Hz and 0.25Hz added together). When I set f0 (the frequency I want to demodulate) to, let say 0.25Hz, sure enough I get the correct frequency output, but when I change f0 to say 0.50Hz the frequency output does drop to 0, but instead stays at 0.5 and the spikes appear again. I have attached the VI's with simulated data saved. this is getting confusing!