<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">Hello,<br>
Le 24/04/2015 14:05, <a class="moz-txt-link-abbreviated" href="mailto:paul.carrico@free.fr">paul.carrico@free.fr</a> a écrit :<br>
</div>
<blockquote
cite="mid:686551709.343172453.1429877101583.JavaMail.root@zimbra5-e1.priv.proxad.net"
type="cite">
<pre wrap="">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 ?</pre>
</blockquote>
Here is an example and its result:<br>
<pre style="font-family:Monospaced;font-style:normal;font-size:12.0;"><span style="color:rgb(0,0,0);">x</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(174,92,176);text-decoration:underline;">linspace</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">0</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">20</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">300</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">y</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(50,185,185);">exp</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">2</span><span style="color:rgb(92,92,92);">-</span><span style="color:rgb(0,0,0);">x</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">/</span><span style="color:rgb(188,143,143);">5</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">.*</span><span style="color:rgb(50,185,185);">sin</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">x</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">+</span><span style="color:rgb(50,185,185);">rand</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">x</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;
</span>
<span style="color:rgb(174,92,176);text-decoration:underline;">clf</span>
<span style="color:rgb(50,185,185);">plot2d</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">x</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">y</span><span style="color:rgb(74,85,219);">)</span>
<span style="color:rgb(0,0,0);">e</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(174,92,176);text-decoration:underline;">gce</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">e</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(0,0,0);">e</span><span style="color:rgb(92,92,92);">.</span><span style="color:rgb(170,170,170);">children</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">e</span><span style="color:rgb(92,92,92);">.</span><span style="color:rgb(170,170,170);">foreground</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(50,185,185);">color</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">grey80</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">d</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(174,92,176);text-decoration:underline;">diff</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">y</span><span style="color:rgb(74,85,219);">)</span> <span style="color:rgb(92,92,92);">./</span> <span style="color:rgb(174,92,176);text-decoration:underline;">diff</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">x</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">pmax</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(50,185,185);">find</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">d</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(255,170,0);">$</span><span style="color:rgb(92,92,92);">-</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">>=</span><span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(92,92,92);">&</span> <span style="color:rgb(0,0,0);">d</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">2</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(255,170,0);">$</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);"><</span><span style="col
or:rgb(188,143,143);">0</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">+</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">pmin</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(50,185,185);">find</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">d</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(255,170,0);">$</span><span style="color:rgb(92,92,92);">-</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);"><</span><span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(92,92,92);">&</span> <span style="color:rgb(0,0,0);">d</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">2</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(255,170,0);">$</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">></span><span style="colo
r:rgb(188,143,143);">0</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">+</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(100,174,100);font-style:italic;">// edges corrections</span>
<span style="color:rgb(160,32,240);">if</span> <span style="color:rgb(0,0,0);">d</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);"><</span><span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(160,32,240);">then</span>
<span style="color:rgb(0,0,0);">pmax</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(74,85,219);">[</span><span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(0,0,0);">pmax</span><span style="color:rgb(74,85,219);">]</span>
<span style="color:rgb(160,32,240);">end</span>
<span style="color:rgb(160,32,240);">if</span> <span style="color:rgb(0,0,0);">d</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(255,170,0);">$</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);"><</span><span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(160,32,240);">then</span>
<span style="color:rgb(0,0,0);">pmin</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(74,85,219);">[</span><span style="color:rgb(0,0,0);">pmin</span> <span style="color:rgb(50,185,185);">length</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">y</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">]</span>
<span style="color:rgb(160,32,240);">end</span>
<span style="color:rgb(100,174,100);font-style:italic;">//</span>
<span style="color:rgb(174,92,176);text-decoration:underline;">plot</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">x</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">pmax</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">y</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">pmax</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">r</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">x</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">pmin</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">y</span><span style="color:rgb(74,85
,219);">(</span><span style="color:rgb(0,0,0);">pmin</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">b</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(74,85,219);">)</span></pre>
<img src="cid:part1.07060203.08050202@free.fr" alt="" width="366"
height="268"><br>
Zooming on that shows in some places the limits of this naive
approach, to be refine.<br>
<br>
Regards<br>
Samuel<br>
<br>
<br>
</body>
</html>