⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wavetrans.h

📁 小波分析程序
💻 H
字号:
//*****************************************************************************// WaveTrans.h                       Prototypes of discrete wavelet transforms//*****************************************************************************#ifndef WAVETRANS_H#define WAVETRANS_H#include "common.h"#include "Interval.h"#include "ConvDec.h"#include "QMF.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 pow of 2  *******************************/void WaveTrans(const Interval &In, Interval &Out, 	       const PQMF &H, const PQMF &G, cdpType con_dec);          // In is input interval, Out is output          // assumptions: In.beg=0, In.length= pow of 2,            //  Out exists s.t. Out.beg <= 0 and Out.end >= In.end          // on output  Out is superposed up with wavelet coefficients         // starting from bottom level up to level 1void WaveTrans(const Interval &In, Interval &Out, Interval &Work, 	       const PQMF &H, const PQMF &G, cdpType con_dec);           // same as above, only with Work           // assumptions: same as abovevoid InvWaveTrans(const Interval &In, Interval &Out,		  const PQMF &H, const PQMF &G, cdpType adj_con_dec);            // In is input interval, Out is output          // assumptions: In.beg=0, In.length= pow of 2,            //  Out exists s.t. Out.beg <= 0 and Out.end >= In.end          // on output  Out is superposed up with recovered signalvoid InvWaveTrans(const Interval &In, Interval &Out, Interval &Work,		  const PQMF &H, const PQMF &G, cdpType adj_con_dec);           // same as above, only with Work           // assumptions: same as above                 /**************************** Periodic, n=m*2^L******************************/void WaveTrans(const Interval &In, Interval &Out, integer L,	       const GPQMF &H, const GPQMF &G, cdgpType con_dec);           // transform to level L, everything else same as above           // assumption: In.length divisible by 2^L                                        void WaveTrans(const Interval &In, Interval &Out, Interval &Work, integer L,	       const GPQMF &H, const GPQMF &G, cdgpType con_dec);                     void InvWaveTrans(const Interval &In, Interval &Out, integer L,		  const GPQMF &H, const GPQMF &G, cdgpType adj_con_dec);void InvWaveTrans(const Interval &In, Interval &Out, Interval &Work, integer L,		  const GPQMF &H, const GPQMF &G, cdgpType adj_con_dec);/***************************  Aperiodic  *************************************/void WaveTrans(const Interval &In, Interval *Out, integer L,	       const QMF &H, const QMF &G, cdaType con_dec);           // In is input signal, L is depth of transform                  // assumption:  Out is array of L+1 default intervals           // on output Out is filled up with wavelet coefficients s.t.           // Out[0] and Out[1] are from level L,..., Out[L] is from level 1void WaveTrans(const Interval &In, Interval *Out, Interval *Work,	       integer L, const QMF &H, const QMF &G, cdaType con_dec);             // same as above onlywith Work                // additional assumption: Work is  array of L default intervals           // on output Work[0]=Out[0] is at level L... Work[L-1] is at level 1void InvWaveTrans(const Interval *In, Interval &Out, integer L,		  const QMF &H, const QMF &G, cdaType adj_con_dec);                    // assumptions : In is array of L+1 intervals, L is depth of transform         // on input Out can be either default empty interval          // in which case on output it will be padded with 0's,          // or if on input Out is completely defined, then on output          // it will be neatly filled up with recoverd signal without extra 0'svoid InvWaveTrans(const Interval *In, Interval &Out, Interval *Work, 		  integer L, const QMF &H, const QMF &G, cdaType adj_con_dec);         // same as above only with Work         // additional assumption: Work is array of L default intervals         // on output Work[0]=In[0] is at level L...Work[l-1] is at level 1   #endif

⌨️ 快捷键说明

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