Thanks for the response. Couple of questions and clarifications. I have a deterministic system, in other words, I exactly know when the pulse will occur, there is no question about it.
Please see the image first.
i. Integration: I am afraid there is a misunderstanding, look at the attached diagram. When I say integration, I mean, in the nano seconds preceeding the red circle, I am considering taking samples and summing them up. Without changing my hardware, I can basically get 3 adc samples during the rise time. (Alternatively, I can configure the ADC and let ADC capacitor to charge longer, which is an analog version of the same integration). If I want to make RMS detection, the way I imagine now is that I take as many ADC samples as possible in the signal time and do an RMS calculation. Is that what you are referring to?
ii. matched filter: In this case, (in traditional sense), my ADC rate is far below what is required by Nyquist, on top of that I am not fully sampling the stream, I am only sampling at the maximum likelihood point. But I can manually pad the data around my sample since I have an idea about how it should look, especially before and after the light pulse. Do you think this approach would work?
iii. Samples in guard time: The thinking is that the delta between the guard time and peak would act as some soft of high pass filter and remove or reduce the LF noise. (I am not a DSP guy, but intuitively, the LF noise will lift/pull all the pulses together, subtraction will equalize the baseline for all the pulse train and hence reduce the LF noise and boost SNR).
None of the channel coding/decoding would work in this special case (my application cannot accommodate any channel encoding), those are great suggestions.