Suppose that for the sake of miniaturization, I want to receive a typical IR remote control signal (~35kHz carrier, on/off modulated with minimum on/off times on the order of 1ms) using a bare photodiode running into a PIC A-D converter (or similar) and doing all the signal processing in software. It seems like that should be about possible. The signal I receive at the A-D is going to be a sum of ambient illumination plus noise sources (60Hz illumination, mostly) plus the signal I'm actually interested in. Plus maybe other competing signals at slightly different carrier frequencies that I'd rather not see... 1) If I know the carrier frequency I'm interested in, and I know that I'm interested in on/off modulation, how do I pick the minimum sample frequency I can get away with? Presumably I don't want an exact multiple of the carrier frequency. 2) Does anyone care to point to a suitable DSP algorithm, hopefully implementable on a typical integer microcontroller, that will do the rest of the work I'm interested in? This IS the sort of thing that DSP algorithms can do, right? If I need multiplies and divides, can I pick a carrier frequency so that those end up being shifts? Thanks Bill W -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist