Signal processing with Fast Wavelet Transform (daubechies 2)
Code: "wavelet_deuch2.py". Programming language: Python DMelt Version 1. Last modified: 12/11/2015. License: Pro
https://datamelt.org/code/cache/wavelet_deuch2_3557.py
To run this script using the DMelt IDE, copy the above URL link to the menu [File]→[Read script from URL] of the DMelt IDE.


# Based on Daniel Lemire's example

from jhplot  import *
from java.util import Random
from java.awt  import Color


c1 = HPlot("Canvas",600,400)
c1.setNameX("X")
c1.setNameY("Y")
c1.visible(1)
c1.setAutoRange()

p1 = P0D("Input data")
rand = Random();
for i in range(100):
          x=10*rand.nextGaussian()
          p1.add(x)
print p1.toString()

h1=p1.getH1D(50,-10,10)
c1.draw(h1)


# do wavelets
from jsci.maths import *
from jsci.maths.wavelet import *
from jsci.maths.wavelet.daubechies2 import *

ondelette = Daubechies2()
signal =Signal(p1.getArray())

# transform
signal.setFilter(ondelette);
level = 1 # for some level int
sCoef = signal.fwt(level) # get coeeficients from Fast Wavelet Transform
p2=P0D("Coefs0",sCoef.getCoefs()[0])
p3=P0D("Coefs1",sCoef.getCoefs()[1])
signalBack=P0D("Signal back", sCoef.rebuildSignal(ondelette).evaluate(0))



#  get the signal back
h3=signalBack.getH1D(50,-10,10)
h3.setColor(Color.red)
c1.draw(h3)

You see the box below because you did not login.