SS.SignalProcessing 1.3.0
Validated real/complex transforms, one-sided PSD with confidence metadata, exact-state streaming overlap-save FIR, rational polyphase resampling diagnostics, stable low/high/band-pass biquad design, convolution, windows and radix-2 FFT
Language compatibility: >=1.0.0 <2.0.0
Runtime compatibility: >=1.0.0 <2.0.0
No package dependencies declared.
Public API
SignalProcessing.applyWindow
export function applyWindow(double[] samples, double[] window)->double[]Parameters: samples: double[], window: double[]
export record ComplexSignal(public double[] real, public double[] imaginary)Parameters: real: double[], imaginary: double[]
export function complexTransform(double[] real, double[] imaginary, bool inverse)->ComplexSignalParameters: real: double[], imaginary: double[], inverse: bool
SignalProcessing.convolution
export function convolution(double[] left, double[] right)->double[]Parameters: left: double[], right: double[]
SignalProcessing.designIirFilter
export function designIirFilter(string kind, double sampleRate, double lowerCutoff, double upperCutoff)->IirFilterParameters: kind: string, sampleRate: double, lowerCutoff: double, upperCutoff: double
SignalProcessing.designLowPass
export function designLowPass(double sampleRate, double cutoff, int taps)->double[]Parameters: sampleRate: double, cutoff: double, taps: int
SignalProcessing.dft
export function dft(double[] samples)->SpectrumParameters: samples: double[]
export function dominantFrequency(double[] samples, double sampleRate)->SpectralPeakParameters: samples: double[], sampleRate: double
SignalProcessing.fft
export function fft(double[] samples)->SpectrumParameters: samples: double[]
SignalProcessing.fir
export function fir(double[] samples, double[] coefficients)->double[]Parameters: samples: double[], coefficients: double[]
SignalProcessing.firBlock
export function firBlock(double[] samples, double[] coefficients, double[] state)->FirBlockParameters: samples: double[], coefficients: double[], state: double[]
export record FirBlock(public double[] output, public double[] state)Parameters: output: double[], state: double[]
export function firstOrderLowPass(double[] samples, double alpha)->double[]Parameters: samples: double[], alpha: double
SignalProcessing.hannWindow
export function hannWindow(int count)->double[]Parameters: count: int
export record IirFilter(public double[] numerator, public double[] denominator, public string kind, public double sampleRate, public double lowerCutoff, public double upperCutoff, public bool stable, public string diagnostic)Parameters: numerator: double[], denominator: double[], kind: string, sampleRate: double, lowerCutoff: double, upperCutoff: double, stable: bool, diagnostic: string
SignalProcessing.inverseDft
export function inverseDft(Spectrum spectrum)->double[]Parameters: spectrum: Spectrum
SignalProcessing.movingAverage
export function movingAverage(double[] samples, int width)->double[]Parameters: samples: double[], width: int
export function nyquistFrequency(double sampleRate)->doubleParameters: sampleRate: double
export function oneSidedPowerSpectrum(double[] samples, double sampleRate, double[] window)->PowerSpectrumParameters: samples: double[], sampleRate: double, window: double[]
export function polyphaseResample(double[] samples, double sampleRate, int upFactor, int downFactor, int halfWidth)->PolyphaseResampleResultParameters: samples: double[], sampleRate: double, upFactor: int, downFactor: int, halfWidth: int
export record PolyphaseResampleResult(public ResampledSignal signal, public double groupDelayInputSamples, public double antiAliasCutoffFraction, public string diagnostic)Parameters: signal: ResampledSignal, groupDelayInputSamples: double, antiAliasCutoffFraction: double, diagnostic: string
export function powerSpectralDensity(double[] samples, double sampleRate, double[] window, bool oneSided, double confidenceLevel)->PowerSpectralDensityResultParameters: samples: double[], sampleRate: double, window: double[], oneSided: bool, confidenceLevel: double
export record PowerSpectralDensityResult(public PowerSpectrum spectrum, public bool oneSided, public int segmentCount, public double degreesOfFreedom, public double lowerConfidenceScale, public double upperConfidenceScale, public string diagnostic)Parameters: spectrum: PowerSpectrum, oneSided: bool, segmentCount: int, degreesOfFreedom: double, lowerConfidenceScale: double, upperConfidenceScale: double, diagnostic: string
export record PowerSpectrum(public double[] frequencies, public double[] density, public double binWidth, public double integratedPower, public string scaling)Parameters: frequencies: double[], density: double[], binWidth: double, integratedPower: double, scaling: string
export record ResampledSignal(public double[] samples, public int upFactor, public int downFactor, public double outputRate, public int halfWidth, public string method)Parameters: samples: double[], upFactor: int, downFactor: int, outputRate: double, halfWidth: int, method: string
export function resampleRational(double[] samples, double sampleRate, int upFactor, int downFactor, int halfWidth)->ResampledSignalParameters: samples: double[], sampleRate: double, upFactor: int, downFactor: int, halfWidth: int
SignalProcessing.rms
export function rms(double[] samples)->doubleParameters: samples: double[]
export record SpectralPeak(public int bin, public double frequency, public double magnitude)Parameters: bin: int, frequency: double, magnitude: double
export record Spectrum(public double[] real, public double[] imaginary, public double[] magnitude)Parameters: real: double[], imaginary: double[], magnitude: double[]
export function streamingOverlapSave(double[] samples, double[] coefficients, double[] state)->FirBlockParameters: samples: double[], coefficients: double[], state: double[]
Documentation version
Language 1.0.0, compiler 1.0.0, runtime 1.0.0. This reference is generated from the official SS documentation so package and language details stay consistent with the release.