wavepacket.h

来自「C++语言写的小波变换和傅立叶变换的源代码」· C头文件 代码 · 共 64 行

H
64
字号
//*****************************************************************************// WavePacket.h                          Prototypes for analysis and synthesis//*****************************************************************************#ifndef WAVEPACKET_H#define WAVEPACKET_H#include "QMF.h"#include "ConvDec.h"#include "ArrayTree.h"typedef void (*cdpType)(const real *, real*, integer, const PQMF&);               // cdpType is pointer to periodic conv-dec functiontypedef void (*cdgpType)(const real *, real*, integer, const GPQMF&);                   // cdgpType is pointer to periodic conv-dec functiontypedef void (*cdaType)(const Interval &, Interval &, const QMF &);            // cdaType is pointer to aperiodic conv-dec function/********************** Periodic case power of 2 *****************************/void Analysis(const Interval &In, ArrayTreePer &A, 	      const PQMF &H, const PQMF &G, cdpType con_dec);            // In is input signal A is preallocted 0 zero tree such that            // A.dim = In.length is power of 2            // H for left, G for rightvoid Synthesis(ArrayTreePer &A, Interval &Out,	       const PQMF &H, const PQMF &G, cdpType adj_con_dec);            // A is predefined tree, Out is empty interval            // Synthesis starts from the bottom row of A and works its way up             // by superposing onto what is already there            // Out recieves the top row of A after synthesis/************************* Periodic case even *******************************/void Analysis(const Interval &In, ArrayTreePer &A, 	      const GPQMF &H, const GPQMF &G, cdgpType con_dec);            // In is input signal A, is preallocted 0 zero tree such that            // A.dim = In.length is even            // H for left, G for rightvoid Synthesis(ArrayTreePer &A, Interval &Out,	       const GPQMF &H, const GPQMF &G, cdgpType adj_con_dec);            // A is predefined tree, Out is empty interval            // Synthesis starts from the bottom row of A and works its way up             // by superposing onto what is already there            // Out recieves the top row of A after synthesis/************************ Aperiodic case *************************************/void Analysis(const Interval &In, ArrayTreeAper &A,	      const QMF &H, const QMF &G, cdaType con_dec);             // In is input signal, A is preallocted tree of empty intervals             // use H for left, use G for rightvoid Synthesis(ArrayTreeAper &A, Interval &Out,	       const QMF &H, const QMF &G, cdaType adj_con_dec);             // A is predefined tree, with all interval sizes set             // Out is empty interval             // Synthesis starts from the bottom row of A and works its way up              // by superposing onto             // what is already there             // Out recieves the top row of A after synthesis#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?