# Effective filter with small tap size

I am dealing with a problem where I need to make a decision on a 500khz signal under 100usec. The signal is noisy and I am detecting a peak in the incoming signal. Currently I do a 7 step mean filter (down sample by 7) and a moving average of 8 taps following that. This delays my signal 56 samples roughly 112 usec. (2 usec* 7 * 8) If I reduce the filter taps the noise starts to confuse my detector and it starts to fail. Noise is white Gaussian noise, there are no dominant frequencies in the noise.

I am not just interested in the presence of the peak (that would have been a simpler problem) but I am also interested in rise and fall time of the peak. The peak base duration could be between 50 samples (100uSec) to 5,000 samples (10msec). In slow cases the decision speed doesn't matter but in high speeds, the decision speed does make a difference.

My current detector is crude but very efficient. I basically look back filtered signals in time to see if certain thresholds are met or not to make a decision if there is a peak. Once I suspect there is a peak, I find the rise and fall time. This whole operation takes less than 50usec and very optimized. I loose another 100usec in time due to filter memory and I wanted to see if I could get a better detector design.

I have considered several options, such as derivative of the signal (gave up due to noise), matched filter (due to wide frequency range, difficult to design a filter that would work well etc.)

I am looking for ideas to optimize my decision time from its 150usec to 100usec range by reducing the filter delay but not impacting the filter quality.

• Do you know anything about the characteristics of the noise ? Nov 11, 2012 at 16:45
• @PaulR I checked, there are no dominant frequencies in the noise, it appears it is voltage noise trickling into ADC. How would knowing the noise would help? I can do experiments. Nov 12, 2012 at 0:56
• What is 50 usec? Is it required time delay or is it length of your signal? What is length of your " special pattern in the incoming signal"? Nov 12, 2012 at 3:53
• You need to clarify the problem. On the one hand you claim you're attempting to detect a pattern. Your most recent comment suggests your estimating a peak. These are two different problems. If it's a detection problem and your "special pattern" is well defined, then you want to look at what the optimal detector is. Most likely (most common noise/model assumptions), you'll be doing thresholding on matched filtering. Nov 14, 2012 at 13:43
• @Ktuncer you're missing the forrest through the trees here. How can we answer your question when you add pertinent information with every comment? If you want an answer, edit your question to include the details you've given in the comments and as much additional detail about your problem and constraints as possible. Nov 16, 2012 at 14:07