声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1110|回复: 0

[小波] 请教编制的关于计算小波系数和小波谱程序问题

[复制链接]
发表于 2009-9-3 15:32 | 显示全部楼层 |阅读模式

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

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

x
请教下面这个关于计算小波系数和小波谱的程序
采用修改的L-P基函数 wfi(t)=(1/t*pi*sqrt(z-1))(sin(z*pi*t)-sin(pi*t)),如果取z=2则为L-P函数,修改后取z=2^(1/4),为什么对重构后的信号求和后和原信号不同?程序如下:
dat=2.0^0.25;  %dat为小波函数的基数
g=9.8;
dt=0.02;
n1=-30;
n4=40;
dzb=importdata('dzb.txt');
aeqw1=dzb';
aeqw=[aeqw1 zeros(1,1)];
n=length(aeqw);
c=zeros(n4,n);
f=zeros(n4,n);
%aeqw=zeros(1,n);
dk=(dat-1.0)*(dat-1.0/dat)/(2*log(dat));
db=dt;
for j=1:n4
%求小波系数  
    aj=dat^(j+n1-1);
    for i=1:n
        bi=(i-1)*db;        
        wfi=0;%zeros(1,n);
        for k=1:n
            tp=(k-1)*dt;
            ws=(tp-bi)/aj;
         if ws==0.0
             fit=sqrt(dat-1.0);
         else
                fit=(sin(dat*pi*ws)-sin(pi*ws))/(pi*sqrt(dat-1.0)*ws);
         end
            wfi=wfi+aeqw(k)*fit*dt;
        end
        c(j,i)=wfi/sqrt(aj);
    end
end
%合成各个中心频率的小波谱
for j=1:n4
    aj1=dat^(j+n1-1);
    for i=1:n
        wfj=0;%zeros(1,n);
        tl=(i-1)*dt;
        for k=1:n
            bk=(k-1)*db;
            ws1=(tl-bk)/aj1;
         if ws1==0.0
             fit1=sqrt(dat-1.0);
         else
                fit1=(sin(dat*pi*ws1)-sin(pi*ws1))/(pi*sqrt(dat-1.0)*ws1);
         end
            wfj=wfj+dk*db*fit1*c(j,k)/aj1;
        end
        f(j,i)=wfj;
    end
end
sumf=sum(f);
dzb=[dzb;0];
tt=0:0.02:dt*n-0.02;
figure;
subplot(211)
plot(tt,sumf);
subplot(212)
plot(tt,dzb);
回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-6-6 19:04 , Processed in 0.085403 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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