居士演示了很多例子,在时域和频域,都可以直接很随机地给出满足离散正交变换的完全重建和保内性质要求的滤波器序列。多分辨分析等需要,用附加条件来限定、选择。名著“十讲”,强调了FIR、小波的正则性、频域函数在零频率处的零点的阶数,其著名的Daubechies正交FIR尺度滤波器,随序列长度增加时,与所需小波正则性和消失矩更高相伴,它们的幅频响应,可在零频率附近的更宽的范围内,趋于标准值根号2,且在理想上一致地,时域序列范数都应为1。
如图片1.所示。可运行下面一段代码:
- clear;
- for ii=1:40;
- x=dbaux(ii+2); y=BetterOrth(ii+40);
- x=x/norm(x(:)); y=y/norm(y(:));
- x0(:, ii)=abs(fft( x(:), 256 ));
- y0(:, ii)=abs(fft( y(:), 256 ));
- end; norm(x0(:)-y0(:)),
- x0=abs(x0-sqrt(2))+1e-16; y0=abs(y0-sqrt(2))+1e-16;
- subplot(1,2,1); semilogy(x0(1:32, :)); axis tight
- subplot(1,2,2); semilogy(y0(1:32, :)); axis tight
复制代码 其中,以Matlab工具的函数dbaux获取其Daubechies尺度滤波器序列db3至db42,对应于居士修整过的FIR序列的第41至80号(《修整FIR尺度滤波器把重建精度提高几个数量级》,2016-04-24,在新浪网列出了数据,在科学网上载了程序附件)。将两个来源的序列,都做范数归一化处理,然后利用256点-FFT获得它们的幅度谱序列。记录幅度谱序列与常数值根号2的绝对误差,取其在[0,pi/4]区间上的结果画图。
其中,左边的曲线图,反映了未修整过的序列的情况,从db3开始,随阶次增高时,通带平坦宽度渐增,但是,过高时,平坦通带内,出现了更大纹波,有的反弹可达10的负5次方(对普通应用,已算很小了)的水平。右边的曲线图,反映了修整过的序列的情况,更清楚地表明了改善,随阶次增高时,通带平坦宽度渐增,而且,纹波水平约可受限于10的负15次方,无反弹式地大增。
修整FIR尺度滤波器,使通带增益改善,与以前看到了的使小波变换重建误差减小,其基本状况,是一致的。用Symlets系列的FIR测验,也可以看出这点。
图片1.修整FIR尺度滤波器使通带增益更趋理想恒定的测验结果
|