2
\$\begingroup\$

I'm trying to design a precision spectrophotometer that only uses three wavelengths of light. The high level design involves using three laser diodes that pump photons of the three wavelengths. This light passes through the sample and is detected by three photodiodes.

I am using the AD9833 DDS chip to enable me to generate sine/square waves as need be. These are then fed to a current generation circuitry that forces currents resembling these waveforms to flow through the diodes.

I'm in a fix deciding what method to use for the detection circuitry(photodiodes) as the signal I'm trying to decode is in ppm/sub-ppm level. I have thought of two schemes:

1) Generate a sinusoidal light pattern of a frequency(say 1kHz). If I use an integrated package like TSL257, I should be able to read out the voltage with a precision ADC, then demodulate the received signal at the transmit frequency. This synchronous mod/de-mod should give me good accuracy/resolution.

2) Generate a square wave light pattern(0 to high) and then use a package like TSL237 to convert the light energy to frequency and use frequency counting to get the accuracy/resolution. With a base frequency of 1Mhz, a ppm of signal would cause a frequency shift of 1Hz while the noise floor is in 0.1Hz. This made me think this method could also work.

Which one is a better way to sense ppm-level signals?

\$\endgroup\$
3
\$\begingroup\$

You seem to be comparing apples with oranges giraffes for your light levels. The great advantage of the frequency output TSL237 is its dynamic range. The TSL257 will only handle 3uW with its output range of 0 to 5v, with the reference 2v at 1.54uW in the middle. The TSL237's equivalent output at the same irradiance is around 4kHz (2.3kHz/uW), while its max output will go to 500kHz min, 1MHz max, so a much larger maximum light signal. I'm not sure where you get your base frequency of 1MHz and noise level of 0.1Hz from (are you confusing 0.1Hz dark output with a noise level?), not in the data sheet I've downloaded. I strongly suspect that the effective noise of the 237 will be broadly equivalent to that of the 257 under the same illumination. If you want to use 500kHz output from the 237, then you need light levels 100 times those for the 257.

Generating a square light modulation and then trying to count pulses will be doomed to failure. If the 237 was sine or triangle output, you could read it with a fast ADC and estimate phase at the light change times. As it's square wave output, you have approaching a cycle uncertainty every time the light pulses on or off, which adds a huge amount of noise.

Your best bet is to use the traditional 'lock-in' amplifier, or something equivalent in DSP. That is, you generate a square wave modulation to your light stimulus (square gives you slightly higher modulation power for the same peak power than sine wave), then continue as in your suggestion (1).

The 257 suggests a noise density of 7uV at 1kHz offset, staying pretty flat to lower frequencies. If we compare that to the middle output voltage of 2v, that indicates that with a 1kHz modulation, the 1Hz SNR is about -10dB, so you'll need 10s averaging to get to tangential sensitivity for 1ppm, and 100s to get to 10dB SNR.

One other thing the 237 appears to have going for it is its response time, 1uS + 1 cycle, instead of the 160uS 10/90 response of the 257. That could work in your favour if the noise level turns out to be lower at higher modulation frequencies. There may be a way to 'count' the frequency suitable for synchronous demodulation. If you low pass filter the output square wave, then ADC the output fast enough to obtain 5 or so samples on each sloping edge, then you will be able to fit to those samples to nail the edge timing down to sub-sample resolution. The more bits you can use, the better will be your timing interpolation. If you then identify the cycles that correspond wholly to one or the other light level, and ignore those that straddle them, you might get a reasonable measurement you can average synchronously. Whether the noise level you get is better or worse than the 257 is a matter for experiment with a real 237 and digitiser. If you capture data with a digitising oscilloscope, you will be able to estimate timing off line, before implementing any DSP.

Aside from the specifics of these detectors and use with synchronous demodulation, counting methods can work well, as long as you use ADC and DSP to do phase/timing estimation, rather than the niave counting edges in a gate time.

| improve this answer | |
\$\endgroup\$
1
\$\begingroup\$

Either method will work. Because your light sources are lasers, it might be more useful to pick off a bit of the beam before it enters the sample, and modulate to match the detected light to your sine reference rather than directly modulating input current. Sinewave modulation is easier to regulate if this method is employed, and the unfortunate possibility of dropping below the laser threshold is easily detected.

For low noise, a separate detector and V/F converter are a better approach than using a unified sensor with onboard frequency generation. Gain control by precision resistors can get you to a target center frequency (like, 1 MHz) but the TSL237 has fixed gain (could you settle for 5000 Hz?).

Because your signal is a small one, frequency conversion is far superior to other ADC schemes; it has the best possible differential linearity. It will take some effort, though, to generate the UP count during exactly 50% of the duty cycle, and DOWN count during the other 50%, because the AD9833 doesn't generate simultaneous square and sine signals. So, use AD9834 instead.

| improve this answer | |
\$\endgroup\$
0
\$\begingroup\$

With a 1MHz base signal, a 1ppm difference would be a 1Hz frequency deviation. The difference in the period of a 1,000,000Hz signal and a 1,000,001Hz signal is about 1ps. It seems that kind of timing resolution would be quite hard to achieve.

On the other hand there are plenty of 20+ bit ADCs out there for measuring a demodulated sinewave.

| improve this answer | |
\$\endgroup\$
  • \$\begingroup\$ If you have a gated counter tied to a very stable master clock you can measure a 1Hz change in a 1MHz signal as you're not measuring period, you're measuring the number of ticks. But that 20+ bit ADC is probably a much easier way to go. \$\endgroup\$ – Sam Jan 9 '17 at 22:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.