资源简介
一维信号的小波变换算法。处理声音等一维信号,小波分解和重构,适合工程实践项目中使用
代码片段和文件信息
// CWT.cpp: implementation of the CCWT class.
//
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “WinCWT.h“
#include “CWT.h“
#include “math.h“
#define M_PI 3.14159265358979323846 /* pi */
BOOL GetIntMexhCoeff(double *wfltr);
BOOL cwt(double *wfltrdouble CurScaledouble *pIn int LengthIn double *pOut)
{
if (pIn==NULL) return FALSE;
if (pOut==NULL) return FALSE;
if (LengthIn<=0) return FALSE;
if (CurScale<1e-5) {
AfxMessageBox(“尺度太小“);
return FALSE;
}
if (CurScale>LengthIn) {
AfxMessageBox(“尺度太大“);
return FALSE;
}
//////////////////////////////////////////////////////////////////////////
double CurScale_SIG = 0;
double* pTemp = new double[LengthIn];
double tempValue=0;
int i=0;
int NumFilter = int(CurScale*16)+1;
tempValue = sqrt(CurScale);
double *newFilter=new double[NumFilter];
int *indexWAV=new int[NumFilter];
for (i=0;i indexWAV[i]=int(i*(64.0/CurScale)-1);
if (indexWAV[i]<0) indexWAV[i]=0;
newFilter[NumFilter-i-1]=wfltr[indexWAV[i]];//赋值并反褶
}
Convolve(pInLengthInnewFilterNumFilterpTemp);
Diff(tempValuepTempLengthInpOut);
/*
for (int SS=0;SS CurScale = pScale[SS];
tempValue = sqrt(CurScale);
Convolve(pIn LengthInwfltr1024pTemp);
Diff(tempValuepTempLengthInpOut);
}
*/
delete[] newFilter;
delete[] indexWAV;
return TRUE;
}
BOOL GetIntMexhCoeff(double *wfltr)
{
if(wfltr==NULL) return FALSE;
int NN=1024;
double LB = -8UB = 8;
double step = 16.0/1023;
double sqrt3=sqrt(3);
double out1[1024]={0};
double out2[1024]={0};
double Coeff[1024]={0};
for (int i=0;i<1024;i++) {
out2[i]=LB+i*step;
out1[i]=out2[i]*out2[i];
Coeff[i]=2/(sqrt3*pow(M_PI0.25))*exp(-1*out1[i]/2)*(1-out1[i]);
}
for (i=0;i<1024;i++) {
if((wfltr+i)==NULL) return FALSE;
wfltr[i]=0;
for (int j=0;j wfltr[i]+=Coeff[j]*step;
}
}
return TRUE;
}
void Convolve(double *pInint lengthdouble *pFilterint lenFilterdouble *pOut)
{
double *pTemp=new double[length+lenFilter-1];
memcpy(pTemp+lenFilter-1pIn(length)*sizeof(double));
memset(pTemp0(lenFilter-1)*sizeof(double));
pIn = pTemp;
double sum=0;
for(int i=lenFilter-1;i {
sum=0;
for(int j=0;j {
sum+=pIn[i-j]*pFilter[j];
}
pOut[i-lenFilter+1]=sum;
}
delete[] pTemp;
}
void Diff(double fk double *pInint lengthdouble *pOut)
{
for (int i=0;i pOut[i]=fk*(pIn[i+1]-pIn[i]);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 480341 2007-06-04 17:35 WinCWT\3.0-100-1sound.txt
文件 2641 2007-06-04 17:29 WinCWT\CWT.cpp
文件 673 2007-06-04 17:26 WinCWT\CWT.h
文件 480341 2007-06-04 17:35 WinCWT\Debug\3.0-100-1sound.txt
文件 8229 2007-06-04 17:29 WinCWT\Debug\CWT.obj
文件 0 2007-06-04 17:29 WinCWT\Debug\CWT.sbr
文件 61472 2007-06-05 09:29 WinCWT\Debug\DispPanel.obj
文件 0 2007-06-05 09:29 WinCWT\Debug\DispPanel.sbr
文件 9759 2007-06-05 09:29 WinCWT\Debug\FFT.obj
文件 0 2007-06-05 09:29 WinCWT\Debug\FFT.sbr
文件 30049 2006-03-07 20:33 WinCWT\Debug\StaticPlotPanel.obj
文件 0 2006-03-07 20:33 WinCWT\Debug\StaticPlotPanel.sbr
文件 105889 2007-06-04 15:15 WinCWT\Debug\StdAfx.obj
文件 1384143 2007-06-04 15:15 WinCWT\Debug\StdAfx.sbr
文件 10295 2007-06-04 15:15 WinCWT\Debug\ThresSelDlg.obj
文件 0 2007-06-04 15:16 WinCWT\Debug\ThresSelDlg.sbr
文件 222208 2007-06-05 09:29 WinCWT\Debug\vc60.idb
文件 372736 2007-06-05 09:29 WinCWT\Debug\vc60.pdb
文件 9075 2007-06-04 14:38 WinCWT\Debug\wfltr.obj
文件 8251 2007-06-04 14:38 WinCWT\Debug\wfltr.sbr
文件 3744768 2007-06-05 09:29 WinCWT\Debug\WinCWT.bsc
文件 147519 2007-06-05 09:29 WinCWT\Debug\WinCWT.exe
文件 350172 2007-06-05 09:29 WinCWT\Debug\WinCWT.ilk
文件 15423 2007-06-04 17:22 WinCWT\Debug\WinCWT.obj
文件 533504 2007-06-05 09:29 WinCWT\Debug\WinCWT.pdb
文件 2832 2007-06-04 17:09 WinCWT\Debug\WinCWT.res
文件 0 2007-06-04 17:22 WinCWT\Debug\WinCWT.sbr
文件 35716 2007-06-04 17:26 WinCWT\Debug\WinCWTDlg.obj
文件 0 2007-06-04 17:26 WinCWT\Debug\WinCWTDlg.sbr
文件 3744768 2006-07-24 19:47 WinCWT\Debug\WinDWT.bsc
............此处省略50个文件信息
相关资源
- 基于FFT和小波变换的电力系统谐波检
- 小波总结 小波变换小波总结 小波变换
- 一种采用Gabor小波的纹理特征提取方法
- 基于小波变换的嵌入式零树编码压缩
- 小波变换教程(wavelet tutotial)
- 加窗傅里叶变换和小波变换的原理与
- 基于FPGA的高性能离散小波变换设计
- 小波变换及其应用信号处理 小波变换
- 基于STM32F4的小波变换移植含小波分解
- 3维离散小波变换代码
- 基于小波变换的电价预测
- 3小波变换处理图像 3小波变换处理图
- 四进制小波变换
- DWT数字水印嵌入与提取代码 毕业设计
- Morlet小波
- Brovery像素层融合与小波变换法对比
- 现代信号处理技术:高阶谱、时频分
- 快速小波变换 基于opencv带注释
- 小波变换与分数傅里叶变换理论及应
- 基于中值滤波和小波变换的图像去噪
- 基于小波变换与神经网络的指纹识别
- 基于小波变换的跳频信号检测
- 基于置乱加密的小波域数字图像水印
- 小波与小波变换哈尔小波
- 小波分析经典教材小波变换与JPEG200
- EWT最新经验小波变换工具箱
- 语音增强算法
- 小波变换工具箱,包含多个小波函数
- Wavelet_CoSaMP
- 现代信号处理技术:高阶谱、时频分
评论
共有 条评论