Whats the magnitude of the wanted signals relative to the unwanted?
I don't really know that part, and think this would be changing all the time. But the signal itself would have been filtered through a bandpass filter. Therefore, this frequency should be the only frequency present along with other frequency components which should be very small.
To have any hope of doing this you need to know what the dynamic range of all the incoming signals and noise is, and will most likley have to build separate amplifiers for each wanted frequency, with an extremely narrow bandpass filter tuned to each wanted frequency.
This is actually my goal, i have 3 working frequencies, namely 50Hz, 8kHZ and 33.3kHz. There would be only one frequency working at a time from a selector. As you said, i designed their respective bandpass filter and would be using them to reject the other signal present.
I needed to compare the amplitude coming from the device as it moves. that is comparing the magnitude of a particular frequency, e.g 33.3kHz. The signal would be passed through a bandpass filter and most other frequency should have been rejected and then amplified. The amplitude of the signal would then need to be processed.
The method i innitially thought was calculating its RMS in real time and keep on comparing these values, however, my biggest concern was that i had 3 of these systems acting in parallel and would calculating RMS of 3 signals in real time be a problem for an ARDUINO MEGA??
Then i came to know about FFT, and now i am looking for a method to get a more accurate result if possible. And something that is more reliable and puts less burden on the microcontroller.