[Scilab-users] Envelop of a noisy curve
Tim Wescott
tim at wescottdesign.com
Sat Apr 25 01:54:39 CEST 2015
Heh. This is much better than my suggested method, both in speed and in
resulting in a well-defined envelope. I'll have to remember it.
On Fri, 2015-04-24 at 21:03 +0200, Samuel Gougeon wrote:
> Hello,
> Le 24/04/2015 14:05, paul.carrico at free.fr a écrit :
>
> > Dear All,
> >
> > I am absolutly not familiar with "signal processing" field, so my question is probably naïve: how can I proceed to get the envelop curve (maximum values) of a non periodic noisy signal ?
> Here is an example and its result:
> x = linspace(0,20,300);
> y = exp((2-x)/5).*sin(x)+rand(x);
>
> clf
> plot2d(x,y)
> e = gce();
> e = e.children;
> e.foreground = color("grey80");
>
> d = diff(y) ./ diff(x);
> pmax = find(d(1:$-1)>=0 & d(2:$)<0)+1;
> pmin = find(d(1:$-1)<0 & d(2:$)>0)+1;
> // edges corrections
> if d(1)<0 then
> pmax = [1 pmax]
> end
> if d($)<0 then
> pmin = [pmin length(y)]
> end
> //
> plot(x(pmax),y(pmax),"r",x(pmin),y(pmin),"b")
>
> Zooming on that shows in some places the limits of this naive
> approach, to be refine.
>
> Regards
> Samuel
>
>
> _______________________________________________
> users mailing list
> users at lists.scilab.org
> http://lists.scilab.org/mailman/listinfo/users
--
Tim Wescott
www.wescottdesign.com
Control & Communications systems, circuit & software design.
Phone: 503.631.7815
Cell: 503.349.8432
More information about the users
mailing list