Skip to content
OFFICIAL SS DOCUMENTATION

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
API 1.3.0
MIT
source

Language compatibility: >=1.0.0 <2.0.0
Runtime compatibility: >=1.0.0 <2.0.0

No package dependencies declared.

Public API

Public signature
export function applyWindow(double[] samples, double[] window)->double[]

Parameters: samples: double[], window: double[]


Public signature
export record ComplexSignal(public double[] real, public double[] imaginary)

Parameters: real: double[], imaginary: double[]


Public signature
export function complexTransform(double[] real, double[] imaginary, bool inverse)->ComplexSignal

Parameters: real: double[], imaginary: double[], inverse: bool


Public signature
export function convolution(double[] left, double[] right)->double[]

Parameters: left: double[], right: double[]


Public signature
export function designIirFilter(string kind, double sampleRate, double lowerCutoff, double upperCutoff)->IirFilter

Parameters: kind: string, sampleRate: double, lowerCutoff: double, upperCutoff: double


Public signature
export function designLowPass(double sampleRate, double cutoff, int taps)->double[]

Parameters: sampleRate: double, cutoff: double, taps: int


Public signature
export function dft(double[] samples)->Spectrum

Parameters: samples: double[]


Public signature
export function dominantFrequency(double[] samples, double sampleRate)->SpectralPeak

Parameters: samples: double[], sampleRate: double


Public signature
export function fft(double[] samples)->Spectrum

Parameters: samples: double[]


Public signature
export function fir(double[] samples, double[] coefficients)->double[]

Parameters: samples: double[], coefficients: double[]


Public signature
export function firBlock(double[] samples, double[] coefficients, double[] state)->FirBlock

Parameters: samples: double[], coefficients: double[], state: double[]


Public signature
export record FirBlock(public double[] output, public double[] state)

Parameters: output: double[], state: double[]


Public signature
export function firstOrderLowPass(double[] samples, double alpha)->double[]

Parameters: samples: double[], alpha: double


Public signature
export function hannWindow(int count)->double[]

Parameters: count: int


Public signature
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


Public signature
export function inverseDft(Spectrum spectrum)->double[]

Parameters: spectrum: Spectrum


Public signature
export function movingAverage(double[] samples, int width)->double[]

Parameters: samples: double[], width: int


Public signature
export function nyquistFrequency(double sampleRate)->double

Parameters: sampleRate: double


Public signature
export function oneSidedPowerSpectrum(double[] samples, double sampleRate, double[] window)->PowerSpectrum

Parameters: samples: double[], sampleRate: double, window: double[]


Public signature
export function polyphaseResample(double[] samples, double sampleRate, int upFactor, int downFactor, int halfWidth)->PolyphaseResampleResult

Parameters: samples: double[], sampleRate: double, upFactor: int, downFactor: int, halfWidth: int


Public signature
export record PolyphaseResampleResult(public ResampledSignal signal, public double groupDelayInputSamples, public double antiAliasCutoffFraction, public string diagnostic)

Parameters: signal: ResampledSignal, groupDelayInputSamples: double, antiAliasCutoffFraction: double, diagnostic: string


Public signature
export function powerSpectralDensity(double[] samples, double sampleRate, double[] window, bool oneSided, double confidenceLevel)->PowerSpectralDensityResult

Parameters: samples: double[], sampleRate: double, window: double[], oneSided: bool, confidenceLevel: double


Public signature
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


Public signature
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


Public signature
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


Public signature
export function resampleRational(double[] samples, double sampleRate, int upFactor, int downFactor, int halfWidth)->ResampledSignal

Parameters: samples: double[], sampleRate: double, upFactor: int, downFactor: int, halfWidth: int


Public signature
export function rms(double[] samples)->double

Parameters: samples: double[]


Public signature
export record SpectralPeak(public int bin, public double frequency, public double magnitude)

Parameters: bin: int, frequency: double, magnitude: double


Public signature
export record Spectrum(public double[] real, public double[] imaginary, public double[] magnitude)

Parameters: real: double[], imaginary: double[], magnitude: double[]


Public signature
export function streamingOverlapSave(double[] samples, double[] coefficients, double[] state)->FirBlock

Parameters: 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.