Class SignalProcessing

java.lang.Object
org.episteme.core.mathematics.analysis.signal.SignalProcessing

public class SignalProcessing extends Object
Digital signal processing utilities.
Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Constructor Details

    • SignalProcessing

      public SignalProcessing()
  • Method Details

    • lowPassFilter

      public static Real[] lowPassFilter(Real[] signal, Real cutoff, Real sampleRate)
      Low-pass filter using FFT (brick-wall).
      Parameters:
      signal - Input signal
      cutoff - Cutoff frequency (normalized 0-1)
      sampleRate - Sampling rate
    • highPassFilter

      public static Real[] highPassFilter(Real[] signal, Real cutoff, Real sampleRate)
      High-pass filter using FFT.
    • movingAverage

      public static Real[] movingAverage(Real[] signal, int windowSize)
      Moving average filter.
    • rms

      public static Real rms(Real[] signal)
      Compute RMS (Root Mean Square) value.
    • findPeaks

      public static int[] findPeaks(Real[] signal, Real threshold)
      Peak detection.
      Parameters:
      signal - Input signal
      threshold - Minimum peak amplitude
      Returns:
      Indices of peaks
    • zeroCrossingRate

      public static Real zeroCrossingRate(Real[] signal)
      Zero-crossing rate.
    • downsample

      public static Real[] downsample(Real[] signal, int factor)
      Downsample signal by factor.
    • upsample

      public static Real[] upsample(Real[] signal, int factor)
      Upsample signal by factor (zero-insertion).
    • sineWave

      public static Real[] sineWave(Real frequency, Real sampleRate, int samples)
      Generate sine wave.
    • whiteNoise

      public static Real[] whiteNoise(int samples)
      Generate white noise.
    • add

      public static Real[] add(Real[] a, Real[] b)
      Add two signals.
    • fft

      public static Real[][] fft(Real[] signal)
      Fast Fourier Transform of real-valued signal.
    • ifft

      public static Real[] ifft(Real[] real, Real[] imag)
      Inverse FFT.
    • powerSpectrum

      public static Real[] powerSpectrum(Real[] real, Real[] imag)
      Power spectrum from FFT result.
    • powerSpectralDensity

      public static Real[] powerSpectralDensity(Real[] signal)
      Power spectral density using FFT.
    • exponentialMovingAverage

      public static Real[] exponentialMovingAverage(Real[] signal, Real alpha)
      Exponential moving average.
    • convolve

      public static Real[] convolve(Real[] signal, Real[] kernel)
      Convolution of two signals.
    • crossCorrelation

      public static Real[] crossCorrelation(Real[] x, Real[] y)
      Cross-correlation of two signals.
    • magnitudeSpectrum

      public static Real[] magnitudeSpectrum(Real[] real, Real[] imag)
      Magnitude spectrum from DFT output.
    • peakToPeak

      public static Real peakToPeak(Real[] signal)
      Peak-to-peak amplitude.
    • addNoise

      public static Real[] addNoise(Real[] signal, Real amplitude)
      Adds white noise to a signal.