Window moving over a pulse signal and leaving output the avg of Max and Min values

1 view (last 30 days)
Hello ,
I am working with the Pulse signals and I want to get a window of say length 'x' moving over the entire pulse signal(comprised of different pulses).
Each time when the window operates with a particular length on a part of pulse signal which is containing different pulses has to give output both the avg of Max values of the all the pulses and also the avg of Min values of all the pulses present in the particular window size.If not possible then only the avg of Max values of the all the pulses.
Thanks.

Answers (1)

Image Analyst
Image Analyst on 25 Sep 2013
I know you have the Image Processing Toolbox, souse cat(2,...) to stick all your signals together in a 2D array, then call conv2() to get the means, call imdilate() to get the maxes, and imerode() to get the mins. It's only 5 lines of code total - give it a try.
out2d = cat(2,.....
minSignal = imerode(out2d,......
maxSignal = imdilate(out2d,......
meanMinSignal = conv2(minSignal ,.....
meanMaxSignal = conv2(maxSignal ,.....
See if you can finish it.
  3 Comments
Gova ReDDy
Gova ReDDy on 26 Sep 2013
Edited: Gova ReDDy on 26 Sep 2013
I looked at your answer here
It is quiet good that is similar to what I m looking but I dont have Image Processing Toolbox as I'm permitted to use only the signal Processing toolbox.
I need similar method that can work with the signal processing toolbox.
Will there be any way to find out this?
Image Analyst
Image Analyst on 26 Sep 2013
You can use blockproc() to do the erosion and dilation. They're just the local min and max, respectively. See demos attached below.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!