Initial Checklist
Problem Statement & User Value
As a DSP engineer, I need to perform high-resolution time-frequency analysis on non-stationary signals to identify and characterize transient events.
Acceptance Criteria (Definition of Done)
| Transform |
Family |
Name(s) |
Key Characteristics |
Common Applications |
| CWT |
Morlet |
Morlet |
Analytic (Complex), Non-orthogonal |
Time-frequency analysis of non-stationary signals like neuro-electrical data, music, and machinery vibrations. |
| CWT |
Mexican Hat |
MexicanHat |
Real, Non-orthogonal, 2nd derivative of Gaussian |
Detection of localized, isotropic features like point sources in astrophysical maps or other blob-like structures. |
| DWT |
Haar |
Haar / Db 1 |
Orthogonal, Compact Support, Discontinuous |
Simple, fast transform; good for detecting step-discontinuities. Used in compression and feature extraction. |
| DWT |
Daubechies |
Db 2 - Db 10 |
Orthogonal, Compact Support, Asymmetric |
Workhorse for DWT. Higher orders are smoother. Excellent for compression and denoising of a wide range of signals. |
| DWT |
Symlets |
Sym 2 - Sym 8 |
Near Symmetric version of Daubechies, Orthogonal |
Similar to Daubechies but with increased symmetry, which can reduce artifacts at signal boundaries. Good for feature detection. |
Proposed Solution or Technical Approach (Optional)
- Wavelet Representation: A record will be defined for each wavelet family to store its properties. For DWT wavelets (e.g., Daubechies), this record will contain the low-pass and high-pass decomposition and reconstruction filter coefficients, stored as
Rune.t arrays. For CWT wavelets, the record will contain the parameters needed to generate the wavelet function at any given scale.
Additional Context (Mockups, Links, etc.)
No response
References
Code of Conduct
Initial Checklist
Problem Statement & User Value
As a DSP engineer, I need to perform high-resolution time-frequency analysis on non-stationary signals to identify and characterize transient events.
Acceptance Criteria (Definition of Done)
SoundML.Transformmodule.SoundML.Transform:Rune.t.Complex64).Rune.t, with each element being a 1D array of floats (Float64).Rune.t.PyWavelets) with a reasonable tolerance.Proposed Solution or Technical Approach (Optional)
Rune.tarrays. For CWT wavelets, the record will contain the parameters needed to generate the wavelet function at any given scale.Additional Context (Mockups, Links, etc.)
No response
References
scipy.signal.cwt): https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.cwt.htmlCode of Conduct