声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2860|回复: 10

[小波] 构造的小波步骤和经验

[复制链接]
发表于 2008-12-6 11:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我做的东西是基于小波的故障检测 我像有自己的创新点,所以想自己构造小波 我小波的书确实是看的不少,理论有点但是还是不会灵活使用。我想请求各位构造过小波的牛人。
我想知道构造小波的步骤是什么我在笨轮眼下到如下程序,请问
1 这个程序是不是就是构造的一般步骤:
2 构造小波有什么好的资料没?
3 构造小波的经验能介绍一下么?难点在哪?注意点在哪?小波的那几个性质是构造小波的关键!最好能介绍下构造小波的好资料!
谢谢!天气凉了  希望大家多多注意身体!!!!



% 此程序实现构造小波基
% periodic_wavelet.m function ss=periodic_wavelet; clear;clc; % global MOMENT; % 消失矩阶数
% global LEFT_SCALET; % 尺度函数左支撑区间
% global RIGHT_SCALET; % 尺度函数右支撑区间
% global LEFT_BASIS; % 小波基函数左支撑区间
% global RIGHT_BASIS; % 小波基函数右支撑区间
% global MIN_STEP; % 最小离散步长
% global LEVEL; % 计算需要的层数(离散精度)
% global MAX_LEVEL; % 周期小波最大计算层数
[s2,h]=scale_integer;
[test,h]=scalet_stretch(s2,h);
wave_base=wavelet(test,h);
ss=periodic_waveletbasis(wave_base);
function [s2,h]=scale_integer; % 本函数实现求解小波尺度函数离散整数点的值
% sacle_integer.m MOMENT=10; % 消失矩阶数
LEFT_SCALET=0; % 尺度函数左支撑区间
RIGHT_SCALET=2*MOMENT-1; % 尺度函数右支撑区间
LEFT_BASIS=1-MOMENT; % 小波基函数左支撑区间
RIGHT_BASIS=MOMENT; % 小波基函数右支撑区间
MIN_STEP=1/512; % 最小离散步长
LEVEL=-log2(MIN_STEP); % 计算需要的层数(离散精度)
MAX_LEVEL=8; % 周期小波最大计算层数
h=wfilters('db10','r'); % 滤波器系数 h=h*sqrt(2); % FI(T)=SQRT(2)*SUM(H(N)*FI(2T-N)) N=0:2*MOMENT-1; for i=LEFT_SCALET+1:RIGHT_SCALET-1
for j=LEFT_SCALET+1:RIGHT_SCALET-1
k=2*i-j+1;
if (k>=1&k<=RIGHT_SCALET+1)
a(i,j)=h(k); % 矩阵系数矩阵
else
a(i,j)=0;
end
end
end [s,w]=eig(a); % 求特征向量,解的基
s1=s(:,1);
s2=[0;s1/sum(s1);0]; % 根据条件SUM(FI(T))=1,求解; % 本函数实现尺度函数经伸缩后的离散值
% scalet_stretch.m function [s2,h]=scalet_stretch(s2,h); MOMENT=10; % 消失矩阶数
LEFT_SCALET=0; % 尺度函数左支撑区间
RIGHT_SCALET=2*MOMENT-1; % 尺度函数右支撑区间
LEFT_BASIS=1-MOMENT; % 小波基函数左支撑区间
RIGHT_BASIS=MOMENT; % 小波基函数右支撑区间
MIN_STEP=1/512; % 最小离散步长
LEVEL=-log2(MIN_STEP); % 计算需要的层数(离散精度)
MAX_LEVEL=8; % 周期小波最大计算层数
for j=1:LEVEL % 需要计算到尺度函数的层数
t=0;
for i=1:2:2*length(s2)-3 % 需要计算的离散点取值(0,1,2,3 -> 1/2, 3/2, 5/2)
t=t+1;
fi(t)=0;
for n=LEFT_SCALET:RIGHT_SCALET; % 低通滤波器冲击响应紧支撑判断
if ((i/2^(j-1)-n)>=LEFT_SCALET&(i/2^(j-1)-n)<=RIGHT_SCALET) % 小波尺度函数紧支撑判断
fi(t)=fi(t)+h(n+1)*s2(i-n*2^(j-1)+1); % 反复应用双尺度方程求解
end
end
end
clear s
n1=length(s2);
n2=length(fi);
for i=1:length(s2)+length(fi) % 变换后的矩阵长度
if (mod(i,2)==1)
s(i)=s2((i+1)/2); % 矩阵奇数下标为小波上一层(0,1,2,3)离散值
else
s(i)=fi(i/2); % 矩阵偶数下标为小波下一层(1/2,3/2,5/2)(经过伸缩变换后)的离散值
end
end
s2=s;
end
% 采用双尺度方程求解小波基函数 PSI(T)
% wavelet.m function wave_base=wavelet(test,h); MOMENT=10; % 消失矩阶数
LEFT_SCALET=0; % 尺度函数左支撑区间
RIGHT_SCALET=2*MOMENT-1; % 尺度函数右支撑区间
LEFT_BASIS=1-MOMENT; % 小波基函数左支撑区间
RIGHT_BASIS=MOMENT; % 小波基函数右支撑区间
MIN_STEP=1/512; % 最小离散步长
LEVEL=-log2(MIN_STEP); % 计算需要的层数(离散精度)
MAX_LEVEL=8; % 周期小波最大计算层数
i=0;
for t=LEFT_BASIS:MIN_STEP:RIGHT_BASIS; % 小波基支撑长度
s=0;
for n=1-RIGHT_SCALET:1-LEFT_SCALET % g(n)取值范围
if((2*t-n)>=LEFT_SCALET&(2*t-n)<=RIGHT_SCALET) % 尺度函数判断
s=s+h(1-n+1)*(-1)^(n)*test((2*t-n)/MIN_STEP+1); % 计算任意精度的小波基函数值
end
end
i=i+1;
wave_base(i)=s;
end
回复
分享到:

使用道具 举报

 楼主| 发表于 2008-12-6 12:52 | 显示全部楼层

这方面的资料

这方面的资料我找了一些 我贴在这里大家共勉 并且和构造小波的朋友一起 交流经验!!!

巴特沃斯小波构造与应用研究.pdf.txt

119.33 KB, 下载次数: 73

基于Haar小波的尺度函数与小波构造.pdf.txt

171.25 KB, 下载次数: 86

基于提升方法的小波构造及早期故障特征提取.pdf.txt

130.47 KB, 下载次数: 102

 楼主| 发表于 2008-12-15 19:26 | 显示全部楼层

送给研究二代小波的同仁

送给研究二代小波的同仁
如果大家需要的话 我有时间再发一些

EMD方法在齿轮故障诊断中的应用.pdf.doc

93.53 KB, 下载次数: 57

基于第二代小波变换的心电信号分析算法.pdf.doc

160.34 KB, 下载次数: 74

基于提升方法的脉搏波信号处理.pdf.doc

188.52 KB, 下载次数: 56

基于监测数据的特征小波构造及应用.pdf.doc

149.79 KB, 下载次数: 57

冗余第2代小波构造及机械信号特征提取.pdf.doc

154.47 KB, 下载次数: 81

发表于 2008-12-25 14:12 | 显示全部楼层

回复 7楼 qqvirile 的帖子

问一下,下载的附件怎么看啊,我用WORD也打不开啊:lol
发表于 2008-12-26 23:17 | 显示全部楼层
Thx 楼主!:@D
发表于 2008-12-28 11:06 | 显示全部楼层
发表于 2009-2-17 16:22 | 显示全部楼层
谢谢,下了看看
发表于 2015-12-1 21:26 | 显示全部楼层
好的,看看
发表于 2015-12-2 13:35 | 显示全部楼层
非常感谢!学习了!
发表于 2015-12-12 17:20 | 显示全部楼层
刚接触小波 先下下来看看 谢谢楼主
发表于 2015-12-17 21:43 | 显示全部楼层
进来学习下,最近也在处理减速器的故障诊断
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-28 22:09 , Processed in 0.075971 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表