/** * Phase 6 Task 4 — inverse DWT, multilevel wavedec/waverec (perfect * reconstruction), and the continuous wavelet transform (CWT). * * `idwt` inverts `dwt` (`../typed/signal.ts`) via the shared periodization * filter bank in `./wavelet-filters.ts`, which supports the full family list * (`SUPPORTED_WAVELETS`: haar, db1-4, sym2-4, coif1-2) and matches * `pywt.idwt(..., mode='periodization')` bit-for-bit. For Haar/db1 this is * verified equivalent to the earlier hardcoded closed-form 2-tap inverse * (`x[2i] = s*(approx[i]+detail[i])`, `x[2i+1] = s*(approx[i]-detail[i])`, * `s = 1/sqrt(2)`) — no behavior change for existing callers. * * @packageDocumentation */ /** * Inverse single-level discrete wavelet transform (periodization boundary). * Exactly inverts `dwt` for every wavelet in `SUPPORTED_WAVELETS` * (`./wavelet-filters.ts`): haar, db1-4, sym2-4, coif1-2. * * @param approx - Approximation (low-pass) coefficients * @param detail - Detail (high-pass) coefficients, same length as `approx` * @param wavelet - Wavelet name (default 'haar'); see `SUPPORTED_WAVELETS` * @returns Reconstructed signal, length `2 * approx.length` */ export declare function idwt(approx: number[], detail: number[], wavelet?: string): number[]; /** * Multilevel discrete wavelet decomposition: repeatedly applies `dwt` to the * approximation coefficients. * * @param x - Input signal * @param wavelet - Wavelet name (passed through to `dwt`); see * `SUPPORTED_WAVELETS` in `./wavelet-filters.ts` * @param level - Number of decomposition levels (>= 1) * @returns `[cA_level, cD_level, cD_{level-1}, ..., cD_1]` (pywt order) */ export declare function wavedec(x: number[], wavelet?: string, level?: number): number[][]; /** * Inverse of `wavedec`: repeatedly applies `idwt` from the coarsest level * (`coeffs[0]` = cA_level) up to the finest detail (`coeffs[coeffs.length-1]` * = cD_1), reconstructing the original signal. * * @param coeffs - Coefficient arrays as returned by `wavedec` * @param wavelet - Wavelet name (passed through to `idwt`) * @returns Reconstructed signal */ export declare function waverec(coeffs: number[][], wavelet?: string): number[]; /** * Continuous wavelet transform: convolves `x` with a discretized, normalized * wavelet at each requested scale. * * @param x - Input signal * @param scales - Wavelet scales to evaluate (each > 0) * @param wavelet - 'ricker' (Mexican-hat, default) or 'morlet' * @returns `scales.length` x `x.length` matrix, row `i` = CWT at `scales[i]` */ export declare function cwt(x: number[], scales: number[], wavelet?: string): number[][]; //# sourceMappingURL=wavelets.d.ts.map