用小波工具箱的实变换试验滤波器组的随机直流分配
被处理信号中的直流成分(均值),完全由尺度(低通)滤波器中输出,然而小波(高通)滤波器,对于直流成分的增益因子为零。即使《用小波包变换测验伪随机频响滤波器组》(2016-03-26),也强令了W0(1)=1,以迫使低通滤波器的幅频响应在零频率处取得最大值。这是小波变换的一种传统印记,也合乎人们对于滤波器的高通、低通之分的习惯,但是,对于某个变换中的完全重建性质和保内性质等,并不是必须的。用滤波器“组”时,省去“器”字,感到点别扭。用“系统”而省略 “器”时,感觉正常,甚至略好些。称呼中省不省去“共轭”一词,有教材称“正交滤波器组”、“双正交滤波器组”、“低通滤波器H和高通滤波器G组成一滤波器组,使用共轭滤波器组(H*,G*)对原始信号进行分解,然后用(H,G)重构信号”,这些不是致命的麻烦。一组基向量,在把它的数值都取复共轭后,结果仍为基,而且在实变换中其实是不变的。给定的一对分解滤波器,也可被用为合成滤波器。
离散傅立叶变换、基向量组、小波包变换算法,如水乳交融(当然,这不是看,在程序集中,字符串“fft”多;近期欲了解“wavelet”的进展,可搜索到但是难联接不少网页),这是居士的博客的一个重要标志和开创,已显示了灵活调整滤波器组冲激响应序列的频谱的简便途径。
滤波器组的随机直流分配,指:强行把普通尺度滤波器的直流增益,乘以区间内的一个随机数,并相应调整了小波滤波器的直流增益,却保持其余频率处的复增益值不受影响。
如果,简单地以尺度滤波器的直流增益为根号2来对整个滤波器组的数据定标,那么,这就须在随机直流分配之前完成。
完整的测验程序mlt_FIR_RandGainDC_DWT.m,以及一组结果,如图片1所示。程序与mlt_FIR_RandPhase_DWT.m(《给小波工具箱基于FIR的实变换附加多重噪声化相谱》,2016-01-22),有基本相同的前半部分。
其中W0是常规正交变换中的FIR尺度滤波器序列,编号1至30,是sym1至sym30;编号31至60,为db3至db32。把W0定标后,变换到频域,并用随机数调整直流增益后,取其IFFT即得F0。把F0倒序,再令奇数指标点的元素数值都反号后,即得F1。
这一对F0、F1,既可用作正变换函数wavedec中的分解滤波器对,也可用为逆变换函数waverec中的合成滤波器对。完全不需要,Matlab工具箱的函数orthfilt、qmf、wfilters或biorfilt来区别生成小波滤波器、分解滤波器、合成滤波器。当输入随机序列x时,可得分解结果C和合成结果x1。
再把F0、F1倒序后,又直接作为waverec和wavedec中的滤波器。以C为输入时的重建结果记为y,以x1为输入时的分解结果记为z。
把x与y的误差(范数比),加上x与z的误差,记入误差矩阵。程序结束时,画出所有误差曲线。
结果表明,使用随机直流分配后的滤波器组时,实正交变换仍具有,完全重建性质,分解与合成是可交换的。
图片1. 用小波工具箱的实变换试验随机直流分配的滤波器组的程序和例子
转自:http://blog.sina.com.cn/s/blog_729a92140102w9mt.html
页:
[1]