org.gcube.dataanalysis.ecoengine.signals
Class SignalConversions

java.lang.Object
  extended by org.gcube.dataanalysis.ecoengine.signals.SignalConversions

public class SignalConversions
extends Object

includes tools for basic signal transformations: delta + double delta center frequency cepstral coefficients calculation spectrum frequency cut transformation to and from Rapid Miner Example Set filterbanks fequency to mel frequency to index in fft sinusoid signal generation inverse mel log10 mel filterbanks sample to time and time to sample signal timeline generation index to time in spectrogram spectrogram calculation and display time to index in spectrogram

Author:
coro

Constructor Summary
SignalConversions()
           
 
Method Summary
static double[][] addDeltaDouble(double[][] features)
           
static double centerFreq(int i, double samplingRate, double lowerFilterFreq, int numMelFilters)
           
static double[] cepCoefficients(double[] f, int numCepstra, int numFilters)
           
static BufferedImage createImage(JPanel panel)
           
static double[][] cutSpectrum(double[][] spectrum, float minFreq, float maxfreq, int fftWindowSize, int samplingRate)
           
static void exampleSet2Signal(double[] rebuiltSignal, com.rapidminer.example.ExampleSet es)
           
static void exampleSet2Signal(double[] rebuiltSignal, com.rapidminer.example.ExampleSet es, Double fillerValueFormissingEntries)
           
static int[] fftBinIndices(double samplingRate, int frameSize, int numMelFilters, float lowerFilterFreq)
           
static int[] fftBinIndices(double samplingRate, int frameSize, int numMelFilters, int numFequencies, float lowerFilterFreq, float upperFilterFreq)
           
static double freqToMel(double freq)
           
static int frequencyIndex(float frequency, int fftSize, float samplingRate)
           
static double log10(double value)
           
static double[] melFilter(double[] bin, int[] cbin, int numMelFilters)
           
static int recalculateMaxMelFilters(double samplingRate, int numMelFilters, float lowerFilterFreq, float maxFilterFreq)
           
static double sample2Time(int sample, int sampleRate)
           
static com.rapidminer.example.ExampleSet signal2ExampleSet(double[] signal)
           
static double[] signalTimeLine(int signalLength, double samplingRate)
           
static double[][] spectrogram(String name, double[] signal, int samplingRate, int windowshift, int frameslength, boolean display)
           
static int spectrumIndex(float linearTime, float windowShiftTime)
           
static float spectrumTime(float linearTime, float windowShiftTime)
           
static float spectrumTimeFromIndex(int index, float windowShiftTime)
           
static int time2Sample(double time, int sampleRate)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SignalConversions

public SignalConversions()
Method Detail

addDeltaDouble

public static double[][] addDeltaDouble(double[][] features)
                                 throws Exception
Throws:
Exception

centerFreq

public static double centerFreq(int i,
                                double samplingRate,
                                double lowerFilterFreq,
                                int numMelFilters)

cepCoefficients

public static double[] cepCoefficients(double[] f,
                                       int numCepstra,
                                       int numFilters)

createImage

public static BufferedImage createImage(JPanel panel)

cutSpectrum

public static double[][] cutSpectrum(double[][] spectrum,
                                     float minFreq,
                                     float maxfreq,
                                     int fftWindowSize,
                                     int samplingRate)

exampleSet2Signal

public static void exampleSet2Signal(double[] rebuiltSignal,
                                     com.rapidminer.example.ExampleSet es,
                                     Double fillerValueFormissingEntries)

exampleSet2Signal

public static void exampleSet2Signal(double[] rebuiltSignal,
                                     com.rapidminer.example.ExampleSet es)

fftBinIndices

public static int[] fftBinIndices(double samplingRate,
                                  int frameSize,
                                  int numMelFilters,
                                  int numFequencies,
                                  float lowerFilterFreq,
                                  float upperFilterFreq)

fftBinIndices

public static int[] fftBinIndices(double samplingRate,
                                  int frameSize,
                                  int numMelFilters,
                                  float lowerFilterFreq)

freqToMel

public static double freqToMel(double freq)

frequencyIndex

public static int frequencyIndex(float frequency,
                                 int fftSize,
                                 float samplingRate)

log10

public static double log10(double value)

melFilter

public static double[] melFilter(double[] bin,
                                 int[] cbin,
                                 int numMelFilters)

recalculateMaxMelFilters

public static int recalculateMaxMelFilters(double samplingRate,
                                           int numMelFilters,
                                           float lowerFilterFreq,
                                           float maxFilterFreq)

sample2Time

public static double sample2Time(int sample,
                                 int sampleRate)

signalTimeLine

public static double[] signalTimeLine(int signalLength,
                                      double samplingRate)

spectrumTime

public static float spectrumTime(float linearTime,
                                 float windowShiftTime)

signal2ExampleSet

public static com.rapidminer.example.ExampleSet signal2ExampleSet(double[] signal)

spectrogram

public static double[][] spectrogram(String name,
                                     double[] signal,
                                     int samplingRate,
                                     int windowshift,
                                     int frameslength,
                                     boolean display)
                              throws Exception
Throws:
Exception

spectrumTimeFromIndex

public static float spectrumTimeFromIndex(int index,
                                          float windowShiftTime)

spectrumIndex

public static int spectrumIndex(float linearTime,
                                float windowShiftTime)

time2Sample

public static int time2Sample(double time,
                              int sampleRate)


Copyright © 2013. All Rights Reserved.