On Wed, 2 Dec 2009 17:51:34 -0200, Bruno L. Albrecht wrote: > Hi, > I'm trying to separate 3 frequency components from an analog signal. The > original signal is composed by the sum of 3 frequencies (1500, 4000 and > 10200 Hz) and some noise. The objective is to separate only those 3 > frequencies and evaluate their magnitudes. I thought about lots of ways of > doing it, but couldn't get an effective one. > Any ideas? > > Cheers, > Bruno > If there were two tones, perhaps a PLL. But I think this would be a nice application for the Goertzel algorithm if you're willing to use DSP. The dsPICs would easily be able to do this - in fact, I think wikipedia has a C implementation as well as a description (for DTMF decoding). I don't know how the majority of the maths work, but the implementation is straightforward enough to follow. I suppose your solution will also depend on how much noise you have/anticipate (and the frequency if it's from a known source; aliasing may be a problem), but sounds like a good application for Goertzel anyway. Would certainly be an interesting project. Regards, Pete Restall -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist