I've heard that "synchronous" detection can work better, give more range.
How is that done?
My thoughts: send out a pulse modulated beam; read the detectors via DC
coupling to an A/D unit. Sample in the middle of the pulse, and in the
middle of the gap between pulses, take a difference. Average this
difference over N periods. Basically, a very simple yes/no digital
correllator. Might be able to pull a signal out of the noise floor?
(I would call this "synchronous" as the sampling is synchronized to the
transmitted pulses, easy in a reflective unit. I am only guessing that
this is what others have referred to as synchronous detection.)
Is this how it's done? Would it work? Tips? A/D resolution needed?
Suggested detectors? Optics? Duty cycles? Multiple samples per pulse?
Analog signal conditioning needed? Laser diodes?
One application is counting traffic on the road by our house, another is
to detect vehicles on the driveway, and a third is extending the range of
hobby robotic IR obstacle detectors. The first two could use "bicycle"
reflectors, the latter uses whatever material the obstacle happens to be
composed of. :)
Thanks, Zhahai
: I've heard that "synchronous" detection can work better, give more range.
: How is that done?
<snip sort of explanation>
Take a clock, of about the same frequency of the incoming data.
Now, generate a 90 degree phase shifted version of this clock
signal.
Connect two multipliers to these signals, and the input signal.
The outputs of the multipliers (call the I and Q) are then
rectified, and added (it can be more complex than simple addition)
Now, instead of a weak signal at XKhz, buried in the noise,
you have a signal at DC-some low frequency, depending on
the wanted bandwidth.
There are various ways to optimise this.
--
Ian Stirling. Designing a linux PDA, see http://www.mauve.demon.co.uk/
----- ******* If replying by email, check notices in header ******* -----
Things a surgeon should never say.
Better save that for the autopsy.
> I'd like to get more range from an IR transmitter/receiver light beam
> unit. Either direct, or reflected. Most units (eg: Radio Shack entry
> detector) use a modulated light beam, and an AC filtered IR detectors,
> sensing the beam break as a loss of the AC modulating signal. Maybe 40
> KHz, I hear.
>
> I've heard that "synchronous" detection can work better, give more range.
> How is that done?
>
> My thoughts: send out a pulse modulated beam; read the detectors via DC
> coupling to an A/D unit. Sample in the middle of the pulse, and in the
> middle of the gap between pulses, take a difference. Average this
> difference over N periods. Basically, a very simple yes/no digital
> correllator. Might be able to pull a signal out of the noise floor?
>
> (I would call this "synchronous" as the sampling is synchronized to the
> transmitted pulses, easy in a reflective unit. I am only guessing that
> this is what others have referred to as synchronous detection.)
>
> Is this how it's done? Would it work? Tips? A/D resolution needed?
> Suggested detectors? Optics? Duty cycles? Multiple samples per pulse?
> Analog signal conditioning needed? Laser diodes?
>
> One application is counting traffic on the road by our house, another is
> to detect vehicles on the driveway, and a third is extending the range of
> hobby robotic IR obstacle detectors. The first two could use "bicycle"
> reflectors, the latter uses whatever material the obstacle happens to be
> composed of. :)
> Thanks, Zhahai
For a real quick solution: use an enhanced IR led to increase the range or
some other powerful source.
Modulate the beam with a rectangular waveform. At the receiver use the
_same_ signal to demodulate the returned signal. One way is your
suggestion
below; a better is to switch between +1 and -1 times the input. Then
put
the switched signal into an integrator. Yes, you can use either a
capacitor
or and ADC and software.
The effect of this is that non-synchronous signals, i. e., signals that
were not generated witht he modulating signal, will average to zero.
The returned beam reflection, since it is exactly in step with the
modulating signal, will only be integrated in one direction; everything
will be integrated +1x and -1x, which averages to zero.
Note that nearly the same frequency is not good enough; it must be the
very
same modulating waveform.
> My thoughts: send out a pulse modulated beam; read the detectors via DC
> coupling to an A/D unit. Sample in the middle of the pulse, and in the
> middle of the gap between pulses, take a difference. Average this
> difference over N periods. Basically, a very simple yes/no digital
> correllator. Might be able to pull a signal out of the noise floor?
No need to worry about the center of the pulse; sample as fast as you
can,
and keep track of whether or not each sample is within the pulse. The
more
samples you get, the faster you can integrate.
>
> (I would call this "synchronous" as the sampling is synchronized to the
> transmitted pulses, easy in a reflective unit. I am only guessing that
> this is what others have referred to as synchronous detection.)
>
This is indeed one common synchronous detection technique.
> Is this how it's done? Would it work? Tips? A/D resolution needed?
> Suggested detectors? Optics? Duty cycles? Multiple samples per pulse?
> Analog signal conditioning needed? Laser diodes?
>
The beauty of synchronous detection is that you don't need to worry
about
ADC resolution except to speed up signal processing for stable signals.
If
your return signal is noisy, extra resolution will do no good. Very
accurate
and high resolution signal processors have been built that extract
synchronous
signals from 120db below noise (noise 1000000 times the signal) using a
comparator. A 16-bit ADC would not help, since the signal is not known
even
to 1 bit. Of course, if the signal had been 1000000 times the noise, a
20-bit ADC can get 20 bits of resolution in one sample, whereas the
1-bit
comparator would have had to be read and averaged a million times for
the
same reading :-).
If my math is a bit sloppy, someone correct me, please -- it's been
several
years since I had to investigate this stuff, and it may be hazy. But the
general idea is right.
john perry
norfolk.infi.net
>My thoughts: send out a pulse modulated beam; read the detectors via DC
>coupling to an A/D unit. Sample in the middle of the pulse, and in the
>middle of the gap between pulses, take a difference. Average this
>difference over N periods. Basically, a very simple yes/no digital
>correllator. Might be able to pull a signal out of the noise floor?
That's the general idea, but if you want to do it digitally,
you need a wide, low-noise A/D. If you only have a few bits,
you'll never see the signal.
You might just try AC coupling the detector to an op-amp and look
at the output on a scope. That gets rid of all the unmodulated light
in the environment. Try modulating with, say, 1KHz, and using a
low-pass filter to lose all the noise from fluorescent lights and such.
John Nagle
I've been tuning into this thread from time-to-time waiting for someone
to point out that synchronous rectification is easily accomplished and
works very well indeed. John Perry <jpe...@norfolk.infi.net> was on
target. See also AoE page 1031 and fig 15.37. Here's a simple circuit
scheme I use often, which some readers may find useful.
An infra-red LED is driven with a 2kHz 100mA square wave derived from
a CMOS 555 oscillator running on 5V. A small resistor in the collector
of the transistor will limit the current in the event of a short.
CMOS C
+5V 7555 ----+---- B
osc | E --- 27 -------------- to IR
| | gnd ----------- LED
,- 22nF -+- 15k -+
gnd '---- MOD CLOCK
The light signal is detected by a photo-transistor (PT) and amplified
a modest amount by an opamp. This input amplifier stage should not
saturate on sunlight or any other high-intensity light source, and is
outfitted with a gain pot to insure this. (High modulated-signal gain
comes later.) For remote sensors, place A1 remotely as well.
10k ,----------------------------- SIG +
,--- pot --, | ,-- 10.0k --+------ SIG -
,-----+-- - | | | |
PT ---+----+-- 10.0k -+-- - A2 | G=-1.00
| ,-- + A1 ----'
-5V gnd gnd --- + power the opamps
from +/- 5V etc.
The next very important step is to create a balanced copy of the signal
with a precision inverter. Inverter A2 used two 1% resistors, which
may well be matched to much better than 1%, and may be sufficient.
The degree of matching _determines_ the interferring-light rejection.
You may want to trim one of 10.0k resistors to null the interference.
,- 470k --, 100-ohm
--+- 10.0k -+-- pot ---
Synchronous detection is the easy part, performed with a SPDT switch.
I like to use one section of a CMOS 74HC4053, which conveniently
includes level-shifting for the -5 supply. Ground the DISABLE pin.
MOD CLOCK
| low-offset
+ SIG ---o | 50ms FET-input opamp
o-- 470k -+-------- + A3 detector
- SIG ---o S1 | ----+------- output
4053 0.1uF ,-- - |
| +--- 100k --'
gnd |
1.0k G = 101
| adjust to suit
gnd
The output of the COMS switch has a balanced square-wave version of any
interferring signals, and is followed by a low-pass filter to average
it to a null 0.00 volts. By contrast, the modulated signal is in phase
with the MOD CLOCK (not 90 degrees as someone suggested), and is not
nulled, but rather detected. A long time constant helps reject high
120Hz interferrence from flourescent lights, etc, which have a very
spiky light-output waveform. The RC cuts off at 3.4Hz, and has 31dB
of rejection at 120Hz. Some users will prefer to add another R and C
for a 2nd-order filter to obtain 60dB of rejection (see AoE page 5.16).
My scheme works well even when the detected light level is a very small
fraction of the interferring light; we kept the gain before synchronous
rectification low to prevent circuit overload. Therefore, the detected
signal after the low-pass filter will be very weak. But it will have a
very good signal-to-noise ratio, and is easily amplified _after_ the
interference has been removed. I show a gain of 101, but you should
select this to match your optical setup. A 100k pot would be useful.
Follow with a comparator, or press an unused dual opamp section into
use for this purpose. A dual or triple detector system can be easily
implemented, because all can share the 555 source and the 3 sections
of the 4053 chip. If the detector output goes negative with beam
detection signal, swap the two 4053 switch SIG connections.
My simple circuit has no A/D converters, microprocessors, etc, but can
easily pull a signal out with 1000x greater light interference. You'd
likely need a 16-bit A/D to match that performance digitally.
--
Winfield Hill hi...@rowland.org _/_/_/ _/_/_/_/
The Rowland Institute for Science _/ _/ _/_/ _/
Cambridge, MA USA 02142-1297 _/_/_/_/ _/ _/ _/_/_/
_/ _/ _/ _/ _/
http://www.artofelectronics.com/ _/ _/ _/_/ _/_/_/_/
Winfield Hill wrote:
> Brian E Rhodefer, <bri...@caladan.cse.tek.com> said...
> >
> > John Nagle <na...@netcom.com> wrote:
> >>
> >>In sci.electronics.design HI Systems <hi...@shell.rmi.net> wrote:
> >>> My thoughts: send out a pulse modulated beam; read the detectors via
> >>> DC coupling to an A/D unit. Sample in the middle of the pulse, and
> >>> in the middle of the gap between pulses, take a difference. Average
> >>> this difference over N periods. Basically, a very simple yes/no
> >>> digital correllator. Might be able to pull a signal out of the
> >>> noise floor?
> >>
> >> That's the general idea, but if you want to do it digitally,
> >> you need a wide, low-noise A/D. If you only have a few bits,
> >> you'll never see the signal.
> >
> > Wouldn't it be better to do the averaging before digitizing, then?
> > Connect the detector to a couple CMOS analog switches, and the output
> > of each switch to a sampling capacitor. Operate the CMOS switches
> > in concert with the pulse modulation of the beam, and observe the
> > difference in voltage between the two integrated outputs.
>
> I've been tuning into this thread from time-to-time waiting for someone
> to point out that synchronous rectification is easily accomplished and
> works very well indeed. John Perry <jpe...@norfolk.infi.net> was on
> target. See also AoE page 1031 and fig 15.37. Here's a simple circuit
> scheme I use often, which some readers may find useful.
>
[Mods to add High Pass filtering] 10k
,---------------------------|.01nF|--+-- SIG +
| 10
| KOhm
,--- pot --, | ,-- 10.0k --+-----|.01nF|--+-- SIG
-
| |
Just thought I chip in that High pass filtering before the the
synchronous integrator also does a good job of rejecting < 1 kHz noise and
does it without limiting the response time so much. Now I know this
application doesn't need response time, but some people may be interested.
Chuck
No, you only need 1 bit.
However, if your signal would have been big enough to feed into a
multi-bit converter, then you do lose some amount of resolution.
(sometimes very little though)
Basically, take a hundred thousand cycles.
Now, add one for every 1 recieved when expecting a 1, and subtract 1,
if you get a 0, and vice versa.
After 100K samples, even if the background is very noisy, you
will get a number, representing the signal strenth.
<snip>
--
Ian Stirling. Designing a linux PDA, see http://www.mauve.demon.co.uk/
----- ******* If replying by email, check notices in header ******* -----
If it can't be expressed in figures, it is not science, it is opinion.
Robert A Heinlein.
Unfortunately this came through all garbled, was this (edited below) the
idea? Yes, that's a good idea, although if the filter is anywhere near
2kHz (you have 1.6kHz), it must be carefully balanced. The single 10k
load may adequately serve that function. Or 0.027uF caps could be used.
I also added a helpful low-pass filter, which helps reduce RFI trouble
in certain situations with long cable systems. This must be on the
preamp _before_ the inverting amp, A1, and must not significantly
attenuate below say 5kHz (this shifts the signal phase, reducing the
synchronously-rectified signal).
/
> 3.3nF ,--------------------------||-----+--- SIG +
> ,--||---, | 0.01uF |
> | | | (2 places) 10k
> ,-+- 10k -+, | ,-- 10.0k --+---||-----+--- SIG -
> | pot | | | |
>> ,-----+-- - | | | |
>> PT ---+--+-- 10.0k -+-- - A2 | G=-1.00
>> | ,-- + A1 ----'
>> -5V gnd gnd --- + power the opamps
>> from +/- 5V etc.
Alternately, the filters can be placed after the cable, but _before_
the A2 inverting stage, insuring balance and HF rejection.
/
3.3nF / ,-------------------------- SIG +
,--||---, / |
| | cable / |
,-+- 10k -+, / | ,-- 10.0k --+--- SIG -
| pot | / 1uF | | |
,-----+-- - +-- 1k --||--+--+-- 10.0k -+ |
PT ---' + | | '-- - A2 |
| ,-- + A1 330 10nF ----'
-5V gnd | | gnd --- + G=-1.00
gnd gnd
The next step would be to attack the A1 amplifier's LF response...
>> The next very important step is to create a balanced copy of the signal
>> with a precision inverter. Inverter A2 used two 1% resistors, which
>> may well be matched to much better than 1%, and may be sufficient.
>> The degree of matching _determines_ the interferring-light rejection.
>> You may want to trim one of 10.0k resistors to null the interference.
>>
>> ,- 470k --, 100-ohm
>> --+- 10.0k -+-- pot ---
>>
>> Synchronous detection is the easy part, performed with a SPDT switch.
>> I like to use one section of a CMOS 74HC4053, which conveniently
>> includes level-shifting for the -5 supply. Ground the DISABLE pin.
>>
>> MOD CLOCK
>> | low-offset
>> + SIG ---o | 50ms FET-input opamp
>> o-- 470k -+-------- + A3 detector
>> - SIG ---o S1 | ------+----- output
>> 4053 0.1uF ,-- - |
>> | +---+- 100k --+ adjust gain
>> gnd | | + | to suit
>> 1.0k '---||----'
>> | / 1uF
>> gnd /
/
Here's a simple addition further improving 60Hz rejection, for those who
don't want to make an off-axis-poles 2nd-order filter as suggested below.
>> The output of the COMS switch has a balanced square-wave version of any
>> interferring signals, and is followed by a low-pass filter to average
>> it to a null 0.00 volts. By contrast, the modulated signal is in phase
>> with the MOD CLOCK (not 90 degrees as someone suggested), and is not
>> nulled, but rather detected. A long time constant helps reject high
>> 120Hz interferrence from flourescent lights, etc, which have a very
>> spiky light-output waveform. The RC cuts off at 3.4Hz, and has 31dB
>> of rejection at 120Hz. Some users will prefer to add another R and C
>> for a 2nd-order filter to obtain 60dB of rejection (see AoE page 5.16).
> Just thought I chip in that High pass filtering before the the
> synchronous integrator also does a good job of rejecting < 1 kHz
> noise and does it without limiting the response time so much. Now
> I know this application doesn't need response time, but some people
> may be interested.
Thanks for all the good points, Chuck. With all the stages of filtering,
perhaps much more than 1000:1 can be rejected. Folks, see how robust this
simple design can be?
--
Winfield Hill hi...@rowland.org
Rowland Institute for Science
Cambridge, MA 02142
Winfield Hill wrote:
> Chuck Parsons at ch...@CatenaryScientific.com says...
> >
> > [Mods to add High Pass filtering]
>
> Unfortunately this came through all garbled, was this (edited below) the
> idea? Yes, that's a good idea, although if the filter is anywhere near
> 2kHz (you have 1.6kHz), it must be carefully balanced. The single 10k
> load may adequately serve that function. Or 0.027uF caps could be used.
>
> I also added a helpful low-pass filter, which helps reduce RFI trouble
> in certain situations with long cable systems. This must be on the
> preamp _before_ the inverting amp, A1, and must not significantly
> attenuate below say 5kHz (this shifts the signal phase, reducing the
> synchronously-rectified signal).
> /
> > 3.3nF ,--------------------------||-----+--- SIG +
> > ,--||---, | 0.01uF |
> > | | | (2 places) 10k
> > ,-+- 10k -+, | ,-- 10.0k --+---||-----+--- SIG -
> > | pot | | | |
> >> ,-----+-- - | | | |
> >> PT ---+--+-- 10.0k -+-- - A2 | G=-1.00
> >> | ,-- + A1 ----'
> >> -5V gnd gnd --- + power the opamps
> >> from +/- 5V etc.
>
Thanks Win, for fixing my asciiwork, I don't know what happened, The stuff I
quoted and the stuff I added indented very differently. You are kind not to use
stronger words about my filtering, I missed the line in your post where you
specified 2 kHz, I was thinking 40 kHz like so many IR devices use, and one
early post in this thread mentioned. Hence I thought I was being ultra
conservative with the filtering. It is probably better done at the input to A1
anyway which limits the low frequency response of A1 and may allow more gain,
as you indicated in the last line of your post. I have been burnt by dielectric
noise when AC coupling inputs in low noise designs, but that wouldn't be a
problem here. Still I have a reflex aversion to it which is why I put the
filtering later.
Chuck
Can you say patronizing?
John Fields
>> Thanks for all the good points, Chuck. With all the stages of
>> filtering, perhaps much more than 1000:1 can be rejected. Folks,
>> see how robust this simple design can be?
>> --
>> Winfield Hill hi...@rowland.org
>> Rowland Institute for Science
>> Cambridge, MA 02142
>
> Can you say patronizing?
>
> John Fields
OK, I apologize John. But hey, one has to indulge one's self now
and then! It's just a tad of the county-fair vendor/hawker in me!
--- On Fri, 05 Dec 1997 10:56:49 -0800
altavoz <alt...@IDT.NET> wrote:
> What is AoE .
altavoz has emailed me twice, asking this question. Hmmph!
Anyway, my email replies bounce from his address, so to avoid
more questions, I'm posting the answer here. Altavoz, please
see my sig below, and the web page listed there.
Just to point out that for super-good rejection of interferring signals,
the inverter A2 must make a near-perfect inverted or negative copy of the
interference signal, allowing the SIG+ / SIG- switch (see below) to
completely cancel it. For square-wave modulation, and slow jellybean
opamps this is only possible with low-frequency modulation. Hence 2kHz.
>>
>> MOD CLOCK
>> | low-offset
>> + SIG ---o | 50ms FET-input opamp
>> o-- 470k -+-------- + A3 detector
>> - SIG ---o S1 | ----+------- output
>> 4053 0.1uF ,-- - |
>> | +--- 100k --'
>> gnd |
>> 1.0k G = 101
>> | adjust to suit
>> gnd
--
Interesting. Of course a monochromatic filter in front of the PD is the
first line of defence against noise.
Any commnents on how this would scale up one, two or three
orders of magnitude up in modulation frequency? (20Khz,200Khz, 2Mhz)...
I presume the main problem will be the speed of the PD/A1. Shielding the
front end against RFI might also be an issue..
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Spehro Pefhany "The Journey is the reward"
sp...@interlog.com
Fax:(905) 332-4270 (small micro system devt hw/sw + mfg)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Hah! I see that not 5 minutes before you posted your question, my
own post to Chuck Parsons <ch...@CatenaryScientific.com> was sent,
pointing out the importance of using low frequencies in my simple
circuit (he had assumed the common 40kHz IR modulation rate rather
than the 2kHz I had used)!
There are two problem areas with using lock-in detection at higher
frequencies. The first is phase shift or delay at any step, the
sensor, an amplifier stage, etc. It's not generally a very serious
problem, because it simply results in some detected-signal reduction
(by the cos of the phase shift for sine-wave modulation) and can be
corrected at any rate by phase shifting the reference.
The second, more serious problem, is with the detailed design of the
phase-detector / synchronous-rectifier / mixer stage. Note opamp
A2 in the drawing below. This is the inverter / balanced amplifier
for the synchronous rectifier.
3.3nF ,-------------------------- SIG +
,--||---, filters |
| | cable / |
,-+- 10k -+, / / | ,-- 10.0k --+--- SIG -
| pot | / 1uF | | |
,-----+-- - +-- 1k --||--+--+-- 10.0k -+ |
PT ---' + | | '-- - A2 |
| ,-- + A1 330 10nF ----'
-5V gnd | | gnd --- + G=-1.00
gnd gnd
As I said to Chuck, "for super-good rejection of interferring
signals, the inverter A2 must make a near-perfect inverted or
negative copy of the interference signal, allowing the SIG+ / SIG-
switch (see below) to completely cancel it. For square-wave
modulation, and slow jellybean opamps this is only possible with
low-frequency modulation. Hence 2kHz."
Obviously, Spehro, a fast opamp can be used for this task, allowing
the use of very high frequencies. Or a transformer could be used
to create fully balanced + and - copies of the signal, allowing the
good use of MHz frequencies.
MOD CLOCK
| low-offset
+ SIG ---o | 50ms FET-input opamp
o-- 470k -+-------- + A3 detector
- SIG ---o S1 | ----+------- output
4053 0.1uF ,-- - |
| +--- 100k --'
gnd |
1.0k G = 101
| adjust to suit
gnd
In my simple lock-in circuit above, a CMOS 74HC4053 switch is used
for the synchronous rectifier. A high post-switch filter resistor
(470k is certainly high!) insures that differences in the switch's
Ron won't matter. The 4053 switch is pretty fast (e.g. NSC's part
is spec'd at about 15ns, typical), allowing undiminished operation
to say 200kHz. Actually, any deviation from balanced operation is
what concerns us, so we'd eye the _difference_ between the parts
41ns vs 32ns worst-case ON and OFF delays (15 and 16ns typ at +/-6V
supply). This implies the circuit can be used to say 10 to 20MHz,
with reduced rejection ability. At high frequencies, other issues,
like differential delay in reaching low Ron, etc. would be important.
I have used high-accuracy multipliers, like the Analog Devices AD734,
at higher frequencies with good results. Monolithic balanced mixers
are an excellent possibility too.
I'm assuming an accurate square-wave modulation to begin with, not
available at higher frequencies from the simple 555 circuit I used!
Instead, above say 50kHz, or for any really accurate work, make a 2x
clock and divide it to insure a 50% duty cycle. Hah! Then we'd have
to also examine the ON and OFF delays of the flip flop.
For serious RF frequencies, we'd simply use a 50-ohm balanced mixer,
nicely filling the role of inverter/transformer and synchronous
rectifier. So, with care Spehro, like they say, the sky's the limit.