math.jwave.transforms
Class AncientEgyptianDecomposition
- java.lang.Object
-
- math.jwave.transforms.BasicTransform
-
- math.jwave.transforms.AncientEgyptianDecomposition
-
public class AncientEgyptianDecomposition extends BasicTransform
A wavelet transform method for arrays and signals of arbitrary lengths, even odd lengths. The array is decomposed in several parts of optimal lengths by applying the ancient Egyptian decomposition. Hereby, the array or signal is decomposed to the largest possible sub arrays of two the power of p. Afterwards each sub array is transformed forward and copied back to the discrete position of the input array. The reverse transform applies the same vice versa. In more detail the ancient Egyptian Multiplication can be easily explained by the following example: 42 = 2^5 + 2^3 + 2^1 = 32 + 8 + 2. However, an array or signal of odd length produces the smallest ancient Egyptian multiplier 2^0 which is actually 1. Therefore, the matching sub array or signal is untouched an the coefficient is actually the wavelet coefficient of wavelet space of level 0. For an "orthonormal" wavelet this holds. See: http://en.wikipedia.org/wiki/Ancient_Egyptian_multiplication
-
-
Constructor Summary
Constructors Constructor and Description AncientEgyptianDecomposition(BasicTransform waveTransform)Constructor taking the
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description double[]forward(double[] arrTime)This forward method decomposes the given array of arbitrary length to sub arrays while applying the ancient Egyptian decomposition.double[]reverse(double[] arrHilb)This reverse method awaits an array of arbitrary length in wavelet space keeping the wavelet already decomposed by the ancient Egyptian decomposition.
-
-
-
Constructor Detail
-
AncientEgyptianDecomposition
public AncientEgyptianDecomposition(BasicTransform waveTransform)
Constructor taking the
-
-
Method Detail
-
forward
public double[] forward(double[] arrTime)
This forward method decomposes the given array of arbitrary length to sub arrays while applying the ancient Egyptian decomposition. Each sub array is transformed by the selected basic transform and the resulting wavelet coefficients are copied back to their original discrete positions.- Specified by:
forwardin classBasicTransform- Parameters:
arrTime- coefficients of 1-D time domain- Returns:
- coefficients of 1-D frequency or Hilbert domain
- See Also:
BasicTransform.forward(double[])
-
reverse
public double[] reverse(double[] arrHilb)
This reverse method awaits an array of arbitrary length in wavelet space keeping the wavelet already decomposed by the ancient Egyptian decomposition. Therefore, each of the existing sub arrays of length 2^p is reverse transformed by the selected basic transform and the resulting coefficients of time domain are copied back to their original discrete positions.- Specified by:
reversein classBasicTransform- Parameters:
arrHilb- coefficients of 1-D frequency or Hilbert domain- Returns:
- coefficients of 1-D time domain
- See Also:
BasicTransform.reverse(double[])
-
-
DMelt 3.0 © DataMelt by jWork.ORG