> 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. I would have thought a PIC would be pushing it to deal with 35kHz into the A/D, although it may be possible with a DSPic I guess. But as others pointed out, the level straight out of a photo diode is pretty small, so you may as well amplify it with a bandpass amp at 35kHz. > 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? Personally I would have used an external PLL such as a CD4046 to detect the presence of the signal. I guess to do it in a DSP, the trick would be to implement a similar PLL arrangement. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist