My project is on visible light communication. I use a 555 timer circuit to modulate data with 200 KHz signal using a 3 watt LED.

At the receiver I use a photodiode (PS100-6-CER2PIN First Sensor Photodiode), a trans impedance amplifier (using LM358), a high pass filter (LM 358) with cut off frequency 200 KHz, and a Notch filter(LM 358) of 100Hz.

At the output of trans impedance amplifier, I can recover my transmitted data at a distance of 20 cm (checked using laptop with hyperterminal). But I get noise at the output of filters when data is transmitted. I checked using Oscilloscope, where I get the signal over a distance of 100 cm. Is it possible to recover the data at 100 cm? Why am I not able to recover the signal at a distance of 100 cm, though I can see a clear signal in oscilloscope at 100 cm?

enter image description hereenter image description here enter image description hereenter image description here

  • \$\begingroup\$ If you get a clear signal then of course it is possible to recover the data. Does your circuit not recover the data? If not, why not? \$\endgroup\$ Commented Sep 11, 2018 at 5:34
  • \$\begingroup\$ somebody esle upvote the pending edit quickly please. \$\endgroup\$
    – Neil_UK
    Commented Sep 11, 2018 at 6:04
  • \$\begingroup\$ Looks like signal saturation. To get back a square wave use a fast comparator to clean up the mess you are getting. \$\endgroup\$
    – user105652
    Commented Sep 11, 2018 at 6:10
  • \$\begingroup\$ @Sparky256..thank you.using a comparator after the filter can recover the transmitted data? The above output images are captured when there is no data transmission. \$\endgroup\$
    – user198196
    Commented Sep 11, 2018 at 6:18
  • \$\begingroup\$ The guys at RONJA project have figured out a lot of things in optical communications. It's open-source ronja.twibright.com so you can check out all the schematics. \$\endgroup\$
    – filo
    Commented Sep 11, 2018 at 7:03

1 Answer 1


First, what do you mean by "modulate"? AM? FM? What bandwidth?

Second, you need faster op amps. The LM358 at 200 kHz is running right at the raggedy edge. And a 200 kHz high-pass with a 358 is madness. Furthermore, assuming a single-pole high-pass at 200 kHz means that you are losing 50% of your signal - check out the details of high-pass operation. Finally, if you have a high-pass at 200 kHz, why do you have a notch filter at 100 Hz? It makes no sense. The fact that your TIA never levels out at either top or bottom is proof positive that it (in combination with the photodiode) is too slow. And the asymmetric rise/fall waveforms are a strong indicator that you are saturating, probably at the zero level.

Third, I'll bet you're running the LM358 in your TIA single-supply. Don't. It doesn't work all that well at zero output. You must either a) go dual-supply, or b) run a virtual ground. Are you using photoconductive or photovoltaic mode? If the former, what is your bias supply?

Fourth, if you're running photovoltaic, this is not a good choice of sensor. It has a big area (10 x 10 mm), which is gigantic by most standards. This makes it sensitive, but it also makes it slow. The data sheet gives the 0V rise time as 2 usec. This is probably the rise time from 10% to 90% of final value. At 200 kHz, each phase is only 2.5 usec, so you can see that you are (once again) on the raggedy edge. You must go with photoconductive, and the need for a bias supply once again says you should be running dual-supply. And if you use a photoconductive mode, be aware that the diode capacitance (160 pF at 10 volts bias) means that you will need to have a decent feedback capacitor to ensure stability. And this, in turn will limit TIA bandwidth, so be careful.

TL;DR - Not enough information to provide an answer, just questions. Please edit and use the schematic tool (the button with the diode and resistor), or just hit ctrl-m. Provide schematics of your circuit.

I suggest you try running your LED at 1 KHz and see what your waveforms, particularly the TIA output, look like when the op amp is operating within its proper range.

  • \$\begingroup\$ It looks like (from the tracings) that there is more than enough signal to sample (though the output of the filter remains a mystery), and that the question is about where is the signal going between generation and sampling? Of course, we need a sample rate, range/speed of ADC, and a whole slow of other things that weren't provided. \$\endgroup\$ Commented Sep 11, 2018 at 13:10
  • \$\begingroup\$ @ Scott Seidman,Thank you.I did not use any ADC.Just directly transmitting data serially using hyperterminal in Laptop to 555 timer(200 Khz) via USB to UART converter. \$\endgroup\$
    – user198196
    Commented Sep 11, 2018 at 13:57
  • \$\begingroup\$ @WhatRoughBeast,Thank you so much for your valuable guidance.Am a newbie to visible light communication.Modulation is On-Off keying modulation using 555 timer.Photodiode is connected in photoconductive mode with +5v bias supply.I have used 200 Khz to avoid interference from ambient light(100 Hz).Large surface area photodiode I have chosen since I want to improve the range between the transmitter and reciever.I agree no sense in using Notch filter.I have a few questions \$\endgroup\$
    – user198196
    Commented Sep 11, 2018 at 14:34
  • 1
    \$\begingroup\$ @user198196 - For increased range you want a lens, not a big photodiode. Use a smaller PD and put it at the focal length of a smallish (less than 1 inch diameter) lens. Mount in a tube with a bit of overhang in front to shield from ambient light. The assembly now becomes fairly directional, but that's the point. Try surplusshed.com for cheap lenses. For major questions, start a new question. The rule here is one issue per question. Sometimes you can get away with two or three if they are closely related, but you can also get your question closed as being too broad. \$\endgroup\$ Commented Sep 11, 2018 at 16:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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