Suggestions for filtering a signal

1 次查看(过去 30 天)
Gova ReDDy
Gova ReDDy 2013-11-27
编辑: Gova ReDDy 2013-12-4
Hello, I have a signal as shown here signal and I need to filter it so that the resultant will only have the noiseless pulse signal.I have used the SG filter as sgolayfilt(b,3,31); adn the response is shown in the link image. The smoothed from SGfilter still needs to be filtered as the required is only the pure pulse signal.So tried using the LP filter as
d = fdesign.lowpass('Fp,Fst,Ap,Ast',3,5,0.5,40,100);
Hd = design(d,'equiripple');
output = filter(Hd,SGfiltereoutput);
But the resultant shown in the 3rd plot of the link image is very different to the one expected. Can anyone suggest how to get a pure pulse signal from the signal shown in the 1 part of link image. thanks.
  2 个评论
Gova ReDDy
Gova ReDDy 2013-11-27
编辑:Gova ReDDy 2013-11-27
Yes,there are two attchments with one having a single pulse and other having set of pulses in it.

请先登录,再进行评论。

回答(1 个)

Image Analyst
Image Analyst 2013-11-27
Well you obviously filtered it too much. I think the Savitzky-Golay filter is still the way to go. Why don't you just increase the window width to get more smoothing? But if you're looking to recover a pure delta function or step function, you're not going to do it by smoothing the signal - that's the exact opposite of what you want to do. I'm not sure how you define pulse. Can you give an example of the pure pulse or signal that you're trying to get?
  20 个评论
Image Analyst
Image Analyst 2013-12-3
It's just MATLAB code. And not even as hard as what's inside sgolay(). Can't you use the Coder to create C code to put onto your microcontroller?
Gova ReDDy
Gova ReDDy 2013-12-3
编辑:Gova ReDDy 2013-12-4
I need to your comments on the on the output of SG and LP filters as they have the same output response except the LPfilter starts from zero insetad of original value.Need your suggestion to make the LPfilter output to start from original instead of zero and is my LPfilter needs any chnages for this particular implementation.
Also can you suggest an efficient method to find(count) the number of pulses occured in a particular time like now I am checking the peaks above a threshold and counting. Thanks.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Signal Generation and Preprocessing 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by