Hi guys,<div><br></div><div>I have implemented the Wavelet Transform in Chuck (to work with it moreover of FFT, etc). The code is:</div><div><br></div><div>
<pre style="margin-top:0px;margin-bottom:0px">fun<span style="color:#c0c0c0"> </span>int[]<span style="color:#c0c0c0"> </span>discreteHaarWaveletTransform(<span style="color:#c0c0c0"> </span>int<span style="color:#c0c0c0"> </span>input[]){</pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span>int<span style="color:#c0c0c0"> </span>sum,<span style="color:#c0c0c0"> </span>difference,length,i;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span>int<span style="color:#c0c0c0">  </span>output[input.cap()];</pre>
<pre style="margin-top:0px;margin-bottom:0px"></pre>
<pre style="margin-top:0px;margin-bottom:0px"></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span>for<span style="color:#c0c0c0"> </span>(<span style="color:#c0c0c0"> </span>(input.cap()<span style="color:#c0c0c0"> </span>>><span style="color:#c0c0c0"> </span>1)<span style="color:#c0c0c0"> </span>=><span style="color:#c0c0c0"> </span>length<span style="color:#c0c0c0"> </span>;<span style="color:#c0c0c0"> </span>true<span style="color:#c0c0c0"> </span>;<span style="color:#c0c0c0">  </span>(length<span style="color:#c0c0c0"> </span>>><span style="color:#c0c0c0"> </span>1)<span style="color:#c0c0c0"> </span>=><span style="color:#c0c0c0"> </span>length)<span style="color:#c0c0c0"> </span>{</pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>for<span style="color:#c0c0c0"> </span>(0<span style="color:#c0c0c0"> </span>=><span style="color:#c0c0c0"> </span>i;<span style="color:#c0c0c0"> </span>i<span style="color:#c0c0c0"> </span><<span style="color:#c0c0c0"> </span>length;<span style="color:#c0c0c0"> </span>++i)<span style="color:#c0c0c0"> </span>{</pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">            </span>input[i<span style="color:#c0c0c0"> </span>*<span style="color:#c0c0c0"> </span>2]<span style="color:#c0c0c0"> </span>+<span style="color:#c0c0c0"> </span>input[i<span style="color:#c0c0c0"> </span>*<span style="color:#c0c0c0"> </span>2<span style="color:#c0c0c0"> </span>+<span style="color:#c0c0c0"> </span>1]<span style="color:#c0c0c0"> </span>=><span style="color:#c0c0c0"> </span>sum;</pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">            </span>input[i<span style="color:#c0c0c0"> </span>*<span style="color:#c0c0c0"> </span>2]<span style="color:#c0c0c0"> </span>-<span style="color:#c0c0c0"> </span>input[i<span style="color:#c0c0c0"> </span>*<span style="color:#c0c0c0"> </span>2<span style="color:#c0c0c0"> </span>+<span style="color:#c0c0c0"> </span>1]<span style="color:#c0c0c0"> </span>=><span style="color:#c0c0c0"> </span>difference;</pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">            </span>sum<span style="color:#c0c0c0"> </span>=><span style="color:#c0c0c0"> </span>output[i]<span style="color:#c0c0c0"> </span>;</pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">            </span>difference<span style="color:#c0c0c0"> </span>=><span style="color:#c0c0c0"> </span>output[length<span style="color:#c0c0c0"> </span>+<span style="color:#c0c0c0"> </span>i];</pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>}</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>if<span style="color:#c0c0c0"> </span>(length<span style="color:#c0c0c0"> </span>==<span style="color:#c0c0c0"> </span>1)<span style="color:#c0c0c0"> </span>{</pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">            </span>return<span style="color:#c0c0c0"> </span>output;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>}</pre>
<pre style="margin-top:0px;margin-bottom:0px"></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>//Swap<span style="color:#c0c0c0"> </span>arrays<span style="color:#c0c0c0"> </span>to<span style="color:#c0c0c0"> </span>do<span style="color:#c0c0c0"> </span>next<span style="color:#c0c0c0"> </span>iteration</pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>for<span style="color:#c0c0c0"> </span>(0=>i;<span style="color:#c0c0c0"> </span>i<span style="color:#c0c0c0"> </span><<span style="color:#c0c0c0"> </span>(length<<1);<span style="color:#c0c0c0"> </span>i++){</pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">            </span>output[i]<span style="color:#c0c0c0"> </span>=><span style="color:#c0c0c0"> </span>input[i];</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>}</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span>}</pre>
<pre style="margin-top:0px;margin-bottom:0px">}</pre>
<pre style="margin-top:0px;margin-bottom:0px"></pre><div><br></div><div><br></div><div><br></div><div>The only one problem is that I don't know how get from adc the values of the microphone input signal. I don't want to use FFT or similar. My implementation of Haar Wavelet Transform need this values.</div>

<div><br></div><div><br></div><div>Anybody knows how get its?</div><div><br></div><div>Thanks so much.</div><div><br></div><div><br></div>-- <br>Fernando Alonso Martín<br><a href="mailto:Lualobus@gmail.com" target="_blank">Lualobus@gmail.com</a><br>

<div><a href="http://www.roboticNaturalInteraction.com/famartin.html" target="_blank">http://roboticnaturalinteraction.com</a></div><div><br></div>
</div>