To differentiate between two relatively close wavelengths like 850 and 940nm you will need more than two PDs and two TIAs. More like narrow optical filters. Using an LED as a PD is like using a kitchen knife as a screwdriver. Ya, it works kinda.....But then again there is really no reason to do that. Measuring relative optical magnitudes to determine wavelength based on incident power and PD responsivity is gonna lead to erroneous results.
Just my two cents having designed fiber optic gear for over 29 years......
@grouchobyte
My suggestions are based on ease of availability and cost, the price and availability of narrow band optical filters exclude them from general hobby use.
This is why I suggested using IR emitter LEDs as PD's as this makes them behave somewhat like a PD with a narrow band optical filter in front of them.
You would be surprised at how well LEDs work as narrow band PDs, but don't take my word for it:
http://makezine.com/projects/make-36-boards/how-to-use-leds-to-detect-light/While I agree that there is great potential for getting erroneous results, especially when it comes to getting 2 PD's of different wavelengths to have a similar axial response, my idea will work.
Again, don't take my word for it:
lets do the math with 2 PD's
PD1, TIA1: 850NM lets call this PD850
PD2, TIA2: 940NM lets call this PD940
Firstly, both TIA's are calibrated for roughly 1V output when stimulated by it's centre wavelength of equal power.
850nM beam: PD850 output ~ 1V, PD940 output ~ 0.5V
940nM beam: PD850 output ~ 0.6v, PD940 output ~ 1V
To me, it looks like it would be pretty easy to differentiate between the incoming wavelengths.
If you need more differentiation, then spread the wavelengths of the PD's out more, eg 820nM and 950nM.
Or you can use narrow band optical filters and normal PDs or a couple of LEDs acting as PDs with narrow band optical filters.