Package de.gsi.math
Class ArrayMath
- java.lang.Object
-
- de.gsi.math.ArrayMath
-
public final class ArrayMath extends java.lang.Objectsome double array convenience methods- Author:
- rstein
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classArrayMath.FilterType
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static double[]add(double[] in, double value)static double[]add(double[] in, double[] value)static double[]add(double[] in, double[] value, int length)static double[]add(double[] in, int length, double value)static double[]addInPlace(double[] in, double value)static double[]addInPlace(double[] in, double[] value)static double[]addInPlace(double[] in, double[] value, int length)static double[]addInPlace(double[] in, int length, double value)static double[]calculateFilterParameters(double cutoffFraction, ArrayMath.FilterType filterType, double rippleP, double numberOfPoles, int iteration)calculate 2nd-order filter with Butterworth (rippleP=0) or Chebychev filter response (rippleP>0) N.B.static double[]decibel(double[] in)static double[]decibel(double[] in, int length)static double[]decibelInPlace(double[] in)static double[]decibelInPlace(double[] in, int length)static double[]divide(double[] in, double divisor)static double[]divide(double[] in, double[] divisor)static double[]divide(double[] in, double[] divisor, int length)static double[]divide(double[] in, int length, double divisor)static double[]divideInPlace(double[] in, double divisor)static double[]divideInPlace(double[] in, double[] divisor)static double[]divideInPlace(double[] in, double[] divisor, int length)static double[]divideInPlace(double[] in, int length, double divisor)static double[]filterSignal(double[] signal, double[] output, double cutoffFraction, int filterOrder, ArrayMath.FilterType filterType, double ripplePercent)filter from: "The Scientist and Engineer's Guide to DSP" Chapter 20static double[]inverseDecibel(double[] in)static double[]inverseDecibel(double[] in, int length)static double[]inverseDecibelInPlace(double[] in)static double[]inverseDecibelInPlace(double[] in, int length)static double[]multiply(double[] in, double multiplicator)static double[]multiply(double[] in, double[] multiplicator)static double[]multiply(double[] in, double[] multiplicator, int length)static double[]multiply(double[] in, int length, double multiplicator)static double[]multiplyInPlace(double[] in, double multiplicator)static double[]multiplyInPlace(double[] in, double[] multiplicator)static double[]multiplyInPlace(double[] in, double[] multiplicator, int length)static double[]multiplyInPlace(double[] in, int length, double multiplicator)static double[]notANumber(double[] in)static double[]notANumber(double[] in, int length)static double[]notANumberInPlace(double[] in)static double[]notANumberInPlace(double[] in, int length)static double[]sqr(double[] in)static double[]sqr(double[] in, int length)static double[]sqrInPlace(double[] in)static double[]sqrInPlace(double[] in, int length)static double[]sqrt(double[] in)static double[]sqrt(double[] in, int length)static double[]sqrtInPlace(double[] in)static double[]sqrtInPlace(double[] in, int length)static double[]subtract(double[] in, double value)static double[]subtract(double[] in, double[] value)static double[]subtract(double[] in, double[] value, int length)static double[]subtract(double[] in, int length, double value)static double[]subtractInPlace(double[] in, double value)static double[]subtractInPlace(double[] in, double[] value)static double[]subtractInPlace(double[] in, double[] value, int length)static double[]subtractInPlace(double[] in, int length, double value)static double[]tenLog10(double[] in)static double[]tenLog10(double[] in, int length)static double[]tenLog10InPlace(double[] in)static double[]tenLog10InPlace(double[] in, int length)
-
-
-
Method Detail
-
add
public static double[] add(double[] in, double value)
-
add
public static double[] add(double[] in, double[] value)
-
add
public static double[] add(double[] in, double[] value, int length)
-
add
public static double[] add(double[] in, int length, double value)
-
addInPlace
public static double[] addInPlace(double[] in, double value)
-
addInPlace
public static double[] addInPlace(double[] in, double[] value)
-
addInPlace
public static double[] addInPlace(double[] in, double[] value, int length)
-
addInPlace
public static double[] addInPlace(double[] in, int length, double value)
-
calculateFilterParameters
public static double[] calculateFilterParameters(double cutoffFraction, ArrayMath.FilterType filterType, double rippleP, double numberOfPoles, int iteration)calculate 2nd-order filter with Butterworth (rippleP=0) or Chebychev filter response (rippleP>0) N.B. numerically validated against data set examples in Table 20-6 http://www.dspguide.com/ch20/4.htm- Parameters:
cutoffFraction- fractional cut-offfilterType- LOW_PASS or HIGH_PASSrippleP- >0 -> Chebychev design-ripple in percent in the pass-bandnumberOfPoles- number of poles (if combined with 2*n filter stages)iteration- (whether this is the i-th filter in the chain)- Returns:
- array of [A0, A1, A2, B1, B2]
-
decibel
public static double[] decibel(double[] in)
-
decibel
public static double[] decibel(double[] in, int length)
-
decibelInPlace
public static double[] decibelInPlace(double[] in)
-
decibelInPlace
public static double[] decibelInPlace(double[] in, int length)
-
divide
public static double[] divide(double[] in, double divisor)
-
divide
public static double[] divide(double[] in, double[] divisor)
-
divide
public static double[] divide(double[] in, double[] divisor, int length)
-
divide
public static double[] divide(double[] in, int length, double divisor)
-
divideInPlace
public static double[] divideInPlace(double[] in, double divisor)
-
divideInPlace
public static double[] divideInPlace(double[] in, double[] divisor)
-
divideInPlace
public static double[] divideInPlace(double[] in, double[] divisor, int length)
-
divideInPlace
public static double[] divideInPlace(double[] in, int length, double divisor)
-
filterSignal
public static double[] filterSignal(double[] signal, double[] output, double cutoffFraction, int filterOrder, ArrayMath.FilterType filterType, double ripplePercent)filter from: "The Scientist and Engineer's Guide to DSP" Chapter 20- Parameters:
signal- input signaloutput- output signal (if null a new vector is being allocated)cutoffFraction- cutoffFreq must be smaller than half the sample ratefilterOrder- can be between 2 and 20filterType- 0: lowPass 1: highPassripplePercent- ripplePercent is amount of ripple in Chebyshev filter (0-29) (ripplePercent == 0 -> Butterworth)- Returns:
- filtered output signal
-
inverseDecibel
public static double[] inverseDecibel(double[] in)
-
inverseDecibel
public static double[] inverseDecibel(double[] in, int length)
-
inverseDecibelInPlace
public static double[] inverseDecibelInPlace(double[] in)
-
inverseDecibelInPlace
public static double[] inverseDecibelInPlace(double[] in, int length)
-
multiply
public static double[] multiply(double[] in, double multiplicator)
-
multiply
public static double[] multiply(double[] in, double[] multiplicator)
-
multiply
public static double[] multiply(double[] in, double[] multiplicator, int length)
-
multiply
public static double[] multiply(double[] in, int length, double multiplicator)
-
multiplyInPlace
public static double[] multiplyInPlace(double[] in, double multiplicator)
-
multiplyInPlace
public static double[] multiplyInPlace(double[] in, double[] multiplicator)
-
multiplyInPlace
public static double[] multiplyInPlace(double[] in, double[] multiplicator, int length)
-
multiplyInPlace
public static double[] multiplyInPlace(double[] in, int length, double multiplicator)
-
notANumber
public static double[] notANumber(double[] in)
-
notANumber
public static double[] notANumber(double[] in, int length)
-
notANumberInPlace
public static double[] notANumberInPlace(double[] in)
-
notANumberInPlace
public static double[] notANumberInPlace(double[] in, int length)
-
sqr
public static double[] sqr(double[] in)
-
sqr
public static double[] sqr(double[] in, int length)
-
sqrInPlace
public static double[] sqrInPlace(double[] in)
-
sqrInPlace
public static double[] sqrInPlace(double[] in, int length)
-
sqrt
public static double[] sqrt(double[] in)
-
sqrt
public static double[] sqrt(double[] in, int length)
-
sqrtInPlace
public static double[] sqrtInPlace(double[] in)
-
sqrtInPlace
public static double[] sqrtInPlace(double[] in, int length)
-
subtract
public static double[] subtract(double[] in, double value)
-
subtract
public static double[] subtract(double[] in, double[] value)
-
subtract
public static double[] subtract(double[] in, double[] value, int length)
-
subtract
public static double[] subtract(double[] in, int length, double value)
-
subtractInPlace
public static double[] subtractInPlace(double[] in, double value)
-
subtractInPlace
public static double[] subtractInPlace(double[] in, double[] value)
-
subtractInPlace
public static double[] subtractInPlace(double[] in, double[] value, int length)
-
subtractInPlace
public static double[] subtractInPlace(double[] in, int length, double value)
-
tenLog10
public static double[] tenLog10(double[] in)
-
tenLog10
public static double[] tenLog10(double[] in, int length)
-
tenLog10InPlace
public static double[] tenLog10InPlace(double[] in)
-
tenLog10InPlace
public static double[] tenLog10InPlace(double[] in, int length)
-
-