/** * JWave - Java implementation of wavelet transform algorithms * * Copyright 2010-2012 Christian Scheiblich * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * This file Daub03.java is part of JWave. * * @author Christian Scheiblich * date 25.03.2010 14:03:20 * contact graetz@mailfish.de */ package math.transform.jwave.handlers.wavelets; /** * Ingrid Daubechies' orthonormal wavelet of six coefficients and the scales; * normed, due to ||*||2 - euclidean norm. * * @date 25.03.2010 14:03:20 * @author Christian Scheiblich */ public class Daub03 extends Wavelet { /** * Constructor setting up the orthonormal Daubechie6 wavelet coeffs and the * scales; normed, due to ||*||2 - euclidean norm. * * @date 25.03.2010 14:03:20 * @author Christian Scheiblich */ public Daub03( ) { _waveLength = 6; double sqrt02 = 1.4142135623730951; double sqrt10 = Math.sqrt( 10. ); double constA = Math.sqrt( 5. + 2. * sqrt10 ); _scales = new double[ _waveLength ]; // can be done in static way also; faster? _scales[ 0 ] = ( 1. + 1. * sqrt10 + 1. * constA ) / 16. / sqrt02; // h0 _scales[ 1 ] = ( 5. + 1. * sqrt10 + 3. * constA ) / 16. / sqrt02; // h1 _scales[ 2 ] = ( 10. - 2. * sqrt10 + 2. * constA ) / 16. / sqrt02; // h2 _scales[ 3 ] = ( 10. - 2. * sqrt10 - 2. * constA ) / 16. / sqrt02; // h3 _scales[ 4 ] = ( 5. + 1. * sqrt10 - 3. * constA ) / 16. / sqrt02; // h4 _scales[ 5 ] = ( 1. + 1. * sqrt10 - 1. * constA ) / 16. / sqrt02; // h5 _coeffs = new double[ _waveLength ]; // can be done in static way also; faster? _coeffs[ 0 ] = _scales[ 5 ]; // h5 _coeffs[ 1 ] = -_scales[ 4 ]; // -h4 _coeffs[ 2 ] = _scales[ 3 ]; // h3 _coeffs[ 3 ] = -_scales[ 2 ]; // -h2 _coeffs[ 4 ] = _scales[ 1 ]; // h1 _coeffs[ 5 ] = -_scales[ 0 ]; // -h0 } // Daub03 } // class