《Wavelet Theory:An elementary Approach With Applications》中关于例6.10的疑惑

我用matlab仿真式(6.79),式中a0,k直接取书上算出来的系数,即[0.006,-0.056,2.347,3.192,2.009,-0.663]; φ (t)则直接由书上的滤波器系数求得,结果仿真的结果跟书上相差甚远,百思不解。

仿真结果与书上结果比较:

我的结果

书上的结果


现将源码公布如下:

clear
clc
tic
t=-3:0.001:3;
a0=[0.006,-0.056,2.347,3.192,2.009,-0.663];
h4=[1+sqrt(3),3+sqrt(3),3-sqrt(3),1-sqrt(3)]/(4*sqrt(2));
jinsi = zeros(1,length(t));
for k=-4:1
    jinsi = jinsi + a0(k+5)*phnt(t-k,h4,5);  %phnt是我另写的函数,递归求daubechies尺度函数的5阶逼近
end
hold on;PlotAxisAtOrigin(t,jinsi);
toc



function [ output ] = phnt( t,h,n )
% t:时间范围
% n:迭代次数
% h:尺度滤波器系数
    output = zeros(1,length(t));
    if(n==1)
        for k=1:length(h)
            output = output + h(k)*B0(2*t-k);  %B0(t)是box function
        end
        output = output*sqrt(2);
        return;
    end
    for k=0:length(h)-1
        output = output + h(k+1)*phnt(2*t-k,h,n-1);
    end
    output = output*sqrt(2);
end


function [ output ] = B0( t )
output = heaviside(t) - heaviside(t-1);
end

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值