感谢网友‘李明杨艳’指出了我此前三个版本的小波信号分解重构程序中有关一维信号分解重构的程序mydwt和myidwt都存在的一个大Bug,因为当时编程时都是按照haar小波的特点来写的代码,没有考虑到使用其它小波函数滤波器组时卷积运算的输出序列长度变化的问题,后来的版本也只集中于二维图像方面,没有考虑一维信号,现已修正。更新的程序代码如下:
function [c,l] = mydwt(x,lpd,hpd,dim);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 函数 [c,l]=MYDWT(X,LPD,HPD,DIM) 对输入序列x进行一维离散小波分解,输出分解序列c
% 输入参数:x——输入序列;
% lpd——低通滤波器;
% hpd——高通滤波器;
% dim——小波分解层数。
% 输出参数:c——小波分解系数序列;
% l——各级小波分解系数的长度。
%
% Copyright by Zou Yuhua ( chenyusiyuan ), Created: 2007-11-10,
% Modified: 2008-09-01