I need to detect a laser signal using a solar cell.

My first problem is that all I get is a current generated from the solar cell that will vary (as I understand and correct me if I'm wrong) in it's frequency depending on what illuminates it.

So to make this easier I would be using a band pass filter to only detect the laser (which I dunno how yet, just got the idea from here) but the they mentioned it's a 1khz band pass filter which I dunno how that would only detect the 600(ish)nm laser frequency.

I was also thinking about splitting down the units to cells so I would get better accuracy, but I'm still worried about the false positives.

Also, trial and error won't work for me as I don't have any equipment on hand.

Finally, I'm working in direct sun light, but need pin point accuracy and no false positives. I do NOT, however, care about detecting time or intensity

  • 1
    \$\begingroup\$ 1. The current from your solar cell will only vary if the intensity of light which illuminates it varies. The current will most definitely not vary at the frequency of the light which illuminates it. \$\endgroup\$ – brhans Feb 3 '16 at 20:58
  • 1
    \$\begingroup\$ 2. A solar cell is not the correct device to do what you're describing. Try looking up 'photodiode' instead. \$\endgroup\$ – brhans Feb 3 '16 at 20:59
  • 1
    \$\begingroup\$ 3. If you modulate (vary) the intensity of your laser at (for example) 1kHz, then using a 1kHz band-pass filter on the signal from your detector (photodiode) would certainly be a good idea. \$\endgroup\$ – brhans Feb 3 '16 at 21:01
  • 1
    \$\begingroup\$ And you are in for a big disappointment if you think you can design a system without any knowledge AND without some equipment to experiment with. Do you expect to design a system for the first time and then have it work the first time you use it? Sorry, but you have a lot of catching up to do. \$\endgroup\$ – WhatRoughBeast Feb 3 '16 at 21:21

It seems you are confusing the laser light frequency with the signal it might be modulated with.

The system you describe is apparently modulating the lasers at 1 kHz. This makes sense as normal things in the environment aren't going to produce light that comes and goes at a steady 1 kHz. This also allows you to AC couple the light sensor signal. That's useful since normal ambient light level can vary over a wide range. Instead of looking for a certain light level, you look for the unique amplitude pattern that only your laser is producing.

The current produced by the light sensor is proportional to the overall instantaneous light intensity, up to probably a few 10s of kHz to 100s of kHz or more, depending on the photodiode. After AC coupling this signal, you detect the presence of 1 kHz. This can be done by a bandpass or tuned notch filter, or in firmware.

1 kHz is low enough that a narrow band filter at that frequency is quite readily doable in firmware. Let's say you sample at 10 kHz. That still gives you 100 µs to process each sample, which is a "long" time for even a modest microcontroller or low end DSP.

One way to do this is to multiply the sample stream separately by 1 kHz sine and cosine. Low pass filter each of these products separately. The filter frequency will be the deviation from 1 kHz you can detect. For example, if you low filter the two products to 20 Hz, then you will be filtering the original from 980 to 1020 Hz.

After low pass filtering the two products, square each, then add the squares. The result is the square of the 1 kHz amplitude in your original signal. If you're just detecting a certain level, then you can just as well do that with the square of the level than the level itself.

  • \$\begingroup\$ In para. 3, you mention a photodiode. OP is using a photo-voltaic cell for a detector (though I agree an optical detector would be a better solution for faster response). \$\endgroup\$ – Robherc KV5ROB Feb 3 '16 at 21:05

Ok, first off, the frequency of the current produced by the pv cell has absolutely nothing to do with the wavelength of the light that is striking it (however, different wavelengths are converted more/less efficiently, but that won't help you here).

The ability of the 1KHz band-pass filter to "pick out" the signal from the laser is due to the laser being pulsed (turned on and off) at 1khz, so the pv cell gets hit with more light (and thus generates more power) for 0.0005s, then with less light (less power output) for 0.0005s. This is what the detector is sensing.

Fair warning: pretty much anything you do with building your own circuits/oscillators/detectors/etc. is inherently a bit "trial and error." If it works right the first time, go dance your happy dance...just don't expect that result every time you plug in your soldering iron, or you'll be sorely & frequently disappointed.

As for working in "direct sunlight," depending on exactly how much sunlight is hitting the pv cell, there will likely be times when the cell is simply "maxed out" and incapable of producing a tangible amount more output when the laser hits it.
As long as it doesn't get hit with another 1KHz pulsating light source, and the wires don't pick up some stray 1KHz EMI/RFI, you shouldn't get false positives, BUT there will likely be times when, in direct sunlight, the laser simply cannot be detected (at least not until a cloud/shadow passes over the pv cell for a few milliseconds).


Already some good answers here, but there are a few points I'd like to hit again.

First off, echoing several others, do you actually need to produce power from sunlight and detect the laser with the same PV cell? There are situations where this is indeed necessary, but if this is not the case, you'd be better off using a different sort of photodetector for the laser, as already suggested. In that case, you would probably want to put an optical bandpass filter in front of the detector that rejects all wavelengths except what the laser produces. This will greatly help with the saturation problem @Robherc refers to. Be careful that the passband isn't so narrow that tolerances in the filter and laser cause a mismatch and loss of signal. Perhaps this partially addresses your confusion about the laser wavelength and the 1kHz electrical bandpass filter, which is in an entirely different domain. If you really need to do what you originally described, though, then this isn't an option.

You say you need 'pinpoint accuracy'. That's more of a marketing term than an engineering term. What do you really mean? You're not going to get better spatial resolution than the size of your detector, so again, if spatial accuracy is important, a power generation PV cell is not going to be your detector of choice.

You also say you don't care about intensity or detecting time. You may be thinking that you don't care, but, again, if we're doing engineering here, it's very unlikely that you truly don't care about these things. Are you really OK with 1 attowatt of received power and 100 hours of integration time? In order to design something, you have to start by putting numbers on pretty much everything you know about. Otherwise you have an underconstrained problem that either admits no solution, or allows solutions very different from what you were (possibly unconsciously) expecting.

Oh, and by the way, if you really, really, can't have any false positives (because that launches the missiles, doh!), look out for insects flying in the sunlight that beat their wings at 1kHz.


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.