3
\$\begingroup\$

I'm trying to build a device to measure the obscuration of an IR signal in a free air chamber that will be a few meters accross, between 10 - 50m aprox. This will be used to determine if there are particles in the chamber (dust, fumes, smoke, etc). The chamber will be inside so no direct sunlight but it will be exposed to artificial lighting (fluorecent and incandescent are the most concerning to me).

The device will have a high power 850nm IR LED emitter and a photodiode receiver on one side in the same enclosure, and a reflector on the other side of the chamber.

The IR LED will emit a modulated square wave @ 1kHz with a 10% duty cycle, the light will travel back and forth through the chamber (by reflecting on the reflector) and the receiver will reconstruct the signal and measure the frequency and the amplitude to see how much it has degraded (by obscuration) - this can be done with a microcontroller.

Both the Tx LED and Rx photodiode are optically shielded inside dark cones with NIR band-pass filtered lenses on the optics so visible light is not much of a concern.

I've put together a simple receiver circuit composed of a BPW34 photodiode and an AC coupled TIA followed by a simple HPF:

enter image description here

Simulations of this circuit have been successful but now I'm having a hard time determining the next building blocks to achieve the above goal, whilst rejecting ambient noise. I've looked at envelope detection and synchronous detection but I think these are more for analogue signals, not so much for reconstructing a digital square wave.

If anyone could help point me in the right direction that would be great, thank you in advanced!

\$\endgroup\$
12
  • \$\begingroup\$ Aside from many of the more obvious methods (thin film filters), you should look at Fourier plane spatial filtering, as well. (It's a broad subject and more than one way to skin a cat with it.) Very effective suppression of ambient light can be achieved using differences in spatial frequencies between a focused (laser?) source and interfering ambient light and how each interacts with small particles -- very significantly reducing the intensity of unwanted light while also greatly improving S/N. Electronics design comes after gaining what you can with optics. \$\endgroup\$ Commented Oct 23 at 9:21
  • \$\begingroup\$ Thank you @periblepsis I will definitely look into this for improved knowledge on optical filtering and conditioning! \$\endgroup\$ Commented Oct 23 at 9:33
  • \$\begingroup\$ @periblepsis & Luis - Lock on amplifier? \$\endgroup\$ Commented Oct 23 at 11:27
  • \$\begingroup\$ @LuisFlavell Be very careful re chamber wall reflections. You say "free air" . I dont know what " ... between 10 - 50 approx. ..." means. Remote reflections off distant "big stuff" can easily swamp your desired signal. \$\endgroup\$ Commented Oct 23 at 11:29
  • \$\begingroup\$ Thank you @RussellMcMahon ! I assume I will need to use a lock-in amplifier if I go with synchronous detection technique, would that be correct? Regarding the distance, I forgot to add an m for meters (sorry about that, already edited). I am very aware of possible reflections, in this case I have collimated lenses with a narrow beam so the signal will be quite directional towards the reflector which it is aligned on. \$\endgroup\$ Commented Oct 23 at 11:55

1 Answer 1

6
\$\begingroup\$

Synchronous detection - multiply the detector output by +1 when the LED is on and -1 when the LED is off, but use a 50% duty cycle. Then any background offsets are added then subtracted in each cycle of the wave, with 50% of the time the offset is added, 50% of the time its subtracted, while the received signal will only be added . Simple to do in a microcontroller with a fast enough ADC, set it to sample at 2x rate, once at the end of the "on" and the end of the "off" period of the LED. This feasible on an STM32 using cascaded timers to control the LED and trigger the ADC sampling, harder on a small Arduino.

You can also use things like Gold code sequences to turn the LED on and off, which are digital sequences with single autocorrelation peaks - a 1023 bit Gold code gives 30dB gain (actually 27dB because the signal is On Off Keying (OOK) not Phase Shift Keying(PSK)) .. Then you can detect the LED below the background noise , even if the noise is something like line frequency modulated infrared.

This is an analog problem , once it arrives at the receiver. Just because the signal started as an on/off keyed transmission does not mean that you should restrict yourself to purely on/off digital receiver architectures .

\$\endgroup\$
5
  • \$\begingroup\$ Thanks @ocelot , this is very helpful. Unfortunately I cannot use a 50% duty cycle as I need short bursts of high current to drive the LED at high power. Would you be able to indicate the necessary building blocks I would need from the output of the TIA until the ADC (or other) input of the microcontroller? In this case I will be using a PIC24F at 20MHz so I think I will have enough speed and compute power to achieve this. \$\endgroup\$ Commented Oct 23 at 9:41
  • \$\begingroup\$ @LuisFlavell then go with only subtracting as much integrated "dark" signal as you have "light" signal. Ocelot's point was (and I'm not sure they're right) was that during your calculation you shouldn't be "overemphasizing" long off-times; you might need to multiply them with -(on time/off time) instead of -1 . The more time you use, the better your correlation gain can get, but at some point it doesn't add that much anymore. \$\endgroup\$ Commented Oct 23 at 10:02
  • \$\begingroup\$ Thanks for your input @MarcusMüller ! Would you also coincide that synchronous detection would be the way to go for this application? If so, would you be able to indicate typical building blocks or good sources of information? Thanks once again! \$\endgroup\$ Commented Oct 23 at 10:19
  • \$\begingroup\$ I was assuming this was clear from a precise reading of my comment? \$\endgroup\$ Commented Oct 23 at 10:25
  • \$\begingroup\$ Ok @MarcusMüller ;) \$\endgroup\$ Commented Oct 23 at 10:38

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.