📄 wavelet.h
字号:
// wavelet.h: interface for the Cwavelet class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_WAVELET_H__1357512D_8D2B_4AA3_AD70_DB72064F4CF6__INCLUDED_)
#define AFX_WAVELET_H__1357512D_8D2B_4AA3_AD70_DB72064F4CF6__INCLUDED_
#include "matrix.h"
#include <complex>
//#include <valarray>
using namespace std;
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class Cwavelet
{
public:
struct info_Data { //用于存储数据信息的结构体;
int len_data; //数据的长度;
int len_wectend;//延拓的长度;
}infoData;
void preData(vector X,vector &,int);
vector wavedec_denoisde_C;
void wdencmp(CString);
double thselect(vector,vector );
void waverec(vector &,vector &);
void appcoef(vector &,vector &,int);
vector wavedec_L;
vector wavedec_C;
void wavedec(vector X,int N,CString wavetype,int n,CString mode="per");
vector Re_Data;
vector upsaconv(vector x,vector f,int s,CString mode);
void idwt(vector cA, vector cD, vector Lo_R, vector Hi_R, CString mode,int L=0);
void wnoise(int num,int len,double mean,double variance,matrix & data);
vector cD;
vector cA;
void dwt(vector X,CString wavetype,int n,CString mode="per");
void wextend(vector,vector &,CString,int,char);
void dyadup(vector,vector &,int evenodd,int arg);
void dyaddown(vector,vector &,int);
vector Hi_R; //重构的高通滤波器;
vector Lo_R; //重构的低通滤波器;
vector Hi_D; //分解的高通滤波器;
vector Lo_D; //分解的低通滤波器;
void orthfilt(vector);
vector qmf_y; //函数qmf的输出;
vector qmf(vector,int);//求二次镜像;
vector db_w; //函数dbaux的输出,为db小波的尺度系数;
double sum(vector);//向量中元素求和;
void Poly(vector,vector,vector &);//已知根求多项式系数;
int RootQR(vector,vector &,vector &);//由多项式求根;
int HessenbergQR(matrix a,vector & real_,vector & imag_);//上H阵求全部特征值;
void dbaux(int N); //求db小波尺度滤波器系数
vector imag;
vector real;
vector wlagrang_P;
Cwavelet();
virtual ~Cwavelet();
void wlagrang(int N);//求lagrang滤波器系数;
double prod(vector);//计算向量内部元素的乘积;
};
#endif // !defined(AFX_WAVELET_H__1357512D_8D2B_4AA3_AD70_DB72064F4CF6__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -