主要内容

QMF.

缩放和小波滤波器

句法

y = qmf(XP.
y = qmf(X
y = qmf(x,0)

描述

y = qmf(XP.更改逆转矢量滤波器系数的偶数索引元素的迹象X如果P.0.。如果P.1,奇数索引元素的迹象颠倒。改变P.通过π弧度改变所得小波滤波器的傅里叶变换的阶段。

y = qmf(X相当于y = qmf(x,0)

X是有限能量信号。两个过滤器F0.F1是否是正交镜滤波器(QMF)X

y 0. 2 + y 1 2 = X 2

在哪里y0.是信号的抽取版本X过滤F0.所以y0.被定义为X0.=F0.X) 和y0.N)=X0.(2N),同样,y1是由的X1=F1X) 和y1N)=X1(2N)。此属性可确保完美重建相关的双通道滤波器银行方案(参见Strang-Nguyen第103页)。

例如,如果F0.是一个daubechies缩放滤波器,标量等于1和F1=QMF.F0.),然后转移函数F0.Z.) 和F1Z.)过滤器F0.F1满足条件(参见示例DB10.):

| F 0. Z. | 2 + | F 1 Z. | 2 = 2。

例子

全部收缩

此示例显示如何创建与之关联的正交镜像滤波器DB10.小波。

计算与之关联的缩放滤波器DB10.小波。

sf = dbwavf('db10');

dbwavf.归一化滤波器系数,使标准等于 1 / 2 。归一化系数,使过滤器具有等于1的规范。

g = sqrt(2)* sf;

通过使用获得小波滤波器系数QMF.。绘制过滤器。

h = qmf(g);子图(2,1,1)茎(g)标题('缩放(低通)滤波器g') 网格子图(2,1,2)茎(H)标题('小波(高通)过滤器H') 网格

将DWT扩展模式设置为级别。生成长度64的随机信号。使用信号执行单级小波分解GH

ORIGMODE = DWTMODE('地位''nodisplay');dwtmode('每''nodisplay')n = 64;RNG.'默认'sig = randn(1,n);[A,D] = DWT(SIG,G,H);

近似和细节系数的长度都是32.确认过滤器保持能量。

[和(sig。^ 2)和(a。^ 2)+ sum(d。^ 2)]
ans =.1×292.6872 92.6872

计算频率响应GH。Zeropad傅里叶变换时的过滤器。

n = 128;f = 0:1 / n:1-1 / n;gdft = fft(g,n);HDFT = FFT(H,N);

绘制每个频率响应的幅度。

图绘图(F(1:n / 2 + 1),abs(gdft(1:n / 2 + 1)),'r') 抓住图(F(1:N / 2 + 1),ABS(HDFT(1:N / 2 + 1)),'B') 网格标题('频率响应')xlabel('归一化频率')ylabel('震级') 传奇('低通滤波器''高通滤波器''地点''东方的'

确认频率响应的平方大小的总和GH在每个频率等于2。

概要= ABS(GDFT)。^ 2 + ABS(HDFT)。^ 2;[min(概要)最大(概要)]
ans =.1×22.0000 2.0000

确认过滤器是正常的。

df = [g; h];id = df * df'
ID =2×21.0000 0.0000 0.0000 1.0000

恢复原始扩展模式。

dwtmode(origmode,'nodisplay'

此示例显示了设置相位参数的效果QMF.功能。

获取与Daubechies小波相关联的分解低通滤波器。

Lowfilt = wfilters('db4');

使用QMF.用于获得小波的分解低通滤波器的功能。然后,比较值的迹象QMF.相位参数设置为0或1.反转的标志表示相移 π 弧度,与乘以DFT相同 E. 一世 π

p0 = qmf(levfilt,0)
p0 =1×80.2304 -0.7148 0.6309 0.0280 -0.1870 -0.0308 0.0329 0.0106
p1 = qmf(lepfilt,1)
P1 =1×8-0.2304 0.7148 -0.6309 -0.0280 0.1870 0.0308 -0.0329 -0.0106

计算大小并显示它们之间的差异。与阶段不同,幅度不受标志逆转的影响。

abs(p0)-abs(p1)
ans =.1×80 0 0 0 0 0 0 0 0

参考

斯特朗,g .;T. Nguyen(1996),小波和过滤器银行,Wellesley-Cambridge Mound。

扩展能力

C / C ++代码生成
使用MATLAB®Coder™生成C和C ++代码。

在R2006A之前介绍