Signal analysis toolbox for Julia
While a few great signal processing packages (e.g.
SignalOperators.jl) are available, they have limited time-frequency analysis, sonar analysis, and baseband analysis capabilities. This
SignalAnalysis.jl package aims to fill that gap. The package has grown out of my research needs, but I hope to expand it over time to provide a wide variety of time-frequency analysis, and baseband signal processing tools.
SignalAnalysis.jl works closely with, and complements other package like
InteractiveViz.jl, to provide its functionality. While some overlap is inevitable, we mostly leverage functionality already available in those packages, and avoid duplicating it. In some cases, simpler wrappers are provided, or some symbols are re-exported for convenience. The package also works closely with
Unitful.jl for common real-world units.
While this package works with most array-like data types, it uses the
SignalBase.jl API to represent multichannel 1D signals (time, frequency or spatial domain). While the package adopts a
SampledSignal data type to carry sampling rate information with the sampled signal, the API design allows sampling rate to be provided as a keyword argument in most cases, enabling the user to pass in any array-like data.