Академический Документы
Профессиональный Документы
Культура Документы
Основы теории вейвлетов. Вейвлеты в MATLAB
Основы теории вейвлетов. Вейвлеты в MATLAB
MATLAB
,
, 2005
519.6
16273
51
51
. .
. MATLAB. .: , 2005. 304
., .
ISBN 5940741223
:
.
.'. , . . .
MATLAB.
, ,
', . '
, '
, .
, ''
MATLAB.
16273
.
.
, , . , '
,
. '
, .
ISBN 5'94074'122'3
. ., 2004
, 2005
........................................................................ 10
I
................................ 13
1
.......................................... 15
2
................................ 67
II
MATLAB ...................................................... 165
3
) MATLAB .... 167
4
WAVELET TOOLBOX ....................................... 247
........................................................................ 10
I
................................ 13
1
.......................................... 15
1.1. ............................................ 16
1.2. ........................................................................... 17
1.3. .................................................. 21
1.3.1. L1(R) ..................................................
1.3.2. L2(R) ..................................................
1.3.3. ..............................................
1.3.4. ....................................................................................
1.3.5. ...............................................................
1.3.6.
...............................................
1.3.7. ............................................
1.3.8. ...............................................
1.3.9. ..........................
22
23
24
26
27
28
28
29
30
1.3.10. .................................................................................. 33
1.4. ....... 33
1.4.1. ..........................................................................
1.4.2. N ............................
1.4.3. ............
1.4.4. Z ....................................................................
33
36
38
40
1.4.5. .................................................................................... 41
1.5. .................................................................................. 44
1.5.1. .......................................... 44
1.5.2. .................................................................... 46
1.5.3. ................................................................... 48
1.5.4. ................................................... 49
1.6.
................................... 52
1.6.1. ........................................
1.6.2. ..................................
1.6.3. ............................................................................
1.6.4. ....................................................................................
1.6.5. .............................................
53
56
57
61
64
2
................................ 67
2.1. .................................................................. 68
2.1.1. .......... 68
2.1.2. ...................................................... 70
2.1.3. ........................................................... 72
2.2. .......................................... 76
2.2.1. ........................................ 76
2.2.2. .................................... 80
2.3. ........ 86
2.3.1. ........................
2.3.2. ...................................................................................
2.3.3. ................................
2.3.4. ...........................................................
86
90
95
96
2.3.5. ................................................ 99
2.4.
.................................................................................. 101
2.4.1. ......................................... 101
2.4.2. .................................................................... 104
.................................................................. 150
................................................................ 152
II
MATLAB ...................................................... 165
3
) MATLAB .... 167
3.1. MATLAB ..................................... 168
3.2. ......................................................... 178
3.2.1. ..................................................... 180
3.2.2. .................................. 181
3.3.
..................................................... 183
3.4.
.......................................................................... 187
3.5. cwt ..... 194
3.6. ................................................................ 198
3.7. ................... 208
3.7.1. MATLAB ........................................................... 208
3.7.2. ....................... 210
3.7.3. ....... 211
232
238
243
245
4
WAVELET TOOLBOX ....................................... 247
4.1. (Wavelet Display) .................. 248
4.2.
(Wavelet 1D) ................................................................................ 250
4.2.1. ...............................................................
4.2.2. (Display mode) ...............
4.2.3. ..
4.2.4. (Histogram) .........................................................
4.2.5. .......................................................................
251
251
253
256
256
4.4.
(Continuous Wavelet 1D) ........................................................ 264
4.4.1. ......................................................................... 264
4.4.2. ................................................................. 266
4.5.
(Complex Continuous Wavelet 1D) .... 267
4.6.
(SWT Denoising 1D) ............................................. 270
4.9.
(Wavelet Coefficients Selection 1D) ................................... 282
4.10.
(Wavelet 2D) ................................................................................ 285
4.11. ............... 288
4.12.
(SWT Denoising 2D) ................................................................ 289
4.13.
(Wavelet Coefficients Selection 2D) ................................... 291
4.14.
(Signal extension, Image extension) ................................... 293
wavelet () '
.
() . ''
, '
. . '
. . . . , . . , . . '
, '
(. ). , '
8 (236) 2
1998 . [10].
'
. '
' , '
, '
. '
.
.
: . [18]
. [6]. .
'
. ,
, . '
,
.
' MATLAB
11
. :
MATLAB. '
MATLAB , '
, , ,
MATLAB .
2003 . '
300 . 20032004
. '
. , , '
MATLAB.
.
. '
. '
, '
(). ,
, '
. '
. '
.
. , '
'
.
. '
. ' .
, '
. '
.
'
: ', ,
, .
' . '
, ,
,
.
( Help Wavelet Toolbox
MATLAB) MATLAB,
. ,
,
. Wavelet Toolbox MATLAB
, , . '
. '
12
.
Wavelets Toolbox MATLAB. MATLAB '
, '
'. ,
(GUI).
MATLAB Wavelets Toolbox.
, , .
, '
, .
. .
smolen@kemtel.ru
1
............ 15
2
........ 67
. ,
.
,
.
.
:
, ,
,
.
1.1.
..................................... 16
1.2. ........................ 17
1.3. ..... 21
1.4.
................ 33
1.5. ............................ 44
1.6.
.......................... 52
,
,
.
,
,
,
.
16
1.1.
, , '
.
{xn}, , '
, . . n
n Z.
,
.
, . . '
, , .
:
.
f(x) , ,
R .
f(x) '
x, f(x) 0. supp(f). supp(f)
[a, b], f(x) '
.
, f(x) $
(..), , ,
.
E ,
(u, v). v E
:
,
. E $
, .
E $
,
, n, m Z.
n,m .
{un}n Z E
, {un}n Z
. , E '
, {un}n Z .
{un}n Z E.
L2[0,2]
[0,2], .
.
a sin( x + 0) a cos( x + 0),
17
a , , 0 . T = 2/
, . '
n = 1/T = /2 , .
f(x)
x R.
.
f(x)
. n f(x) '
.
n
.
m1 m. '
'
f(x) m.
, x
x = xn, n Z. yn = f(xn).
{yn} (sampling), .
f(x) {yn}.
.
1.2.
.
, ., ., [2], [9].
f(x) [0,2] , . .
, ()
. '
2
L [0,2]. '
L2[0,2] :
,
.
L2[0,2]
.
f(x) L [0,2], :
2
(1)
18
(2)
,
f(x) L2[0,2] f(x) L2[0,2]. ,
, Sn(x) .
.
(3)
,
, (1) '
, '
an bn. ,
, '
(1) ,
(1) .
f(x) '
. (. ), f(x) L2[0,2] '
f(x) . (. . )
[0,2], .
, f(x)
.
(1),
f(x) . f(x) '
x, '
.
:
, f(x) '
R. x f(x),
> 0
.
.
.
f(x) x, f(x) x '
0 < 1, . . M 0 > 0 ,
.
, f(x) x ,
f(x) .
.
19
.
,
.
(4)
. f(x) L2[0,2],
.
(5)
[0,2N]. f(x)
[0,2N], N .
L2[0,2N] :
.
f(x) :
,
,
:
.
1. f(x) .
f(x) an, bn ,
cos nx sin nx '
f(x). '
.
f(x).
. f(x) '
f(x).
2.
f(x)g(x) ck dk:
20
.
,
.
1.
[, ]. , bn
.
an :
,
, x = a. ,
a = /2,
2.
[, ].
a0 = 1, a1 = 1/2.
: a0 = 1, a1 = 1/2.
3.
.
, '
[, ]
21
[, ] :
.
1) k = 2m:
[, ] :
;
2) k = 2m + 1:
.
4.
[, ]. 3 '
,
.
.
1.3.
, '
.
, ., ., [2], [9].
L1(R) , '
R.
.
f(x)g(x) L1(R) '
L1(R). L1(R)
f *g, L1(R) '
:
.
(1)
(2)
22
1.3.1. L1(R)
.
1. f(x) L1(R) $
(3)
. f(x)
'
. '
f(x)
. '
, f(x)
.
(4)
,
(. ).
, ,
. .
.
, a = b.
(4), '
.
,
(5)
x R, f(x) ,
.
.
1. f(x)
,
(5) x, f(x) .
2. f(x) L1(R) $ R,
(5) .
f(x) ' R, '
, ,
.
23
1.3.2. L2(R)
L2(R) ,
R. L2(R) :
.
, , (1) '
. F: L2(R)
L2(R). . '
S
L2(R). , F S
. , F: L2(R) L2(R)
S
L2(R). S L2(R)
. S
L1(R)L2(R) L1(R) L2(R).
F: L1(R)L2(R) L2(R) L2(R) '
.
3 ( ). f, g L1(R)L2(R).
,
(6)
.
. .
, F: L1(R)L2(R) L2(R)
.
(7)
1
2
2
L (R)L (R) L (R), F
L2(R) . '
F L2(R) . f(x) L2(R).
fn(x), f(x) | x | < n x,
L1(R).
.
2
,
L (R) , '
,
L2(R). f(x) L2(R).
3 , '
L2(R) L2(R). , g L2(R) '
F'1[g].
4 ().
24
L2(R). F $1 $
L2(R) ,
.
, L2(R) , '
F: L2(R) L2(R) .
. . ,
:
.
(8)
.
,
(9)
Hn(x) n.
.
(10)
:
.
(., ., [9]),
L2(R). , '
:
.
cn
, . .
.
, '
.
1.3.3.
1. f(x) L1(R),
R,
.
2. f(x) n
.
(11)
,
(12)
25
. f(x) n
M 0, ,
.
3.
.
(13)
. f(x),
.
f(x),
.
4. . f(x) L1(R), a 0,
.
(14)
5. . f(x) L1(R),
b
.
(15)
6. .
.
(16)
7. . f(x), g(x)
L1(R)L2(R),
.
(17)
1. f(x) g(x) ,
.
. '
, (
) . :
'
. g(x) = f(x)
. 7 ,
f(x).
8.
(18)
. .
,
.
9. .
.
,
(19)
26
1.3.4.
1.3.1.
sinc
1.
2.
27
1.3.1.
1.3.5.
f(x) L2(R),
[, ]. '
,
, ,
.
z C z, F [f ](z) '
.
, F(z) z C $
, ,
. z = , F(z) = const. z = ,
F(z) . z = , F(z) '
, , , sin(z), cos(z), exp(z).
F [f ](z) .
.
2. F(z) z C.
, F(z) > 0,
> 0 A , ,
.
(20)
, f(x) [, ],
F [f ](z) > 0. $
, , F(z) '
L2(R).
5. F(x) L2(R). F(x)
f(x), [, ],
, F(x)
F(z) > 0.
28
. [14].
,
'
f(x) L2(R) f(z)
> 0,
[ , ].
3. f(x) L2(R)
,
$
, . . | | > .
, '
[ , ]. ',
f(z) > 0.
1.3.6.
(x) R ,
.
(21)
, '
, . ,
, z=u+iv .
,
:
.
+<0 , . .
. '
, '
.
1.3.7.
6.
.
$
L1(0,2). , $
S(x)
.
(22)
. [9]
29
.
:
2. 6 , '
..:
.
,
S(x),
. S(x) '
L (0,2), . '
S(x) .
7.
:
S(x);
:
,
(23)
.
3. ,
a > 0. ,
,
.
(24)
(25)
1.3.8.
'
. , '
30
. , ', ,
f(x)
R ( ). ',
f(x)
f(x). '
.
f(x) g(x x0),
x0.
,
(26)
.
g(x) . g(x) , ,
:
.
,
>0 . '
, .
. ,
, '
.
(27)
f(x).
[12]
[18], 3.1 3.2.
1.3.9.
'
, L1(R) L2(R), '
.
(x) R , '
x '
31
(28)
p, q .
n(x) S, p q,
n . ,
R
n .
S
. (x) S,
p, x p (x) S q, (q)(x) S.
. '
,
.
2 3 (. . 1.3.3) , '
. F
S .
, F: S S .
S L1(R) L2(R).
L2(R),
(6) 3 .
S . '
f (x) S (f,).
.
. f(x) R, p
.
.
.
L1(R) L2(R), ,
x p.
32
. (x) ,
(x) S x = 0.
:
.
, ,
,
, ' '
.
S ' . '
S ' . fn
f S ', (x) S
( fn , ) ( f, ).
S '
F: S S, S '
S, '
, F : S S. '
f , F [f]
,
(x) S
.
' . (x) S
.
.
' (x) , '
F [ ] 1. ,
.
(x) i , F[ (x)] = i . ,
' S ' ' '
:
.
4.
, ('
2 3), ( 4 5), '
. '
,
. ,
.
33
[17] [4].
1.3.10.
1.3.2.
1.4.
f(t) R , L1(R).
'
, , '
(
). '
.
1.4.1.
t . '
tn = nt
xn = f(nt), n Z
f(t). {xn} (sampling).
, t '
.
.
34
1. f(t) $
,
(1)
xn = f(nt) f(t).
1. (1) '
. '
f(t).
2.
, '
(1)
.
(2)
, , , '
f(t). '
, {xn}
f(t) .
, , f(t) = sin( t) ,
xn = sin( n t)
= k /t,, , f(t) = 0: xn = sin( kn) = 0.
{xn} f(t) = sin( t) '
.
2. {xn} t $
.
3. f(t) = sin(N t), '
nt:
xn = f(n t) = sin ( N n t) = sin ( n) = 0.
, '
. , N '
, (1).
, f(t) '
{xn}, /t. '
f(t),
f(t) . , '
[, ].
, '
35
1 (). ,
f(t) R
, [ , ]. t
, f(t)
xn = f(nt), n Z
:
(3)
. , f(t)
:
.
[, ] '
:
.
[, ], '
cn
:
.
( ,
,
' [, ]
), . ,
cn ,
36
,
,
(4)
,
t = 0. (3) t = / .
(4) f(t)
. ,
[ /2, /2], t = 2
.
(5)
, cn = 2f(2n),
[ /2, /2]
.
(6)
1.4.2.
N
'
xn = f(nt), n = 0, 1, , N 1.
'
:
{xn} n Z;
{xn, n = 0, 1, , N 1} '
n Z,
, p Z, n = 0, 1, , N 1.
(1) ( '
):
.
, '
nt,
t
. ,
x0, , xN 1 '
y0, , yN 1. .
'
2/t,
,
37
[0, 2/t ) 2/(Nt).
.
t.
3. N $
:
.
(7)
:
.
(8)
(7) (8).
.
,
.
,
q = exp(i2 (p n)/N).
.
.
(9)
4. 3 , t = 1,
N = . = 2 k/N
yk. N = k = N/2, . .
{yk}, k = 0, 1, , N.
5. yk, k = 0, , N1,
k , ,
yk+N p = yk, k = 0, 1, , N 1, p Z. ,
.
6. {xn} , (7) ,
. {yk} . ,
38
. , k = N/2,
, yk. k = N/2 yk '
N/2 . , N '
,
.
{yk}.
7. MATLAB '
: y = fft (x), x = ifft(y). NATLAB
, , :
.
N , k = [N/2] + 1 '
{yk}, k = 1, , N.
1.4.3.
. x = {xn} '
, n Z, xn C. ,
.
(10)
(11)
(12)
'
, . '
.
39
1. $
X():
.
2. X() {xn}
,
,
,
c k0 .
.
. 1
.
, z0 = c,
k zk = 0.
.
40
3. X() {xn}
, $
.
3. .
.
8. , , '
, ,
(10) , .
9. '
g(t), '
xn. :
.
(14)
(14) g(t)
R. , g(n) = xn.
g(t) X(),
, R [, ].
,
'
[, ]() [, ],
.
g(t) :
(15)
[, ] (11) X()
. , (11)
'
X() 2 ', (15)
[, ].
1.4.4. Z
.
, '
, z C. '
X(z) z'
{xn}:
41
(16)
1.4.5.
.
1. h,
:
.
,
.
2. g, '
:
.
,
.
, H() G() 1 2
.
42
. 1.4.1. H () G ()
H() G()
. , '
{xn} X() .
X() H() {xn}, ,
. , , .
, {xn} , '
. G() (
) .
3. h g '
:
,
.
H() G() '
:
,
H() + G() = 1.
43
. 1.4.2. H () G ()
H()
.
G() .
1. h g :
,
.
H() G().
.
.
2. h g '
:
,
.
H() G().
.
44
1.5.
x(t), '
R, t . ,
x(t) R L2 || x(t)||2.
x(t).
, '
x(t) '
:
.
1.5.1.
L:
x(t) y(t). x(t) , '
y(t) .
L: x(t) y(t) , '
:
, L( x1 + x2) = L(x1) + L(x2), , ;
, . . y(t) = L(x (t)),
'
. ,
u R
.
,
'
X() HL():
Y() = HL() X().
(1)
,
1. HL(). , '
(1) '.
2. . |HL()| '
HL().
3. () = arg HL().
4. . 0, '
.
5. () . ,
HL().
45
6. . hL(t), , '
HL().
hL(t), L
x(t) :
.
(2)
(1) ,
.
hL(t) , hL(t)
, $ '
, L: (t) hL(t). ,
.
, ' (t u) ,
f(t) u.
, .
. , '
,
2, '
0. 0 = 0, .
().
.
. 1.5.1.
46
1.5.2.
1. . u R, y(t) = xu(t) = x(t u).
, H() = eiu.
' , h(t) = (t u).
'
:
y(t) = xu(t) = x(t + u).
2. . h(t) R.
x(t) h(t):
.
(3)
.
x(t) '
[t a, t + a].
h(t)/2a:
.
: 0 = 0. Y() = H()X()
, , , X() '
, , ,
X() ,
. '
: , '
. '
x(t).
47
.
k Z.
.
6. . ,
x(t).
,
(4)
b . , (4) '
, Y() = i X() + bX() = (i+b)X().
H() = i + b.
48
,
. '
. '
$ : h(t) = + b .
7. . , '
x(t)
,
(5)
y(t) (5) ( ,
). '
,
.
( ) (5) '
.
1.
n , '
H() n .
, y(t) n '
, H() '
, ,
n .
, '
.
, ,
, '
. , 6 7 ,
.
(6)
1.5.3.
{xn} {yn} .
, {xn} x(t).
x(t) , , t > 0 '
x n = x(nt),
n Z.
, t .
, t = 1.
49
,
{xn}. ,
2 ' '
.
2 ',
{hn},
,
.
'
H():
Y() = H()X().
.
(7)
'
{hn}, n Z, {xn} (7).
, , '
{hn}.
.
' ' . '
, {hn} ,
: x0 = 1 xn = 0 n 0.
2.
X() {xn} H(),
H() .
1.5.4.
1. .
, k .
hk = 1
. yn = xn + k
.
2. .
N :
.
50
:
:
. '
.
z$, ei z,
.
.
3. . yn = xn xn 1. h0 = 1
h 1 = 1. :
.
yn = xn xn+1.
4. .
,
(8)
ak b . , '
yn yn 1.
.
, yn , '
yn + b yn 1 = zn. '
1' (. 7 '
). :
51
5.
,
(9)
ak , bk . H(), z$'
H(z), :
'
.
7. .
. '
, , 50
. ,
'
. ,
, ,
.
, . '
'
.
{xn} {yn} , n = 1, 2, .
, yn = xn an, an '
. , an = A sinn, A '
'
.
an+1 = A sin(n+ ), an = A sinn , an 1 = A sin(n ),
sin ( + ) = 2cos sin sin( )
an+1 = 2cos an an 1.
,
.
.
, F0 ( )
Fd . , F0 = 50
Fd = 1000 , = 0,1 cos = 0,9510565162951535721.
. , n'
xn 1 an 1, an. :
yn = xn an , yn 1 = xn 1 an 1 .
52
y = yn yn 1 = (xn an) (xn 1 an 1).
, an 1,
an, y . '
a0, a1 a.
.
1. n : = 1; 2. a0 : = 0; 3. a1 : = 0; 4. x0 : = 0.
5. y : = (xn an) (xn 1 an 1).
6. y = 0, 9, .
7. y > 0, , an : = an a 9.
8. an : = an + a.
9. yn : = xn an .
10. an+1 = 2cos an an 1 .
11. n : = n +1 .
12. , , . 5.
13. .
'
a. a ,
, a ,
.
1.6.
2 ' '
. [, ].
,
. , '
{xn}, ,
t=1. ( ) .
{hn}, n Z, , '
. {gn}, n Z,
H()
, G()
.
1.
,
.
:
53
2.
[ , ]
'
(1)
, :
,
G0() = 1 H0().
(2)
. 1.6.1.
{xn}, n Z . '
. '
, , , '
{xn} .
.
1.6.1.
{xn}, n Z . '
:
.
54
{xn}:
.
H0() G0() ,
H0() + G0() = 1
X()= H0()X() + G0()X() = XH() + XG().
, . '
, ,
{xn},
(3)
, . . ,
(4)
(5)
H0().
H0()
,
,
.
.
x(t), x(n) = xn '
. ,
.
.
.
x(t) ,
. '
xH(t)
xH(nt),
. , xH(t)
(5) 4:
.
(6)
55
,
'
. '
. .
2.
. XH() = H0()X()
2 '
. '
, XH()
' . '
(. (6) 1.4)
,
.
H
X ()
.
.
'
G
x (t). G0()
X().
XG() = G0()X()
,
(7)
G0().
XG() 2 ' (/2, /2).
,
, 2 . , '
.
.
(8)
, x G(t),
. , XG() '
,
(6). .
' , '
XG(). '
(. (6) 1.4) ,
. '
56
,
. xG(t)
, ,
:
,
.
(9)
:
.
1.6.2.
{xn} {n} {Dn} '
:
(10)
57
(2) H0 G0,
(10) :
.
(11)
. ,
,
p = 2k. {n} {Dn},
:
(11)
:
,
'
(12)
.
, {xn} ' '
{n} {Dn} :
{n} {Dn};
2H0 2G0.
'
2.
1.6.3.
, '
H0 G0 (
). ,
.
,
, '
, , ,
.
, '
hn gn. ,
x (t) = x H(t) + x G(t) .
,
H() G():
58
. '
(11). '
, .
, H() G()
{xn} {n} {Dn},
, . ,
{hn} , , '
{gn}. {xn}, n Z
X() . z$'
:
,
z .
,
H(), G(), X().
. {xn} :
,
(13)
'
X(z) H(z) G(z):
,
(14)
(15)
'
: ,
,
z2 = w. {n},
'
A(w),
.
{Dn},
D(w),
.
(16)
(17)
59
,
.
(18)
,
{n} {Dn}:
(18)
.
(19)
'
, .
z'.
{n} {Dn},
.
w = z2.
, A(z2) D(z2).
, ,
(20)
2
(21)
:
.
(21)
(21),
. '
:
(22)
60
, H(z) G(z) '
(22),
(21). ,
, , '
H(z) G(z). '
.
1. . H(z) '
{hn}. :
.
(23)
, (21) ,
.
,
H(z)
.
,
{hn} , :
(24)
. , H()
, '
.
,
(25)
:
.
(26)
61
, z i s '
s 1. Q1(z) '
. n + m
. n + m 1,
.
1. (27) H(z) G(z) '
. ,
(27) z k.
1.6.4.
1. . h g '
:
.
:
,
.
:
,
G() = H( + ),
H() G() .
, h , g .
{xn} X() '
. X() H() {xn},
, , ,
, . , {xn} ,
.
{an}, :
.
62
, h {xn} '
{an} , {xn}. '
.
g G(), '
( ) .
,
' x
(, ). {dn} '
{xn}.
, xn = an + dn . , {xn}
{n} {dn}.
, .
.
, H() G()
.
.
,
.
.
:
.
2. h g :
,
.
H() G() '
:
.
G() = H( + ),
H() + G() =1.
'
H() . G() '
.
63
, :
,
.
{xn}
, ' '
{xn} ( 1/4). , xn = an + dn . '
, {xn} '
{n} {dn}.
(25),
.
3. . h g '
:
,
.
:
,
.
H(z) G(z) z':
,
,
.
(26):
.
.
(28)
(21) . '
.
64
. {hn} '
,
.
.
. 1.6.2.
(28)
'
:
,
.
1. h g :
,
.
H() G().
.
. an dn, '
. .
an + dn . (25) (26).
1.6.5.
{xn} ('
) ' .
65
, , '
4 :
{hn} ,
{gn} ,
,
.
' ,
, . x = { xn} '
{hn} '
A = {Ak}, {gn} '
D = {Dk}, .
A = {Ak}
A1 = {A1,k}. D ={Dk} '
'
D1 = {D1,k}.
A1,
A2 = {A2,m} D2 = {D2,m}. '
, A '
D . '
j , x = {xn}
{ A j , D j , D j 1 , , D 1 }.
' '
. '
.
:
. 1.6.3.
Aj , Dj. '
,
x = {xn}. ,
. ,
66
, ,
.
(0,0)
(1,0)
(2,0)
(3,0)
(3,1)
(1,1)
(2,1)
(3,2)
(3,3)
(2,3)
(2,2)
(3,4)
(3,5)
(3,6)
(3,7)
. 1.6.4.
3. , , '
,
MATLAB ' .
, .
MATLAB ('
):
[Lo_D,Hi_D,Lo_R,Hi_R] = wfilters(wname),
wname , Lo_D {hn},
Hi_D {gn}, Lo_R
, Hi_R
.
, '
MATLAB. '
, '
,
, .
2.1. ................. 68
2.2.
.................................... 76
2.3.
....... 86
2.4.
............... 101
2.5. .
B! .............................. 110
2.6. ! .. 118
2.7.
................ 129
2.8.
........ 134
2.9. ........................ 144
2.10.
................................ 147
2.11.
! ....... 159
2.12. ..... 161
(
),
L2(R),
.
.
.
.
,
,
L2(R).
68
2.1.
L2(R) .
.
L2(R),
L2(R).
.
2.1.1.
, (x) :
n Z.
(1)
0,n (x) = (x n),
2
V0 L (R),
(V0 { 0,n(x), n Z}).
, { 0,n(x)} V0.
(2x n).
(2x) n/2:
, .
(2)
V1, . {1,n(x)}
V1.
, V0 V1. , (x)
V0 V1:
(x) = (2x) + (2x 1).
69
hn :
.
V2, :
2 (4x) n/4 Ox. ,
supp( 2,n) = [n/22,(n + 1)/22], 1/4. { 2,n(x)}
V2. , V1 V2.
y = (x)
y = 2 (2x 3), y = 2 (4x 11).
. 2.1.1.
, j N :
.
(3)
n/2j Ox. Vj
,
:
V0 V1 V2 Vj .
.
70
.
Vj L2(R):
V0 V1 V2 Vj .
Vj { j,n (x)}.
. L2(R),
.
Vj j.
,
:
V1 V0 V1 V2 Vj .
,
2.1.2.
j Z
L2(R) Vj :
, , . .
x R , ,
j,n(x) , n .
,
.
, j Z
.
. f(x)
L2(R).
71
, f1n
[n/2, (n + 1)/2].
P1 P2 f(x) = (sin x)/x [0,3].
72
f(x) , ,
Pj(f ) f(x).
L2(R),
, f L2(R)
2.1.3.
Pj (f ) f(x),
j. .
Pj+1(f ) Pj(f ).
Vj + 1 Vj Vj + 1, . .
Wj Vj Vj + 1.
(4)
.
Pj+1(f ) Vj+1 Pj(f )
, Pj(f ) Pj+1(f ):
.
(5)
,
, ,
Wj . Vj V0
, W0
V0 V1 :
.
W0 . { 1,n (x)}
. V0, n : (, 0,n) = 0.
V0 V1 , , 0,n (x)
{ 1,n(x)}
:
.
,
(6)
V0
73
{ 1,k} , :
. ,
:
,
. , (x n)
W0 . ,
y = (x) y = 2 (2x 3),
y = 2 (4x 11).
. 2.1.4.
74
W0. , 0,n
0,k. 0,n(x) W0. {0,n(x) , 0,n (x)} n Z
() V 1.
, 1,n V1
0,n(x) 0,n(x):
.
1,n(x) n.
, , W0
0,n = (x n).
,
Wj
.
(7)
1. Wj .
.
(x) . (x)
.
.
Vj ,
, Pj(f ) Pj + 1(f ).
P2(f )
P1(f ) f(x) = (sin x)/x
.
P2(f ) P1(f)
75
. 2.1.5.
( j+1)
,
aj,k j ,
,
dj,k ,
Vj ,
, Vj + 1
, j
2
L (R)
.
Wj
,
L2(R). .
1. ,
L2(R).
76
f L2(R).
:
Vj V0,
. (x), , j Z
,
Vj . j Z
Wj
,
(x).
, .
, L2(R).
Pj(f ) f(x) ()
. ,
(x) (x).
.
2.2.
, (x) , ,
.
V0 (x), V1
(2x n),
,
, . . (x)
(2x n).
.
1. (x) L2(R) ,
,
(1)
hn, n Z
.
(2)
(1) . {hn}n Z %
(1) .
2.2.1.
1. , 1. ,
(x) = 1 [1/2, 1/2) (x) = 0
[1/2, 1/2) .
77
2. . B (x) 1:
.
(3)
[1, 1]
.
(4)
.
(4).
0,5 (2x + 1), (2x), 0,5 (2x 1).
, { (x n), n Z} V0,
.
. 2.2.1. B 1.
3. B 2(x) 2.
(5)
78
. 2.2.2. B 2.
n hn = 0 n. . 4
.
1. (x)
, N, (1)
, N + 1 .
1 3.
(x) . :
.
(6)
, .
1. j, k Z :
.
(7)
,
,
(8)
.
:
79
(9)
(10)
(10) .
H0()
(x).
2. (2) {hn} ,
H0() . H0() 2 ,
L2[0,2]. (2)
, (9) , H0()
2 .
, {hn}n Z
4.
3. H0() .
, ,
. [6] m0()
, [18] H0()
{hn}n Z .
, .
4. (10) ,
.
(x)
, , (10) = 0,
.
,
.
(11)
(x) ,
.
(12)
5. {hn}n Z
80
.
6. {hn}n Z
.
.
2.2.2.
.
. , {hn}n Z
( ).
(x) .
(1) , , (10).
(x).
1. .
,
hn
.
. :
1. A2 ,
.
2. Tn/2 n/2, Tn/2(f )(x) = f(x n/2), n Z.
, (2x n) = Tn/2 o A2( (x)).
n+1(x) = F( n(x)), n ,
, , (x)
.
. hn.
81
,
.
7. :
(x) .
. (x)
.
. 2.2.3. (x)
, (x)
5. MATLAB
n(x) . 2.2.3.
function
for
if x(k)
y=Ha01(x);
%
k=1:length(x);
< 0; y(k)=0; elseif x(k) < 1; y(k)=1;
else
y(k)=0;
82
end
end
Function
y=Ha1(x);
%
for
k=1:length(x);
h0=(1+sqrt(3))/4;
h1=(3+sqrt(3))/4;
h2=(3-sqrt(3))/4;
h3=(1-sqrt(3))/4;
y0(k)=Ha01(2*x(k));
y1(k)=Ha01(2*x(k)-1);
y2(k)=Ha01(2*x(k)-2);
y3(k)=Ha01(2*x(k)-3);
y(k)=h0*y0(k)+h1*y1(k)+h2*y2(k)+h3*y3(k);
end
y=Ha2(x) y=Ha01(x)
y=Ha1(x) y=Ha1(x).
6.
,
.
2. . , hn
(x) [0,N].
(13)
hn . ,
,
,
. . (x)
x = k/2j, k Z, j = 1,2, .
x
k/2j ,
(x) x .
(x) x = k/2j
x.
(x) .
x = k, (13) :
.
(14)
(x) [0,N],
: = ( (0), (1), , (N)).
H = , (N + 1) (N + 1)
H
. ,
, 1.
:
83
, (x)
H, 1.
:
(
(x)).
(13) (x) , . .
, (x)
[0,N], , (0) = 0, (N) = 0, H
(N 1) (N 1).
8. :
.
(x)
[0,3], (0) = 0 (3) = 0,
:
.
(x) :
,
84
3. .
.
,
.
,
H0(),
, c
.
, c = 1 :
.
H0().
1.
H0(0) = 1,
(15)
R.
. H0(0) = 1,
.
, (15)
{hn} .
, {hn}
, (x) .
7. ,
H0() (15). ,
f()
H0(). ,
85
e H0(/2)
(15).
9. H0() = cos /2. ei/2
. H0(0) = 1
.
, ,
.
i/2
.
1.
.
:
.
N :
9, 1
,
.
(x), 1/2 .
, .
, 1, , ,
{hn} .
, 1 (x) L2(R).
86
2.3.
L2(R),
Vj ,
. .
2.3.1.
L2(R) .
1. %
L2(R)
,
:
87
1) L2(R),
2) ,
;
3) f(x) Vj f(2x) Vj+1;
4) (x) V0 , ,
0,n(x) = (x n), n Z V0.
%
(multiresolution analysis), .
, (x)
. , (x)
, 3
.
4.
:
,
(1)
(x). H0() 2
, L2[0,2].
1. n(x) = (x n)
V0 L2(R) ,
(2)
. ( k, m)
( , n). :
{ein}
[0,2], 0n ,
1 ,
88
1.
[0, 2]
. . , ,
(
). . ,
.
1.
(3)
.
2.
Vj j. {hn}n Z
,
(4)
(5)
1 2.2
{hn}.
, {hn}
(4) (5). , 1 2.2
(x) L2(R).
H0(), (x) L2(R).
2. n(x) = (x n) (x) %
V0 , H0()
:
. .
(6)
89
. (2)
(1) /2= .
. .
.
.
2 H0() (2), :
,
. .
, (6) . ,
H0()
.
(7)
3. 2 % H0()
. .,
(7) ,
%
L2(R)
.
. [6], . 245.
( ). 13 ,
H0()
. .
(*)
(7) , ,
. .,
(**)
(x) .
3. 1 2
, [6], . 203 205, .
(x) L2(R)
V0
.
2
(x) L (R)
V0 , ,
= 0,
90
2.3.2.
3 4 1 , j Z
Vj. j Z
. Wj
Vj Vj+1,
.
(8)
,
.
2 ,
Vj+1:
.
(9)
1 L2(R)
Wk:
.
2.
(10)
, j Z %
Wj Vj Vj + 1 %
, .
4. :
;
(x) W0 , ,
(x n)
W 0,
Wj j Z.
.
(x) W0 . , n(x) = (x n)
V0 L2(R) ,
. .
. .
, H0()
(. 1.6 1).
:
91
, .
.
L2(R) Vj:
.
Vj+1
.
H() G().
H()
:
.
, W0
(x),
.
, .
4. %
L2(R), %
(x), (x n) %
W0.
,
(11)
:
.
(12)
. 1. (11) (12).
,
92
,
(12),
.
2.
.
,
, , (12)
L2(R), (x)
. (12) , (x) V1.
.
. 1 (*) (**)
(x). ,
[ ]
[ 2 H]
[ (**)]
3. V0 W0. ,
0, n(x) = (x n), n Z V0.
0,0(x) = (x) V0:
93
[ (1) (11)]
[ 2 H 1]
, n.
4. .
{0, k(x) = (x k)} , W0. V0
{ 0,n(x) = (x n)}. ,
{ 0,n(x), 0, k(x)} n, k Z V1.
, { 1,n(x)} V1
{ 0,n(x), 0, k(x)} n, k Z.
H0() (x).
:
,
(11).
,
,
,
.
z = e i, z = e i = e i( + )
.
|H0()|2 + |H0 ( + )|2 = 1 , |H()|2 + |H ( + )|2 = 2,
H(z), G(z),
(. 1.6)
94
.
(. .) |z| = 1
.
:
.
z = ei/2 , ,
.
, , z = ei/2:
.
( n):
,
(13)
{ 1, n(x)} V1
{ 0, n(x), 0, k(x)} n, k Z.
5. {hn}n Z {gn}n Z
95
(x) (x) 1, n(x) V1.
1,n(x) { 0, k(x), 0, k(x)} k Z, V1.
1. j Z
(14)
Wj.
6. , (x) W0
. (x)
(x N ), .
(15)
(x) V1 ,
3. , , :
.
(16)
, G()
.
.
2.3.3.
, (x),
V0.
, f(x) g(x),
fn(x) = f(x n) gn(x) = g(x n), n Z,
V L2(R).
. ,
,
, .
,
,
, .
5. fn(x) = f(x n) gn(x) = g(x n), n Z,
V L2(R).
g(x) {fn(x)}
.
|C()| = 1
96
. g(x) V {fn(x)} ,
.
,
,
2 .
{fn(x)} {gn(x)} (. 2):
.
|C()| = 1.
2. {cn}n Z %
|C()| = 1, cn = cnn0 n0 Z.
. {cn}n Z
, , {cn}
(. 1.4 1). , k
.
p q {cn}, . . cn = 0
.
n < p cp 0, cn = 0 n > q cq 0.
p q,
, . q p 0 0,
, p = q. n0 .
6. f(x) g(x)
f n(x) = f(x n), gn(x) = g(x n), n Z,
V L2(R), g(x) = c f(x n0), c
, n0 Z.
,
.
{fn(x)} {gn(x)} ,
.
f(x) g(x) ,
, , cn .
, cn0 = c, |c| = 1.
g(x) = cn0 f(x n0) = cf(x n0).
7. [6] , %
%
. ,
.
2.3.4.
1, { (x n), n Z}
V0.
97
,
, .
3. {un}n Z H %
, A1 A2, ,
{cn}n Z,
, %
(17)
7. ,
, .
. , (17),
: f H
.
(18)
4. L2(R) %
V1 V0 V1 V2 ,
:
1) L2(R),
2) ,
;
3) f(x) Vj f(2x) V j + 1;
4) (x) V 0 , ,
0, n(x) = (x n), n Z
V0.
8. { (x n)}n Z ,
(x) L2(R), V0 ,
A1 A2, ,
. .
(19)
. {cn}n Z ,
. (19)
:
98
. ,
C(), (19)
,
.
C()
,
. .
1. 1
.
. :
.
2 , (19) .
.
,
.
99
(3) 1. , ,
= 2/3
. .
(x) , ,
, 0,n(x) = (x n), n Z,
V0. ,
.
,
2
L (R) V1 V0 V1 V2 ,
[12].
2.3.5.
, . 2
, [6, . 413
418]. , hn
. , ,
:
,
100
. ,
[0,1].
: , ,
(x) (x).
, , 3 (x)
,
,
{ (x n)}
V0. V1 (3x) ,
1/3, . . { (3x n)}. V1
(3x), (3x 1) (3 x 2).
V1 , V0.
, V0, V0 V1. ,
,
V0
1(x) 2(x). :
,
.
:
,
i = 1,2.
2 H0() G0()
|H0()|2 + |H0( + )|2 = 1
,
.
3
:
. [6, . 413].
101
2.4.
. .
2.4.1.
(x)
,
sin(/2)/(/2).
.
,
.
, (x) ,
,
(. 1.3.5).
f(x) L2(R) ,
[, ].
,
f(z) > 0.
.
,
.
V0 f(x) L2(R),
[, ].
f(x) :
.
, (x n) = sin( x n) / ( x n)
V0. ,
,
. .
102
Vj,
V0. , V1
f(2x), f(x) V0.
,
V1 [2, 2].
V0 V1. Vj ,
[2j , 2j ].
, (x) = sin( x)/( x) .
V1 V0 V1 V2
L2(R). Vj
[2j , 2j ].
. Vj
C
2j , . . ,
.
,
, Vj .
L2(R),
j
j
[2 , 2 ].
:
1) L2(R),
2) ,
.
2
2
F: L (R) L (R) ,
Vj
.
. :
.
(1)
.
(x) W0.
.
[2, 2] ,
[2, 2],
[, ].
.
[, ] H0() .
(2)
103
(x) W0
.
.
,
.
(3)
.
(x) (x).
1.
H0() G0() = 1 H0().
104
(x) (x)
.
. , (x)
.
{hn}
.
,
, {hn}
n1.
.
2.4.2.
.
. ,
,
(x n). ,
.
(x)
(4)
v (x) , :
v (x) + v (1 x) = 1.
(5)
105
. 2.4.2.
, [4/3, 2/3]
[2/3, 4/3]. v (x)
. cos
(x n).
V0 L2(R), (x).
, (x n)
V0.
.
[2/3, 4/3]. ,
[ v (1 x) = 1 v (x)]
.
106
. V0 L2(R),
(x). f(x) V0
,
.
f(x) V0
,
(6)
2 ,
2
(6)
L [, ].
[4/3, 4/3]. , f(x) V0
= 4/3.
V0
V0 . ,
f(x) V0 ,
[4/3, 4/3]. (6) ,
[4/3, 4/3]. ,
(. . 2.4.2):
,
F0() 2 , L2[, ].
Vj ,
V0. , V1
g(x) = f(2x), f(x) V0.
V1 .
,
g(x) V1
[8/3, 8/3] ,
:
,
(7)
107
,
Fj() 2 , L2[2 j , 2 j ].
V1 V0 V1 V2
j
L2(R). ,
, ,
.
(x).
.
[4/3, 4/3],
[4/3, 4/3],
[4/3, 4/3],
[2/3, 2/3],
.
(8)
[, ] H0() .
.
(x) W0
.
[8/3, 8/3],
:
.
(9)
( )
( ) [4, 4].
( ).
(8) ,
:
(10)
108
. 2.4.3.
:
,
.
.
,
, , .
MATLAB:
[PHI,PSI,XVAL] = wavefun('wname',ITER), [phi,psi,x] = meyer(a,b,n).
. [8, 8] n
.
109
a = 8;
subplot(211),
subplot(212),
= 8; n
plot(x,psi);
plot(x,phi);
1024;
[phi,psi,x] =
title('Meyer
title('Meyer
meyer(a,b,n);
wavelet')
scaling
function').
. 2.4.4.
{hn} H0():
.
n ,
2.
() (x) n.
n
2/3 4/3,
, v(x) ( )
v(x) = xn +1(c0 + c1x + + cnxn). cn
v(x) + v(1 x). v(x):
v(x) = x;
v(x) = x 2(3 2x);
v(x) = x 3(10 15x + 6x 2);
v(x) = x 4(35 84x + 70x 2 20x 3),
v(x) = x 5(126 420x + 540x 2 315x 3 + 70x 4).
110
2.5. .
B"
[0, 1).
.
. ,
, , , .
,
.
. ,
, B, .
V1 V0 V1 V2
. ,
0, n(x) = (x n), n Z.
, .
B.
B 1.
2.5.1.
B' 1
.
(1)
[1, 1]
.
H0()
(2)
.
.
(3)
2
V0 L (R), 0, n(x) = (x n),
n Z. V0, .
, (x) (x 1) ,
[0, 1] , ( (x), (x 1)) =
.
Vj V0. ,
V1 f(2x), f(x) V0. (2)
, V0 V1, j Z Vj Vj + 1.
.
111
V1 V0 V1 V2 ,
,
{ (x n)}.
, ,
, . ,
, .
, {un}n Z H %
, A1 A2, ,
f H
.
(4)
, { (x n)} n Z,
(x) L2(R), V0
, A1 A2,,
. .
(5)
{ (x n)} n Z
, [19] [22], . [23].
. 0, n(x) = (x n), n Z
, V0 L2(R). ,
V0 ,
, . .
(6)
(7)
. ,
L2(R),
(7) .
(8)
B() L() , 2 ,
L2[0, 2].
112
1.
V0. ,
L() , :
.
. (x) V0
.
(x) 1.
(x) V0 :
.
(9)
.
. :
.
.
n = 1, 0, 1. c1 = 1/6, c0 = 2/3, c1 = 1/6.
.
.
(10)
, ,
. { (x n)}
.
(7)
.
(11)
.
,
*(x) L()
.
113
,
. ,
. 2.5.1. B
,
. *(x)
0 5 : c0 = 1.2917; c1 = 0.1747; c2 = 0.0352; c3 = 0.0079;
c4 = 0.0018; c5 = 0.0004;
*(x).
,
(12)
114
.
.
.
(13)
(14)
*(x)
. *(x)
C()
*(x)
. *(x)
.
*(x) *(x) .
2.5.2. B'
Sn f(x) n
. , n
f(x), , n
[k, k+1), n 1
, . .
, n = 0, S0
. ,
S0,
S0 .
0(x) , B
, B , .
n =1 S1 1
.
1 .
S1 .
S1 ,
.
S1 S0 :
.
.
115
.
.
. 2.5.2. B
(16)
B n(x),
, n(x) [(n +1)/2, (n +1)/2]
n, n [n/2, n/2 +1].
(17)
K = 0 n K = 1 n.
, H0n()
:
.
(18)
116
1. B 2(x) 2.
(19)
. 2.5.3. B 2
,
B 2(x) 2 :
,
,
.
*(x) .
B [6] [18].
, . 213 [6] B
.
2.5.3.
, B n(x),
, B 1(x) 1.
.
117
B n(x)
[18],
.
,
n:
.
.
, . ,
(20)
2() ,
0(x). , B 0(x)
.
.
,
.
(21)
, n(),
(20) (21).
.
Ln() ,
1/2,
. , , ,
n(x)
n*(x) . ,
,
n*(x).
[6], k
.
118
n*(x)
,
.
2. , . .
n,
n 1 .
, , . [6], . 214216.
2.6. "
.
f(x), . . cn ,
f(x) , ,
cn. .
2.6.1. '
, .
: (x) (x).
j Z
,
2
Vj L (R). Vj , j Z,
V1 V0 V1 V2 Vj ,
,
Pj : L2(R) Vj Pj(f )
f L2(R), j,
.
(1)
j . j,
j, n(x). (f, j, n)
f(x).
cA0 :
.
(2)
119
(3)
Vj 1 ,
, Pj 1(f ) Pj(f ). Vj 1
Wj 1 :
,
(4)
aj 1,k ( j 1) ,
,
dj 1,k ,
.
cA1 cD1:
cA1 = { aj 1,k}, cD1 = { dj 1,k },
(5)
, .
cA1 cD1
, cA0 .
cA1 cD1 , .
cA1 ()
f(x) Vj 1, cD1
f(x) Pj 1(f ).
cA1 cD1 ,
cA1, Pj 1(f ),
Pj 2(f )
:
,
(6)
.
:
cA2 = { aj 2,k} 2;
cD2 = { dj 2,k } 2;
cD1 = { dj 1,k } 1.
120
N , j
Pj(f )
Pj(f ) = { cAN, cDN, cDN 1, ... , cD1},
(7)
cAN = { a j N,k} N
cDm = {dj m,k} m = 1, 2, , N.
:
. 2.6.1. Vj
, ,
.
. 2.6.2.
% f(x)
(8)
121
2.6.2. '
f(x)
{cAN, cDN, cDN 1, ... , cD1}. :
,
(9)
, = 1, 2, , N.
(10)
. , j
j, k(x) j, k(x) 1/2j.
, [23],
.
,
.
, f(x)
j, . . cA0 = { aj, n}. ,
(11)
.
j 1,k(x) j 1,k(x),
, j,k(x) Vj :
,
.
,
(12)
( , ).
, (12) ,
,
, .
,
{cAN, cDN, cDN 1, ... , cD1} N.
122
2.6.3.
cA0 = { aj, n}.
, ,
, , , j
( ).
.
1. f(x) yn = f(xn)
x = xn, x
h.
cA0 f(x), aj, n = yn.
MATLAB Wavelets Toolbox.
2. f(x) yn = f(xn)
x = xn, f(x) , f(xn) = yn, x [xn, xn + 1).
, , xn = n f(x) = yn, x [n, n + 1).
j, k(x) 0, k(x).
(x) [0, N ], (
) :
(13)
cs .
3. ( ) f(x)
yn = f(n). ak = (f, 0,k)
. ,
.
.
,
m = n k,
. . ak = (f, 0,k)
.
123
.
:
.
4. 9 , (x), (x)
ajk
.
2.6.4.
f(x)
{cAN, cDN, cDN 1, ... , cD1} .
cA0 {cA1, cD1}. ,
1.6 .
(x) (x) :
{hn}
{gn}
.
,
,
n n ,
.
cA1 = { aj 1, n} cD1 = { dj 1, n}
(14)
cA0 = {aj, n}
,
.
,
1.6.
(15)
124
,
.
(16)
,
cA1 = { aj 1, k} cD1 = { dj 1, k}:
(16) :
.
(17)
, 1.6.
( z)
, ,
(18)
1.6, ,
.
(19)
.
H0()
|H0()|2 + |H0( + )|2 = 1.
H()
H0() :
:
.
(20)
, H() G()
{hn}n Z {gn}n Z
,
.
, H()
125
,
,
2.6.5. '
(x) (x)
hn gn :
,
V0 , (x n) (x), V1
, (2x n) (2x). ,
V1 = V0 W0 W0
(x n).
V1 = V0 W0,
{ (2x% n)} V1
{ (x n), (x k)}. ,
() . ,
,
{f(x n)}, ,
f(x) L2(R) . [6, . 423].
Vj: Vj = Vj 1 Wj 1.
Wj.
, , V2. ,
V2 = V1 W1 = V0 W0 W1,
,
(x n), (x k),
, (2x k).
W1,
W1 = W10 W11,
,
V2 = V0 W0 W10 W11
.
126
V3. ,
V3 = V0 W0 W1 W2,
W2 W1,
f(x) W1 f(2x) W2. , W1 = W10 W11
, w2(x n), w3(x k)
w2(x), w3(x) . W2
W1, W2 w2(2x n),
w3(2x k) w2(2x), w3(2x).
W2 = 2W1 = 2W10 2W11.
2W10 2W11
V3 = V0 W0 W10 W11 W100 W101 W110 W111
, ,
, .
V3 .
, L2(R)
L2(R) = 0 + 1 + 2 + ,
0 1 V0 W0.
n wn(x).
wn(x) . w0(x) = (x) w1(x) = (x)
% n
:
,
(21)
,
.
.
w2n(x) = wn(2x) + wn(2x 1)
127
. 2.6.3. w6(x)
. 2.6.4. w7(x)
f(x) wn(x k) % %
.
.
.
,
. ,
.
. , ,
hn gn.
.
128
(0,0)
(1,1)
(1,0)
(2,1)
(2,0)
(3,0)
(3,1)
(3,2)
(3,3)
(2,2)
(3,4)
(2,3)
(3,5)
(3,6)
(3,7)
. 2.6.5.
,
. ,
.
. ,
. ,
. ,
. ,
.
,
, . . ,
.
.
, . 9
()
. .
. s si
. ,
.
: 0*log(0) = 0.
,
.
,
. , , ,
,
129
. ,
, (. . ),
.
, ,
, N ,
, log 2 N.
. , ,
.
. ,
, ,
, ,
( ) .
2.7.
. .
, ,
.
, . ,
.
, .
, , .
. ,
.
, ,
.
, .
1. (x) N ,
k = 0, , N 1
.
(1)
1. (x) N ,
N 1. ,
N .
. ,
(x) N ,
djk j. .
djk = (f, jk). , f(x) CN 1(R), . . f(x) N 1
R.
x0, jk(x):
130
(2)
,
,
(3)
.
.
. n. n = 0
.
i (
, ). ,
n < l, n = l.
,
. f (l)(x)
(l N 1), J, K, , f (l)(xJK) 0.
f (l)(x) 0, f(x) = const, ,
f(x) l 1, , ,
.
f(x)
xJK:
131
.
,
l . ,
y = 2j x 2jxJK:
(5)
. I .
,
132
, I (5) ,
, |x xJK| < |x xJK| > . y = x xJK.
, (2) ,
+,
,
t .
0.
.
> 0 , > 0
j, .
,
1, .
2. (x) CN 1
(l)(x) l N 1
.
L2(R),
.
1. (x) CN 1 .
L2(R),
133
, (x)
CN 1 N . ,
(x) , . ,
2. , jk(x) . %
(x) , %
.
. (x) ,
|Im(z)| < . (x)
n N.
, 2,
,
n N. ,
. (x) = 0,
jk(x).
3. , (x)
W0, . (x)
CN 1, (l)(x) l N 1
,
H0() (x)
,
(6)
N1
L () 2 % C .
. (x) (x) ,
CN 1. 2 ,
(x) N 1 . , 2,
243],
n N 1.
[6, . 207,
( ,
). ,
.
n = 0, 1, N 1, , H0()
N 1 = :
n N1.
, H0() = N.
z = ei, , z H0(z) z = 1
N.
134
.
N1
H0() C , L () CN 1.
4. , (x) (x) %
, . %
(x) N
,
(7)
{hn}n Z (x) :
,
,
H0() N 1 =
:
k N 1.
H0(0) = 1,
;
.
2.8.
,
. (1988 ., . [6]),
m . ,
.
(x) (x)
m .
.
1. {hn}
.
.
135
(x) N, N + 1
hn.
R
2.
. ,
C.
3.
[6, . 207, 243],
.
: H0(0) = 1.
N (x),
H0()
,
(1)
T() .
, {hn}n Z (x)
:
,
.
(x) H0()
,
(2)
H0().
.
(3)
1.
H0(), (x) (x),
[6, . 253, 259, 263].
2.8.1.
H0() (1), (3).
M0() = | H0()|2,
.
(4)
:
136
.
,
137
Q1(y) N 1. , P(y)
(6) N 1
.
(8)
2. PN 1 (y)
N 1. .
. P(y) , P(y) PN 1 (y)
.
N
(9)
(1 y) y , P(y) PN 1 (y)
y N, , P(y) PN 1 (y) = y N R(y).
(9), R(y):
R(y) + R(1 y) = 0.
1/2,
, R ,
1/2 y. (6)
,
(10)
R(z) .
.
,
2
L() = |T()|
L() = P(sin2(/2), P(y) (8) (10), R(z)
, P(y) 0 [0,1].
M0() = | H0()|2. H0()
M0() = | H0()|2.
. A()
.
B()
,
, | B()|2 = A().
138
. A()
cos, A() = pA(cos) N. | B()|2 = A(),
A() B(). z = ei,
.
.
z
p(z) = p(z1),
,
.
,
, 2,
. z = ei
.
,
B()
.
(11)
, z = ei
.
3. B() A() ,
B() eik, k .
zj
.
4. B()
| B()| 2 = A() .
A()
A()
, j
.
5.
139
, ,
(. ).
. 2.8.1. .
6.
, , ,
.
, ,
.
.
.
7. (x)
H0() ,
. N
(x), H0()
,
140
, P(y) ()
N 1 (8). H0()
,
, z = ei. H0() :
,
j .
db2.
, N = 2, 1.
(x).
H0() 3,
{hn } 4 , 3.
, (x)
[0,3]. H0()
3. :
,
T() 1.
M0() = | H0()|2. (8) P P(y) = 1+2y.
.
(11)
.
141
c = 1/4. ,
, z = ei,
,
.
(x) (2).
2 db2.
. 2.8.2. db2.
. {hn} db2,
:
;
;
H0(0) = 1,
.
8. , H0()
. H0() ,
. ,
.
.
142
2.8.2.
H0() (x)
,
M0() = | H0()|2. , H0()
0() , H0()
eib, b .
M0().
H0() , ,
,
.
.
(, )
. ,
{hn} = {h0, h1, hN}
, . . hk = hN k,
.
{hn} = {h0, h1, hN}
, . . hk = hN k, ,
.
,
, () = a + b.
, .
, , (x) (x)
.
, , .
H0() .
, H0() H0()
|H0()|.
T(). , ,
.
, , ,
.
H0() .
143
,
. H0()
(z rj),
, z = ei
,
,
, ,
.
(z rj), , rj ,
,
, :
.
H0()
.
. , ,
H0() . , ,
.
9.
,
. N = 4. . .
. 2.8.3. db4.
144
. 2.8.4. sym4.
2.9.
2.7 , (x)
djk = (f, jk) j , .
(1)
(. 2.7),
. , f(x)
, (x) x0 = 0.
2j , (x).
ajk = (f, jk)
x0 = xjk = k / 2j. J f(x)
145
(2)
,
f(x) cA0 .
(x), (x).
. ,
.
(x) (x)
,
,
(3)
(4)
N . , (3)
(4) :
,
(5)
.
(6)
(5) 3 2.7 ,
H0()
,
(7)
T() .
(6) ,
(8)
, H0() 1 = 0 N.
z = ei, , z H0(z) z = 1
N.
(9)
S() . ,
.
(10)
, ,
. N = 2K.
,
146
(7) (9)
,
(11)
P1() P2() .
. (10) ,
P1()
,
(12)
R() .
(10).
(10),
Rn. . [20].
.
,
P1() (12), K. ,
,
, N = 2K (3) (4),
:
,
.
{hn} [6] . 347.
, ,
[20]. ,
. , . , . .
, (Wavelets,
Approximation and Statistical Applications),
http://www.quantlet.de/scripts/wav/html [21].
http://www.matlab.ru.
147
. 2.9.1. coif1.
2.10.
j,n j,n
. .
, . ,
, , ,
.
f(x) . .
2.10.1.
{j,n(x)} L2(R),
. f(x) L2(R), , :
.
(1)
f(x) ,
,
(2)
{ j,n(x)} .
, (2)
, , j,n(x)
. , B
.
f(x) dj,n
L2(R) .
V.
( ) e1 , e2 , , en V. f V
ci = ( f , ei ) , i = 1, 2, , n.
148
f ci.
, ci {ei},
.
,
.
(3)
, (
ei (3)):
i = 0, 1, 2... n. ,
. , ,
, .
V, . .
,
.
V ,
.
V. ,
.
1. (x), (x)
,
, , j,n(x) j,n(x) Vj
Wj Vj + 1 = Vj Wj,
. , j, k, l, n
(4)
, (x) (x)
L2(R). ,
. , ,
.
(4) ,
(x), (x)
, . [18] . 221276 [6] . 348378.
(x), (x)
.
149
2.10.2. (x)
(x)
. ,
(x) . (x) ,
. , (x)
, . . V j
,
.
,
{hn} .
.
, (x)
,
.
(5)
z. z = ei
H0().
2.10.3. (x)
(x),
Wj. , W0 V1, (x)
. ,
(x) ,
gn.
(6)
(x) .
.
V0 V1, { (x n)}n Z, W0
V1, { (x n)}n Z . ,
V1, . .,
V0 W0 = V1 V0 W0 = {0}
(7)
150
(x),
? .
1. %
(7) , ()
(8)
i
z = e .
|z| = 1,
{ (x n)}n Z W0
.
4 2.3. [18],
. 225.
Vj+1
V0 , V1 =V0 W0 Vj+1 =Vj Wj
j. Wj
.
L2(R).
[18] : (x)
L2(R)
,
(x) :
.
(9)
2.10.4.
,
, . , ,
. , ,
.
, (x), , .
2. (x)
%
,
,
n, k Z.
1. (x)
,
. .
(10)
(11)
151
. (10)
,
:
, (11).
,
(12)
(13)
.
2. (x)
,
. .
(14)
z = ei.
.
k k = 2m k = 2m+1 2
H0()
. z = ei/2 = /2.
.
, (14).
152
1. 2 H0(z)
. , (x)
H0(z)
, 2
.
(x)
, (x)
, H0(z)
. ,
(x) H0(z),
.
,
,
(15)
(16)
(17)
2.10.5. (x)
, (x)
H0(z)
. (x)
.
,
.
{fn}
,
.
:
.
6 1
,
,
,
):
.
(17)
, H0(z)
,
. G0(z)
,
153
(17), (x)
.
(x), (x)
. H0(z), G0(z)
,
.
. (17)
,
,
p(z) . p(z) = z.
.
(18)
,
,
, ,
.
. ,
,
,
, (x)
G0(z)
,
( 1) Wj
i( + )
z = e , z = e
. (18)
.
(19)
, (x)
,
(x)
2
(20)
L (R),
, :
,
.
154
2.10.6.
{hn}
.
1.
:
,
z = ei,
(21)
2. {hn}
,
(22)
3. (x)
L2(R):
,
(23)
2.10.7.
(x)
. {hn}
. N, (x) N 1.
(x)
,
. ,
{hn} k
{hn} ( ).
. H0()
(24)
p0(x) .
(25)
. (14), ,
:
,
, z = e
z = e
i( + )
(26)
,
.
(27)
p0(x) p0(x) ,
.
.
155
(x), (x)
,
,
, H0()
(1 + ei)l
l > 0. (24), (25) H0()
,
p0(x),
cos, , l .
,
,
.
, ,
,
(28)
. (28)
(27)
,
(29)
L = l + s L = l + s +1 .
,
, ,
=
=
, (29)
(1 x)LP(x) + xLP(1 x).
(30)
2.8,
,
(31)
R .
2.10.8.
,
. (28), (28), ,
q0 1. , ,
.
(32)
, R 1,
.
, (28) q0 1,
.
(33)
156
, (28):
.
(34)
, (x),
(x) .
(14). (x)
(20) (x)
(19).
1.
(x), (32),
N(x). ,
,
,
.
1. (x),
, (x)
, (x) 1. N = 2.
.
1. 2(x). (32) H0:
H0 = cos2/2.
(1 + ei) = 4 ei cos2/2, z = ei
.
(35)
:
.
(36)
2(x) 1,
.
2(x) .
2.
. (33)
. L=1+1=2, m = 0, 1,
.
157
(37)
:
.
(38)
.
,
.
. 2.10.1. 2(x)
3. 22(x).
,
gk:
(39)
158
(40)
, 22(x) 1
[1, 2]. 22(x) .
4.
.
,
.
:
.
(41)
. 2.10.2. 22(x)
(42)
1. (x) (x) ,
. (, Matlab)
,
(x) (x).
2.
Matlab, wavemenu ,
. [6] . 367368
.
159
2.11.
"
,
j k
, .
(x) . , (x) L2(R)
.
(1)
. , (1)
, (x) L1(R),
.
(1) .
,
b.
.
(2)
() f(x) L2(R)
.
(3)
, f
:
.
,
b.
1. ( .) f(x) L2(R),
.
(4)
. g(x) L2(R) .
:
160
.
(4).
(4) ,
.
,
:
.
. :
.
(5)
161
.
. W [f(x%b0)] = W[f](a,b b0).
.
2.12.
,
.
L2(R2) .
( ).
. , L2(R2)
L2(R2) = L2(R) L2(R)
L2(R) . ,
f(x)g(y)
L2(R2) . .
.
(x) (x)
L2(R):
.
(x)
V0. Vj
. , Vj
,
W0 V0
V1.
V1 = V0 W0
. W0
(x).
j Z
Vj +1 = Vj Wj.
Wj W0,
Wj
162
V0 :
= V0 V0.
,
,
.
:
.
,
.
V1 = V0 W0,
:
.
. :
V0 W0
;
W0 V0
;
W0 W0
.
.
:
.
.
j Z.
.
,
:
,
,
,
163
, f(x,y) .
.
.
f(x,y)
x (x),
, , f(x,y) x.
y (y)
, y.
cH1,
. .
cH1 .
, cV1 , cD1 :
,
.
0
C0 (cA1, cH1, cV1, cD1) (cA2, cH2, cV2, cD2, cH1, cV1, cD1)
,
C0 ( Matlab) :
. 2.12.1. .
164
,
. C0 n n,
cA1, cH1, cD1, cV1 n/2 n/2.
cAj , .
. ,
.
1.
d
R
:
,
,
A d d .
2.
[6], . 406.
II
MATLAB
3
MATLAB ................................ 167
4
Wavelet Toolbox ............ 247
MATLAB
,
.
, MATLAB
.
MATLAB.
MATLAB Wavelet
Toolbox.
MATLAB
.
,
(GUI).
GUI
MATLAB Wavelet Toolbox.
MATLAB
3.1.
MATLAB .................. 168
3.2. ......... 178
3.3.
....... 183
3.4.
.. 187
3.5.
cwt .. 194
3.6. ............... 198
3.7.
....... 208
3.8. ,
............................ 216
3.9.
MATLAB ................................ 227
3.10.
........................ 231
MATLAB
.
MATLAB,
.
,
,
.
Wavelet
Toolbox MATLAB
, ,
.
.
168
MATLAB
3.1. MATLAB
, MATLAB,
.
Wavelet Toolbox (User GUI),
wavemenu.
:
waveinfo ;
wavefun ;
intwave ;
centfrq ;
meyer ;
meyeraux ;
gauswavf ;
mexihat ;
morlet ;
cgauwavf ;
cmorwavf ;
fbspwavf ;
shanwavf .
.
1. waveinfo .
waveinfo, waveinfo('wname').
waveinfo , Wa
velet toolbox. waveinfo('wname')
wname. MATLAB
.
3.1.1. MATLAB
Haar
Db
Sym
Coif
Bior
Rbio
Meyr
Dmey
Gaus
Mexh
Morl
Cgau
Shan
Fbsp
Cmor
MATLAB
169
MATLAB.
. (gaus), ,
(mexihat). :
;
;
;
.
.
: , .
: .
(meyr) (dmey).
(meyr):
phi ;
;
.
: , .
: , .
: .
(dmey)
(FIR) .
.
(dbN), (symN), (coifN). :
phi ;
psi phi ;
psi .
: ,
c .
: ,
, FIR.
: .
:
dbN ;
symN ;
coifN , , ,
.
.
(biorNr.Nd rbioNr.Nd).
:
;
, ,
;
;
.
: ,
c .
170
MATLAB
: , FIR.
: .
. (cgauN),
(cmorFbFc), (shanFbFc),
(fbspMFbFc).
:
;
;
;
.
: .
: , .
: .
2. wavefun . ,
.
, , , .
.
[phi,psi,X] = wavefun('wname',N).
:
wname ;
N , .
:
X . ,
1/2N.
S, X S 2N + 1, . .
;
phi (), X;
psi (), X.
:
[phi1,psi1,phi2,psi2,X] = wavefun('wname',N).
:
X ;
X;
phi1
psi1
X;
phi2 (x) X;
psi2 (x) X.
(Morlet, Mexican Hat, Gaussian
):
[psi,X] = wavefun ('wname',N),
wavefun ('wname') wavefun ('wname',8).
MATLAB
171
.
(. wrcoef).
. = 00,
:
(x).
, ,
, 1 n = 0.
wrcoef (x).
( ),
x 2N, N
.
,
,
.
.
.
1. db4.
[phi,psi,x]
subplot(121);
subplot(122);
wavefun('db4',10);
plot(x,phi);
title('y=\phi(x)');
plot(x,psi);
title('y=\psi(x)');
2. sym4.
for i = 1:10
[phi,psi,x]
=
plot(x,psi);
hold
end
wavefun('sym4',i);
on
. 3.1.1. db4
172
MATLAB
. 3.1.2. sym4
3. 44.
[phi1,psi1,
subplot(221);
subplot(222);
subplot(223);
subplot(224);
phi2,
psi2,X]
plot(X,
plot(X,
plot(X,
plot(X,
=
phi1);
psi1);
phi2);
psi2);
wavefun('bior4.4',10);
title('y=\phi1(x)');
title('y=\psi1(x)');
title('y=\phi2(x)');
title('y=\psi2(x)');
. 3.1.3. ,
173
MATLAB
3. centfrq .
FREQ 'wname'.
FREQ = centfrq('wname'), FREQ = centfrq('wname',N),
[FREQ,X,RECFREQ] = centfrq('wname',N,'plot').
N , wavefun
( N = 8).
[FREQ,X,RECFREQ]=centfrq('wname',N,'plot')
RECFREQ,
.
RECFREQ.
4.
wname
=
'db2';
cfreq =
0.6667
iter
8;
cfreq
centfrq(wname,8,'plot')
. 3.1.4. db2
4. intwave .
'wname'
x.
[integ,X] = intwave('wname',N),
[integ,X] = intwave('wname').
:
N ( N = 8);
X x. ,
1/2N. S,
X S 2N + 1, . . ;
174
MATLAB
integ x X.
S 2N + 1 X. integ
.
[intdec,x,intrec] = intwave('wname',N)
intdec intrec
().
[integ,X] = intwave('wname') [integ,X] = intwave('wname',8).
5.
[phi,psi,xval]
subplot(211);
[integ,xval]
subplot(212);
title(['Wavelet
wavefun('db4',7);
plot(xval,psi);
title('Wavelet');
=
intwave('db4',7);
plot(xval,integ);
integrals
over
[Inf
x]
for
each
value
of
xval']).
. 3.1.5. db4
5. meyer .
n X
[a,b].
[phi,psi,x] = meyer(a,b,n),
[phi,x] = meyer(a,b,n,'phi'),
[psi,x] = meyer(a,b,n,'psi').
n .
[8, 8]. ,
.
175
MATLAB
6. [8, 8]
.
a = 8; b = 8; n = 1024;
[phi,psi,x]
=
meyer(a,b,n);
subplot(211);
plot(x,psi);
title('Meyer
subplot(212);
plot(x,phi);
title('Meyer
wavelet')
scaling
function').
. 3.1.6.
6. meyeraux .
Y = meyeraux(X).
Y = meyeraux(X) X
, .
MATLAB :
.
() = 4(35 84 + 702 203),
,
, wavefun.
7. gauswavf .
[psi,x] = gauswavf(a,b,n,p).
p
176
MATLAB
n [a,b]. Cp ,
L2 p F 1.
psi, x.
[5, 5].
[psi,x] = gauswavf(a,b,n) [psi,x] = gauswavf(a,b,n,1).
8. mexihat .
[psi,x] = mexihat(a,b,n).
n [a,b]. psi,
x. [5,5].
.
9. morlet .
[psi,X] = morlet(a,b,n).
n
[a,b]. psi,
X X.
[4, 4].
7. [4, 4].
lb = 4; ub = 4; n = 1000;
[psi,x]
=
morlet(lb,ub,n);
plot(x,psi),
title('Morlet
wavelet').
. 3.1.7.
10. cgauwavf .
[psi,X] = cgauwavf(a,b,n,p).
177
MATLAB
p
n [a,b]. Cp ,
L2 p F 1.
psi, X.
[5, 5].
[psi,X] = cgauwavf(a,b,n) [psi,X] = cgauwavf (a,b,n,1).
11. cmorwavf .
[psi,X] = cmorwavf(a,b,n,B,C).
,
B, C :
n [a,b].
psi, X.
8. cmor11.5
[8, 8] .
fb = 1; fc = 1.5; a = 8; b = 8; n = 1000;
[psi,x]
=
cmorwavf(a,b,n,fb,fc);
subplot(211);
plot(x,real(psi));
title('Complex
Morlet
xlabel('Real
part');
grid
subplot(212);
plot(x,imag(psi));
xlabel('Imaginary
wavelet
cmor11.5')
part');
grid.
. 3.1.8.
178
MATLAB
12. fbspwavf .
[psi,X] = fbspwavf(a,b,n,M,B,C).
, M (M , 1), B,
C :
n [a,b]. B C
, C > B/2 > 0. psi,
X.
9. fbsp 210.5
[10, 10] .
m = 2; fb = 1; fc = 0.5; a = 10; b = 10; n = 1000; [psi,x] = fbspwavf(a,b,n,m,fb,fc);
subplot(211);
plot(x,real(psi));
title('Complex
Frequency
BSpline
wavelet
fbsp210.5')
xlabel('Real
part'),
grid
subplot(212);
plot(x,imag(psi));
xlabel('Imaginary
part'),
grid.
13. shanwavf .
[psi,X] = shanwavf(,b,n,B,C).
,
B, C :
n [a,b]. B C
, C > B/2 > 0. psi,
X.
10. shan11.5.
fb = 1; fc = 1.5; a = 10; b = 10; n = 1000;
[psi,x]
=
shanwavf(a,b,n,fb,fc);
subplot(211);
plot(x,real(psi));
title('Complex
Shannon
wavelet
xlabel('Real
part')
subplot(212);
plot(x,imag(psi));
xlabel('Imaginary
part').
shan11.5')
3.2.
. , ,
W,
,
. , MATLAB
179
. 3.1.9.
.
MATLAB, 2,
.
,
W.
,
W.
,
W ,
.
:
dbwavf ;
symwavf ;
coifwavf ;
biorwavf ;
rbiowavf .
:
orthfilt
;
biorfilt ;
180
MATLAB
wfilters ;
qmf .
3.2.1.
.
1. dbwavf .
W = dbwavf('dbN').
W 'dbN', N = 1, 2, ...,
45. . dbaux.
2. symwavf .
.
H0( ).
W = symwavf('symN')
W , 'symN'.
N: 2, 3, ..., 45. . symaux.
3. coifwavf .
W = coifwavf('coifN').
coifwavf W Coiflet,
'coifN'. N: 1, 2, 3, 4 5.
4. biorwavf .
[RW,DW] = biorwavf('biorNr.Nd').
(x) .
(x)
. (x) (),
. ,
, (x).
(x)
.
[RW,DW] = biorwavf(biorNr.Nd)
:
RW (x), ;
DW
, .
biorNr.Nd,
Nr Nd , . 3.2.1.
5. rbiowavf
.
[RW,DW]= rbiowavf('rbiorNr.Nd').
181
3.2.1.
Nr
Nd
Nr = 1
Nr = 2
Nr = 3
Nr = 4
Nr = 5
Nr = 6
Nd = 1, 3, 5
Nd = 2, 4, 6, 8
Nd = 1, 3, 5, 7
Nd = 4
Nd = 5
Nd = 8
,
(x)
.
: (x),
Nr Nd .
3.2.2.
, ,
.
6. orthfilt
.
[Lo_D,Hi_D,Lo_R,Hi_R] = orthfilt(W).
, W
:
Lo_D ;
Hi_D ;
Lo_R ;
Hi_R .
.
,
,
.
2N 1, {wn} 2N .
1
.
{wn}
.
: Lo_R = W/norm(W).
: Lo_D = wrev(Lo_R), . . Lo_ D
Lo_ R.
Hi_R = qmf(Lo_R)
Lo_R, . . Hi_R(k) = (1)k Lo_R(2N + 1 k),
k = 1, 2, 2N.
182
MATLAB
3.2.2.
Daubechies
Coiflets
Symlets
Discrete Meyer
Biortogonal
Reverse Biortogonal
[F1,F2] = wfilters('wname',type) ,
. 3.2.3.
9. qmf . F0 F1
(QMF),
x l2:
183
3.2.3.
Lo_D Hi_D
Lo_R Hi_R
Lo_D Lo_R
Hi_D Hi_R
If type = d
If type = r
If type = l
If type = h
,
y0 , . . x0 = F0(x),
y0(n) = x0(2n), y1, y1(n) = x1(2n), x1 = F1(x).
Y = qmf(X,P), Y = qmf(X).
Y = qmf(X,P)
X, . . Y(k) =
= (1)kX(2N + 1 k), k = 1, 2, , 2N, P . P ,
, .
Y = qmf(X) Y = qmf(X,0).
3.3.
:
dwt ;
idwt
;
dwtmode .
1. dwt.
cA cD
, s.
s Lo_D
Hi_D
, . :
Hi_D(s)
(2)
cA
Hi_D(s)
(2)
cD
. 3.3.1.
184
MATLAB
dwt :
[cA,cD] = dwt(s,'wname'), [cA,cD] = dwt(s,'wname', 'mode', MODE),
[cA,cD] = dwt(s,Lo_D,Hi_D), [cA,cD] = dwt(s,Lo_D,Hi_D, 'mode', MODE).
[cA,cD] = dwt(s,'wname')
cA cD s. wname
, . haar, db, sym, coif,
bior, rbio, dmey.
[cA,cD] = dwt(s,Lo_D,Hi_D) ,
,
Lo_D Hi_D.
MODE
. , [cA,cD] = dwt(s, 'db2', 'mode' 'sym').
dwtmode.
1. s. ,
, db4.
n=1:20;
s=sin(0.5*n);
[ca1,cd1]
=
dwt(s,haar);
%.
subplot(311);
plot(s);
title('Original
signal');
subplot(323);
plot(ca1);
title('Approx.
coef.
for
subplot(324);
plot(cd1);
title('Detail
coef.
for
[ca2,cd2]
=
dwt(s,db4');
subplot(325);
plot(ca2);
title('Approx.
coef.
for
subplot(326);
plot(cd2);
title('Detail
coef.
for
haar');
haar');
db2');
db2').
,
.
. 3.3.2.
185
2. idwt.
.
, cA
cD idwt
s, , .
. cA cD
,
Lo_R Hi_R.
idwt :
s = idwt(cA,cD,'wname'), s = idwt(cA,cD,Lo_R,Hi_R).
s = idwt(cA,cD,'wname',L), s = idwt(cA,cD,Lo_R,Hi_R,L).
s = idwt(...,'mode',MODE).
:
wname ;
Lo_R ;
Hi_R ;
L , , s
L, idwt;
MODE .
s = idwt(cA,[], )
s cA1.
s = idwt([],cD, )
s cD1.
2. , s ,
. ca1, cd1
ca2, cd2 db4.
idwt .
ss
=
idwt(ca2,cd2,'db4');
err
=
norm(sss);
subplot(212);
plot([s;ss]').
,
err = 4.0459e012.
3. dwtmode.
dwtmode('mode'),
mode .
dwtmode dwtmode('status') .
ST = dwtmode ST = dwtmode('status')
ST .
. ,
,
186
MATLAB
.
yn = 1/2 xn1 + xn + 1/2 xn+1, n = 0, , N.
, x1 xN+1,
y0 yN. ,
.
( x1 = 0, xN+1 = 0), x .
y.
.
. ()
, .
3.3.1.
mode
'sym'
, ,
(default mode)
1 (
)
(
)
'zpd'
'spd' 'sp1'
'sp0'
'ppd' 'per'
, , DWTMODE.DEF,
. DWTMODE.CFG
(toolbox/wavelet/wavelet directory).
dwtmode('save',MODE) MODE ,
DWTMODE.DEF ( ).
dwtmode('save') dwtmode('save',CURRENTMODE).
.
, IDWT, ,
.
3. dwtmode.
:
******************************************
** DWT Extension Mode: Symmetrization **
******************************************
.
dwtmode('per')
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! WARNING: Change DWT Extension Mode !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
187
*****************************************
** DWT Extension Mode: Periodization **
*****************************************
3.4.
.
:
wavedec ;
waverec ;
appcoef 1D ;
detcoef 1D ;
upwlev ;
wrcoef ;
upcoef ;
swt ;
iswt .
1. wavedec .
wavedec s (
) N, . . cAN
cD1, , cDN.
. . s
: cA1
cD1. s
Lo_D Hi_D
, .
cA1 ,
, s cA1 cA2 cD2, . ., ,
. 3.4.1.
, . 3.4.2.
s, N, ,
:
[cAN, cDN, ..., cD1].
188
MATLAB
Hi_D(aj,n)
(2)
{aj1,k} = cA1
Hi_D(aj,n)
(2)
{aj1,k} = cD1
{aj,n}
Lo_D
(2)
cAN+1
Hi_D
(2)
cDN+1
cAn
. 3.4.1.
cA1
cA2
...
cAN
cD1
cD2
...
cDN
. 3.4.2.
wavedec.
[C,L] = wavedec(s,N,'wname'), [C,L] = wavedec(s,N,Lo_D,Hi_D).
:
s ;
N ;
'wname' ;
Lo_D Hi_D .
:
C = [cAN, cDN, ..., cD1].
L
L = [length (cAN), length (cDN), , length (cD1), length (s)].
N + 2.
1. sumsin
3 db1.
load
sumsin;
[c,l]
=
subplot
211;
s
=
sumsin(1:400);
wavedec(s,3,'db1');
plot(s);
subplot
212;
plot(c).
, ,
, cA3, cD3,
189
. 3.4.3. 3
190
MATLAB
. A = appcoef(C,L,'wname', N)
N, 0 N N0, ( )
[C,L] (. wavedec) N0, 'wname' .
A = appcoef(C,L,'wname')
N0 = length(L)2.
:
A = appcoef(C,L,Lo_R,Hi_R) A = appcoef(C,L,Lo_R,Hi_R,N).
2. , s = leleccum(1 : 3920).
[c,l]
ca3
=
=
wavedec(s,4,'db1');
appcoef(c,l,'db1',3);
4. detcoef .
detcoef
N, 0 N N0 = length(L)2,
[C,L] N0. C
C = [A(N0), D(N0), ..., D(1)].
D = detcoef(C,L,N), D = detcoef(C,L),
DCELL = detcoef(C,L,N,'cells'), [D1, ..., Dp] = detcoef(C,L,[N(1), ..., N(p)]).
. D = detcoef(C,L)
N0. N , , 1 N( j ) N0,
DCELL = detcoef(C,L,N,'cells') ,
DCELL{ j } N( j ). length(N) > 1,
DCELL = detcoef(C,L,N) DCELL = detcoef(C,L,N,'cells').
DCELL = detcoef(C,L,'cells') DCELL = detcoef(C,L,[1: N0]).
[D1, ..., Dp] = detcoef(C,L,[N(1), ..., N(p)])
[N(1), ..., N(p)].
3. s = leleccum 3,
1, 2, 3.
load
leleccum;
s
=
leleccum(1:3920);
%
[c,l]
=
wavedec(s,3,'db1');
[cd1,cd2,cd3]
=
detcoef(c,l,[1
2
3]).
leleccum
5. upwlev
. [C,L]
N0, upwlev [NC,NL]
N0 1, . . . ,
cA, . . N0.
[NC,NL,cA] = upwlev(C,L,'wname'),
[NC,NL,cA] = upwlev(C,L,Lo_R,Hi_R),
[C,L] [C,L] N0,
'wname' , [NC,NL]
191
N0 1.
Lo_R Hi_R.
4.
load sumsin;
[c,l]
=
subplot(311);
subplot(312);
[nc,nl]
=
subplot(313);
s = sumsin(1:1000); % sumsin
wavedec(s,3,'db1');
plot(s);
title('Original
signal
s.');
plot(c);
title('Wavelet
decomposition
structure,
level
upwlev(c,l,'db1');
plot(nc);
title('Wavelet
decomposition
structure,
level
3')
2').
. 3.4.4.
,
cA2, cD2, cD1.
6. wrcoef
. [C,L]
N0, wrcoef
N N0.
X = wrcoef('type',C,L,'wname',N), X = wrcoef('type',C,L,'wname'),
X = wrcoef('type',C,L,Lo_R,Hi_R,N), X = wrcoef('type',C,L,Lo_R,Hi_R).
'type' :
'type' = 'a' ;
'type' = 'd' .
N , N0.
192
MATLAB
5.
load
sumsin;
[c,l]
sumsin;
wavedec(s,5,'sym4');
a5
wrcoef(a,c,l,'sym4',5).
7. upcoef .
upcoef Y X
N, N .
X (O = 'd'),
.
Y = upcoef(O,X,'wname',N),
Y = upcoef(O,X,'wname',N,L),
Y = upcoef(O,X,'wname').
O = 'a', X .
O = 'd', X .
Y = upcoef(O,X,'wname',N,L) N
X L.
Y = upcoef(O,X,'wname') Y = upcoef(O,X,'wname',1).
Lo_R Hi_R.
Y = upcoef(O,X,Lo_R,Hi_R,N) Y = upcoef(O,X,Lo_R,Hi_R,N,L).
Y = upcoef(O,X,Lo_R,Hi_R) Y = upcoef(O,X,Lo_R,Hi_R,1).
6.
db6 1 3. db6
[0,10] 10. (
, 1)
Lo_R Hi_R 10.
( ) ,
. ,
X
, db6.
zeropadding (. dwtmode), . .
cfs = [1] .
cfs
for
[1];
rec
ax
essup
=
=
10;
upcoef(a,cfs,db6',i);
subplot(3,1,i),h
set(ax,xlim,[1
essup
end
i=1:3
plot(rec(1:essup));
50]);
essup*2;
subplot(311)
title(['Approximation
to
3'])
signals,
obtained
from
single
coefficient
at
levels
193
. 3.4.5.
,
( )
1 3 .
8. . s
t.
s(t) ( ),
, M[s(t)] = ms,
= t2 t1. :
swt ;
iswt .
swt.
1.
dwt.
2. dwt wavedec,
Lo_D Hi_D
. cA1 cD1
, s. cA1
.
Wavelet Toolbox\Using the Wavelet Toolbox\Advanced
Concepts\Discrete Stationary Wavelet Transform (SWT).
3. length(s) 2N, N
. SWC,
: 1 i N, SWC (i,:)
194
MATLAB
i SWC(N + 1,:)
N.
3.5.
cwt
cwt ,
.
s .
s, a
b, :
.
s(t) , {sk},
s(t) ,
: s(t) = s(kt) = sk , t [ kt, (k +1) t). b
t, s, . . b = 1 : ls, ls = length(s).
, a
, SCALES.
cwt
195
cwt
wavedec , cwt
a, wavedec .
cwt
s, .
cwt:
COEFS = cwt(s , SCALES,'wname'),
COEFS = cwt(s, SCALES,'wname','plot'),
COEFS = cwt(s, SCALES,'wname',PLOTMODE),
COEFS = cwt(s, SCALES,'wname',PLOTMODE,XLIM).
COEFS = cwt(s,SCALES,'wname')
s, a
SCALES, 'wname'. s ,
.
a
SCALES Ca,b b = 1 : ls
COEFS(i,:), i
a = SCALES (i).
COEFS lals, la
SCALES, ls = length(s). COEFS
.
COEFS = cwt(s, SCALES,'wname','plot')
s.
COEFS = cwt(s,SCALES,'wname',PLOTMODE)
s. COEFS lals
, ,
la ls .
. PLOTMODE,
.
3.5.1.
PLOTMODE
lvl
glb
abslvl lvlabs
absglb glbabs
, ,
, lvl,
, glb,
absglb, . .
COEFS = cwt(...,'plot') COEFS = cwt(...,'absglb').
COEFS = cwt(s,SCALES,'wname',PLOTMODE,XLIM)
s
XLIM = [x1 x2] , 1 x1 < x2 length(s).
196
MATLAB
[b, b + aNt].
b = nt:
(t) 0(t). ,
b = nt ck :
(t). 0(t)
[0, N]. t t,
[0, Nt].
, Ck,n , k = 1,2, , K
n = 1, 2, , N. W[f](a,b)
:
197
cwt
linspace(1,1,512);
s
=
1abs(t);
%
cwt(s,1:32,'cgau4');
=
cwt(s,[64
32
16:2:2
1.5],'morl');
=
cwt(s,1:64,'sym4','abslvl',[100
400]);
2. ( V2) SmV2.txt
4096 .
gaus1,
1 200 2.
load
SmCh4.txt;
SV2=SmCh4(601:4696);
w='gaus1';
Fr
=
centfrq(w)
subplot
211;
plot(SV2);
%
subplot
212;
Sc
=
cwt(SV2,1:2:200,w,'plot');
QRS ( a), P,
T U ( a).
. 3.5.1.
198
MATLAB
. MATLAB
.
1. cgau p
. p.
2. cmor B
C. . , cmor11.5
B = 1
C = 1.5.
3. fbsp,
M, B, C.
. , fbsp 210.5.
4. shan, B,
C. . ,
shan11.5.
. cwt
,
. ,
x
cwt(SV2,1:2:64,'cgau4','plot')
x 32 3700,
.
. ,
. MATLAB x = cwt(SV2,1:2:64,'cgau4','plot')
.
3.6.
,
.
.
,
, (.
dwt wavedec). :
, s(0,0) (. 3.6.1).
, .
wn(x) .
(x) (x)
hn gn . w0(x) = (x) w1(x) = (x)
n
199
(0,0)
(1,1)
(1,0)
(2,1)
(2,0)
(3,0)
(3,1)
(3,2)
(3,3)
(2,3)
(2,2)
(3,4)
(3,5)
(3,6)
(3,7)
. 3.6.1.
n ,
wn(x). 0 1
V0 V1. , wn(x k) k
n L2(R).
L2(R) = 0 + 1 + 2 + ...
L2(R)
. f(x) wn(x k)
.
:
wpdec ;
plot ;
allnodes ;
wpcoef ;
wprec 1 D;
wprcoef ;
wpsplt ;
wpcutree ;
wpjoin ;
tnodes ;
write (read) () ;
wentropy ;
entrupd ;
besttree ;
bestlevt .
.
1. wpdec .
T N.
T = wpdec(X,N,'wname',E,P), T = wpdec(X,N,'wname').
200
MATLAB
:
X ;
N ;
E ,
(. wentropy).
: 'shannon', 'threshold', 'norm', 'log energy', 'sure',
'user';
P .
'shannon' 'log energy' P , 'threshold'
'sure' P , P 0, 'norm' P
(P 1), 'user' P ,
.
T = wpdec(X,N,'wname') T = wpdec(X,N,'wname','shannon').
2. plot . plot(T)
, .
, , ,
.
1. x 3
db1, 'shannon',
. (3,1) .
load noisdopp; x = noisdopp; %
wpt
=
wpdec(x,3,'db1','shannon');
plot(wpt).
noisdopp
(0,0)
(1,1)
(1,0)
(2,0)
(2,1)
(2,2)
(2,3)
. 3.6.2. (2,0)
201
3. allnodes .
: .
. (
) 0. .
N= allnodes(T), N= allnodes(T,deppos).
N = allnodes(T) T
N. N = allnodes(T,deppos)
N .
(i,j), i , j
i ,
j = 0 (. ).
4. wpcoef .
N . , X = [ ].
X = wpcoef(T,N), X = wpcoef(T),
X = wpcoef(T) X = wpcoef(T,0).
N N =[i j]
.
5. wprec .
wpdec. X
T
X = wprec(T).
6. wprcoef
.
N . ,
.
X = wprcoef(T,N),
X = wprcoef(T) X = wprcoef(T,0).
2. x,
N = (2,1), ( )
, x21, x21,
N = (2,1) x21
.
load noisdopp; x = noisdopp; %
t
=
wpdec(x,3,'db1','shannon');
cfs
=
wpcoef(t,[2
1]);
x21
=
wprcoef(t,[2
1]);
tr21
=
wpdec(x21,3,'db1','shannon');
noisdopp
202
MATLAB
cfs21
=
wpcoef(tr21,[2
figure(1);
subplot(411);
subplot(412);
plot(cfs);
subplot(413);
plot(x21);
subplot(414);
plot(cfs21);
plot(tr21).
1]);
plot(x);
title('Original
signal');
title('Packet
(2,1)
coefficients');
title('Reconstructed
packet
(2,1)');
title('Packet
x21
(2,1)
coefficients');
. 3.6.3. (2,1)
7. wpsplt .
1 2 .
N.
T1 = wpsplt(T,N),
[T1,cA,cD] = wpsplt(T,N),
[T1,cA,cH,cV,cD] = wpsplt(T,N).
T1
N. cD
N.
[T1,cA,cH,cV,cD] = wpsplt(T,N).
203
3.
load noisdopp; x = noisdopp; %
wpt
=
wpdec(x,2,db1');
%plot(wpt)
wpt1 = wpsplt(wpt,[2 0]); %
plot(wpt1).
N=(2,0),
noisdopp
wpsplt(wpt,3)
(0,0)
(1,0)
(2,0)
(2,1)
(1,1)
(2,2)
(2,3)
(3,0) (3,1)
8. wpcutree .
T1 = wpcutree(T,L), [T1,RN] = wpcutree(T,L).
T1 T L.
[T1,RN] = wpcutree(T,L) RN,
.
9. wpjoin .
T N.
T1 = wpjoin(T,N), [T1, RN] = wpjoin(T,N),
T1 = wpjoin(T), [T1, RN] = wpjoin(T).
[T1, RN] = wpjoin(T,N) RN
. T1 = wpjoin(T) T1 = wpjoin(T,0), . .
, .
10. tnodes .
N = tnodes(T), N = tnodes(T,'deppos').
[N,K] = tnodes(T), [N,K] = tnodes(T,'deppos').
204
MATLAB
N = tnodes(T) N , . . ,
T. . 0.
N = tnodes(T,'deppos') N ,
i , j
i , . . N(n,1) n
. N(n,2) n .
[N,K] = tnodes(T) [N,K] = tnodes(T,'deppos')
K .
T.
11. write (read) ()
. ,
write T1
.
T1 = write(T,'cfs',NODE,COEFS),
T1 = write(T,'cfs',N1,CFS1,cfs,N2,CFS2, ...).
COEFS (
) NODE . CFS1,
CFS2, ... () N1, N2, ... .
1 .
.
.
read 'sizes'
S = read(T,'sizes',NODE) S = read(T,'sizes',[N1;N2; ...]),
. read
.
'cfs':
cfs = read(T,'cfs',NODE), cfs = read(T,'data',NODE).
. read read.
4. 4 5,
.
load noisdopp; x = noisdopp;
t
=
wpdec(x,3,db3');
t
=
wpjoin(t,[4;5]);
plot(t);
sNod
=
read(t,sizes,[4,5,7]);
cfs4
=
zeros(sNod(1,:));
cfs5
=
zeros(sNod(2,:));
cfs7
=
zeros(sNod(3,:));
t1
=
write(t,cfs,4,cfs4,cfs,5,cfs5,cfs,7,cfs7);
.
plot(t1).
205
12. wentropy .
.
.
. ,
. ,
.
. ,
, .
,
()
.
.
s , si s.
,
, .
1. ('shannon')
: 0 log(0) = 0.
2. l p , p 1 ('norm')
3. ('log energy')
: log(0) = 0.
4. ('threshold') E4(si) = 1, | si | > 0
, E4(s) ,
.
5. SURE E5(s). Help
Matlab: Wavelet Toolbox\Using the Wavelet Toolbox\Advanced Concepts\Choosing
the Optimal Decomposition.
wentropy.
E = wentropy(X,T,P), E = wentropy(X,T).
E = wentropy(X,T,P) E X,
T : 'shannon', 'threshold', 'norm', 'log energy', 'sure', 'user'.
P :
'shannon' 'log energy' P ;
'threshold' or 'sure' P , P > 0;
'norm' P (P 1);
'user' P , .
E = wentropy(X,T) E = wentropy(X,T,0).
206
MATLAB
5. x = randn(1,200).
x
=
e =
e
e =
randn(1,200);
wentropy(x,'shannon')
142.7607
=
wentropy(x,'threshold',0.2)
162
e
=
wentropy(x,'norm',1.1)
e =
160.1583
13. entrupd .
T = entrupd(T,E), T = entrupd(T,E,P).
T, E
P.
6.
load noisdopp; x = noisdopp;
t
=
wpdec(x,2,'db1','shannon');
nodes
=
allnodes(t);
ent
=
read(t,'ent',nodes)
ent =
1.0e+04 *
5.8615 6.8204 0.0350 7.7901
t
=
entrupd(t,'threshold',0.5);
nent
=
read(t,'ent')
nent =
937 488 320 241 175 170 163
0.0497
0.0205
0.0138
14. besttree .
,
wpdec. wpdec.
.
j,n(x) j,n(x).
() , ,
.
. . ,
. N N1 N2,
N1 N2 , N.
, N.
besttree.
T1 = besttree(T), [T1,E] = besttree(T), [T1,E,N] = besttree(T).
207
T1 = besttree(T) T1,
.
[T1,E] = besttree(T) T1
E. , E(j)
j1 (. allnodes)
T1.
[T1,E,N] = besttree(T) T1,
E N,
() T.
7. .
load noisdopp; x = noisdopp;
wpt
=
wpdec(x,3,db1');
[bt,e,n]
=
besttree(wpt);
plot(bt).
(0,0)
(1,0)
(2,0)
(1,1)
(2,1)
. 3.6.5.
2, (1,1).
.
15. bestlevt
. T1
T .
besttree ,
.
, , .
208
MATLAB
noisdopp;
=
=
noisdopp;
wpdec(x,3,'db1');
wpsplt(wpt,[3
0]);
plot(wpt)
blt
bestlevt(wpt);
plot(blt).
3.7.
MATLAB.
3.7.1. MATLAB
MATLAB .
() ,
0 1.
(grayscale) ,
0 1
.
X map.
map , (R),
(G) (B) . X
map, ,
X.
(RGB)
n m 3. (n m),
(R), (G) (B) .
map .
colormap.
(). , map = colormap, map =
= colormap(hsv(256)), map= colormap(jet), map = pink(255), map = jet(1000).
. Help MATLAB.
imshow . imshow(I,n)
I n
. n , 256 24
. :
209
imread .
A=imread(file.fmt), [X,map]=imread(file.fmt).
file.fmt , . fmt
: bmp, jpg, pcx, tif, hdf, png, xwd.
, A ; ,
A nm3.
[X,map]=imread(file.fmt)
X map.
imwrite .
imwrite(A,file.fmt), imwrite(X,map,file.fmt).
bmp, jpg, pcx, tif, hdf, png, xwd. A ,
, A ,
.
X map.
210
MATLAB
:
[X,map] = gray2ind(I,n)
. map n ;
I = ind2gray(X,map) ;
RGB = ind2rgb(X,map) ;
I = mat2gray(A) A ;
I = rgb2gray(RGB) ;
[X,map] = rgb2ind(RGB,tol)
,
tol;
[X,map] = rgb2ind(RGB,n)
, n ;
X = rgb2ind(RGB,map)
.
3.7.2.
s(x,y) .
, .
(x) (x) . ,
j,n(x) j,k(x). s(x,y)
L2(R2) j,n(x) j,m(y), j,n(x) j,m(y), j,n(x) j,m(y)
j,n(x) j,m(y).
.
cAj
j,n(x)j,m(y).
cHj
j,n(x) j,m(y).
cVj
j,n(x) j,m(y).
cDj
j,n(x) j,m(y).
s.
. ,
cH1
s
.
C0 (cA1, cH1, cV1, cD1) (cA2, cH2, cV2, cD2, cH1, cV1, cD1) ...
,
C0 ( MATLAB)
211
. 3.7.1.
,
. C0 n n,
cA1, cH1, cD1, cV1 n/2 n/2.
3.7.3.
:
dwt2 ;
idwt2 ;
wavedec2 ;
waverec2 ;
appcoef2 ;
detcoef2 ;
wrcoef2 2D ;
upcoef2 2D ;
upwlev2 2D ;
swt2 2D ;
iswt2 2D ;
wpdec2 ;
wprec2 .
.
1. dwt2.
X dwt2 cA
: cH,
cV cD,
w(x)w(y) w(x).
, X.
[cA,cH,cV,cD] = dwt2(X,'wname'), [cA,cH,cV,cD] = dwt2(X,Lo_D,Hi_D).
212
MATLAB
. 3.7.2.
213
, cH1 (
) ,
cV1 ( )
. ,
cD1.
2. idwt2 .
dwt2.
cA cH, cV, cD idwt2
X, ,
. .
X = idwt2(cA,cH,cV,cD,'wname'), X = idwt2(cA,cH,cV,cD,Lo_R,Hi_R),
X = idwt2(cA,cH,cV,cD,'wname',S), X = idwt2(cA,cH,cV,cD,Lo_R,Hi_R,S),
X = idwt2(...,'mode',MODE).
:
'wname' ;
Lo_R ;
Hi_R ;
S ,
idwt2;
MODE .
X = idwt2(cA,[],[],[],...)
s
cA.
X = idwt2([],cH,[],[],...)
s cH.
X = idwt2([],[],cV,[],...) X = idwt2([],[],[],cD,...).
3. wavedec2 .
wavedec2
[C,S] = wavedec2(X,N,'wname'), [C,S] = wavedec2(X,N,Lo_D,Hi_D)
X N,
'wname' Lo_D,Hi_D. C
S.
C :
C = [ A(N), H(N), V(N), D(N), H(N1), V(N1), D(N1), ..., H(1), V(1), D(1) ],
A, H, V, D , , :
A ;
H ;
V ;
D .
.
214
MATLAB
S (N + 2) 2 :
S(1,:) [p,q] pxq
N;
S(i,:)
N i + 2 i = 2, ...N + 1;
S(N + 2,:) = size(X) [n, m]
.
,
. ,
j :
j + 1 (,
).
3. X. 2,
db1. .
load
[c,s]
sizex
sizex
woman;
=
wavedec2(X,2,'db1');
=
size(X)
=
256 256
sizec
=
size(c)
sizec
=
1 65536
s =
64 64
64 64
128 128
256 256
4. waverec2 .
X = waverec2(C,S,'wname'), X = waverec2(C,S,Lo_R,Hi_R).
wavedec2. X,
[C,S] (. wavedec2). , X = waverec2(C,S,'wname')
X = appcoef2(C,S,'wname',0).
5. appcoef2 .
A = appcoef2(C,S,'wname',N), A = appcoef2(C,S,'wname'),
A = appcoef2(C,S,Lo_R,Hi_R), A = appcoef2(C,S,Lo_R,Hi_R,N).
[C,S] , wavedec2,
N , 'wname' . N ,
size(S,1)2. , X = appcoef2(C,S,'wname',0)
X = waverec2(C,S,'wname'). [C,S]
, N.
215
6. detcoef2 .
D = detcoef2(O,C,S,N).
[C,S] (. wavedec2)
, N
O = 'h', 'v', 'd' .
[H,V,D] = detcoef2('all',C,S,N)
N , .
7. wrcoef2
. [C,S]
N0, wrcoef2 X
N N0.
X = wrcoef2('type',C,S,'wname',N), X = wrcoef2('type',C,S,Lo_R,Hi_R,N),
X = wrcoef2('type',C,S,'wname'), X = wrcoef2('type',C,S,Lo_R,Hi_R).
'type' :
'type' = 'a' ;
'type' = 'h' 'v', 'd'
, ,
.
N , N0.
8. upcoef2 2D
. upcoef Y X
N, N .
X (O = 'd'),
, .
Y = upcoef2(O,X,'wname',N,S), Y = upcoef2(O,X,Lo_R,Hi_R,N,S),
Y = upcoef2(O,X,'wname',N), Y = upcoef2(O,X,Lo_R,Hi_R,N),
Y = upcoef2(O,X,'wname'), Y = upcoef2(O,X,Lo_R,Hi_R).
Y = upcoef2(O,X,'wname',N,S) N
X S. 'wname' .
O = 'a', X.
O = 'h', 'v' 'd', X.
Lo_R Hi_R.
Y = upcoef2(O,X,'wname') Y = upcoef2(O,X,'wname',1).
9. upwlev2 2D
. [C,S] (see wavedec2)
N0, upwlev2
[NC,NS] N0 1, . . . ,
cA, . .
N0.
216
MATLAB
3.8. ,
, s(n) =
= f(n) + e(n), f(n) , e(n)
217
, . .
, ,
. , e(n)
,
. ,
e(n) f.
3.8.1.
, ,
, . ,
cDj .
.
, ,
, .
, ,
.
() .
, .
, ,
.
, , ,
.
:
, ()
.
( )
, /.
/.
,
. 0
,
/.
(Steins unbiased risk estimation)
0,
j , Rj( ),
.
( /)
.
:
218
MATLAB
,
,
;
, ,
;
, ,
,
.
,
.
1. . N.
N.
2. .
1 N (
) .
3. . ,
N
1 N.
Denoising Chap
ter 6, Advanced Concepts (Wavelet Toolbox\Using the Wavelet Toolbox\
Advanced Concepts\Wavelet Applications\Denoising). . [1].
3.8.2. MATLAB
:
thselect 1D;
wthresh (1D, 2D);
wthcoef ;
wthcoef2 ;
wpthcoef (1D, 2D);
wden 1D;
wdencmp (1D, 2D);
wnoisest 1D ;
wbmpen 1D 2D ;
wpbmpen ;
wdcbm 1D BirgeMassart;
wdcbm2 2D BirgeMassart;
ddencmp (1D, 2D);
randn .
1. thselect 1D.
THR = thselect(X,TPTR).
X, ,
TPTR. :
219
TPTR = 'rigrsure' ,
;
TPTR = 'heursure' ;
TPTR = 'sqtwolog' sqrt(2*log(length(X)));
TPTR = 'minimaxi' .
y = f(t) + e, e
N(0,1). ,
, THR (.
SCAL wden).
1. .
.
init
=
2055415866;
randn('state',init);
thr
=
thselect(x,'rigrsure')
thr =
1.8065
thr
=
thselect(x,'sqtwolog')
thr =
3.7169
thr
=
thselect(x,'minimaxi')
thr =
2.2163
randn(1,1000);
220
MATLAB
[NC,S] .
NC = wthcoef2('type',C,S,N,T,SORH) 'type' = 'h', 'v' 'd'
,
, [C,S]
(SORH = 's'), (SORH = 'h') ,
N T.
NC = wthcoef2('type',C,S,N) 'type' = 'h', 'v' 'd'
, ,
[C,S],
N.
NC = wthcoef2('a',C,S) ,
.
4. wpthcoef
(1D, 2D). wpthcoef
. NT,
T .
NT = wpthcoef(T,KEEPAPP,SORH,THR),
:
NT ;
T ;
KEEPAPP = 1, ,
;
SORH = 's', ,
SORH = 'h', ;
THR .
5. wden (1D). wden
X, .
:
[XD,CXD,LXD] = wden(X,TPTR,SORH,SCAL,N,'wname'),
[XD,CXD,LXD] = wden(C,L,TPTR,SORH,SCAL,N,'wname').
XD
X, .
[CXD,LXD]
XD.
:
X ;
TPTR , :
rigrsure' ,
(SURE);
heursure' ;
qtwolog' sqrt(2*log(length(X)));
'minimaxi' ;
221
10]);
. 3.8.1.
title('Original
signal');
222
subplot(312),
plot(x),
subplot(313),
plot(xd),
heuristic
SURE').
MATLAB
axis([1
axis([1
2048
2048
10
10
10]);
10]);
title('Noisy
signal');
title('Denoised
signal
6. wdencmp
(1D, 2D).
[XC,CXC,LXC, PR0, PRL2] =
wdencmp('gbl',X,'wname',N,THR,SORH,KEEPAPP),
[XC,CXC,LXC, PR0, PRL2] = wdencmp('lvd',X,'wname',N,THR,SORH),
[XC,CXC,LXC, PR0, PRL2] = wdencmp('lvd',C,L,'wname',N,THR,SORH).
. 'gbl'. :
XC X (1D 2D);
[CXC,LXC] XC;
PR0 X ;
PRL2 L2
. PRL2 = 100 (norm(CXC)/ norm(C))2 , [C,L]
X. X 'wname' ,
PRL2 = 100 ||XC||2/||X||2.
:
X , ;
wname' N ;
THR ;
SORH = 's' 'h' ;
KEEPAPP = 1,
, .
wdencmp('gbl',C,L,'wname',N,THR,SORH,KEEPAPP)
, [C,L] N.
'lvd'. ,
, THR (THR
N). , .
'lvd'. THR
3 N, :
, .
, wden ( ), wdencmp
. Chapter 2, Using Wavelets.
3. woman = (X, map).
x n = 5; w = 'sym2'. wdencmp .
load
woman;
x=X(100:200,100:200);
nbc = size(map,1); n = 5; w = 'sym2';
[c,l]
=
wavedec2(x,n,w);
thr=20;
[xd,cxd,lxd,perf0,perfl2]=wdencmp('gbl',c,l,w,n,thr,'h',1);
colormap(pink(nbc));
223
,
subplot(221),
image(wcodemat(x,nbc)),
title('Original
subplot(222),
image(wcodemat(xd,nbc)),
title('Denoised
xlab1
=
['2norm
rec.:
',num2str(perfl2)];
xlab2
=
['%
zero
cfs:
',num2str(perf0),
'%'];
xlabel([xlab1
xlab2]).
image')
image')
. 3.8.2.
4. , 'lvd'
. .
x 2, , :
thr_h = [17 18]; % ;
thr_d = [19 20]; % ;
thr_v = [21 22]; % ;
thr = [thr_h ; thr_d ; thr_v].
[xd,cxd,lxd,perf0,perfl2] = wdencmp('lvd',x,'sym8',2,thr,'h').
7. wnoisest 1D .
, S.
STDC = wnoisest(C,L,S).
[C,L] .
C (cell array), STDC = wnoisest (C)
, STDC(k)
C{k}.
C (), STDC = wnoisest (C)
, STDC(k) k
C(k,:).
224
MATLAB
,
0.6745, (.
thselect).
5. ,
1 2.
x 1,
1.
init
[c,l]
2055415866;
=
randn('seed',init);
randn(1,1000);
wavedec(x,2,'db3');
wnoisest(c,l,1:2)
ans
1.0111,
1.0763
tire;
=
nbc
imnoise(X,
[c,s]
det1
size(map,1);
'salt
&
wname
detcoef2('compact',c,s,1);
sigma
alpha
=
= 5;
median(abs(det1))/0.6745;
thr
xd
'coif2';
lev
wavedec2(Y,lev,wname);
=
keepapp
pepper',0.1);
wbmpen(c,3,sigma,alpha)
=
1;
=
wdencmp('gbl',c,s,wname,lev,thr,'s',keepapp);
colormap(gray(nbc));
3;
225
,
subplot(331),
subplot(332),
subplot(333),
image(wcodemat(X,nbc));
image(wcodemat(Y,nbc));
image(wcodemat(xd,nbc));
title('Original
title('Noised
title('Denoised
image');
image');
image').
. 3.8.3.
9. wpbmpen .
THR = wpbmpen(T,SIGMA,ALPHA),
THR = wpbmpen(T,SIGMA,ALPHA,ARG).
THR ,
BirgeMassart. :
T ,
;
SIGMA
;
ALPHA .
, , 1. ALPHA = 2;
THR . t*
crit(t) = sum(c(k)^2,k<=t) + 2*SIGMA^2*t*(ALPHA +
log(n/t)), c(k) ,
, n . THR = |c(t*)|.
wpbmpen(T,SIGMA,ALPHA,ARG)
:
2*SIGMA^2*t*(ALPHA + log(n/t));
sum(c(k)^2,k<=t);
crit(t).
10. wdcbm wdcbm2 1D 2D ,
BirgeMassart.
[THR,NKEEP] = wdcbm(C,L,ALPHA), [THR,NKEEP] = wdcbm(C,L,ALPHA,M).
[THR,NKEEP] = wdcbm2(C,S,ALPHA), [THR,NKEEP] =
wdcbm2(C,S,ALPHA,M).
THR N
NKEEP N.
226
MATLAB
11. ddencmp
(1D, 2D).
,
, .
:
;
thr = sqrt(2*log(n))*s, s , n = prod(size(x)).
:
;
thr = median(abs(cD1)), ,
thr = 0.05*max(abs(cD1)).
(
):
;
thr = sqrt(2*log(n*log(n)/log(2))), n = prod(size(x)),
1;
'sure'.
wdencmp.
[THR,SORH,KEEPAPP,CRIT] = ddencmp(IN1,IN2,X),
[THR,SORH,KEEPAPP] = ddencmp(IN1,'wv',X),
[THR,SORH,KEEPAPP,CRIT] = ddencmp(IN1,'wp',X).
X.
:
X ( );
IN1 'den' 'cmp' ;
IN2 'wv' 'wp' .
:
THR ;
SORH ;
KEEPAPP = 1,
, ;
CRIT , .
: THR, SORH, KEEPAPP.
: THR, SORH, KEEPAPP, CRIT .
7. .
('wv'), .
wdencmp 'wv'.
.
init
2055415866;
[thr,sorh,keepapp]
thr
3.8593
randn('seed',init);
=
ddencmp('den','wv',x)
randn(1,1000);
227
MATLAB
sorh = s
keepapp = 1
.
[thr,sorh,keepapp]
[thr,sorh,keepapp,crit]
ddencmp('cmp','wv',x);
.
=
ddencmp('den','wp',x).
3.9. MATLAB
MATLAB
. , wnoise,
.
3.9.1.
*.mat
load, .
, vonkoch.mat 8192, 510
load vonkoch; s= vonkoch(1:510); plot(s).
, (
Wavelet Toolbox matlab.ru):
vonkoch ;
wcantor ;
sinfract ;
leleccum ;
nearbrk ;
sumsin ;
noisdopp , x*sin(1/x) ;
ndoppr1 ;
noisbloc ;
whitnois ;
wstep ;
brkintri ;
noispol ;
wnoislop ;
wntrsin ;
freqbrk ;
noissin ;
qdchirp ();
sumlichr ;
sumsin .
228
MATLAB
3.9.2.
MATLAB *.mat.
, X
map, map , X
map, ,
X.
imshow(X,map) image(X), X
wcodemat .
load, load woman.
( MATLAB) X map.
:
detail ;
woman ();
detfingr ;
tire ;
chess ;
wbarb ;
facets ;
geometry ;
sinsin f(x,y)= sin(ax) sin(ay);
tartan ;
mandel ;
julia ;
wifs ;
noiswom ( );
noissi2d sin(ax) sin(ay) ;
mandril ;
belmont1 1;
belmont2 2.
3.9.3.
, .
1. randn
. randn
, 2 = 1 =1.
:
Y = randn(n), Y = randn(m,n), Y = randn([m n]),
Y = randn(size(A)), randn, s = randn('state').
Y = randn(n) nn
.
Y = randn(m,n) Y = randn([m n]) mn
.
229
MATLAB
Y = randn(size(A))
, A.
randn
, .
s = randn('state') ,
() .
:
randn('state',s) s;
randn('state',0) ;
randn('state',j) j, j ;
randn('state',sum(100*clock)) .
1.
R
randn(3,4).
34.
2. x = .6 + sqrt(0.1) * randn(5)
5 5, 0.6, 2 = 0.1,
= sqrt(0.1).
3.
y
sin(x)+sqrt(0.1)
randn(size(x));
2. wnoise .
, .
X = wnoise(FUN,N),
[X,XN] = wnoise(FUN,N,SQRT_SNR).
X = wnoise(FUN,N)
, FUN ( FUN ),
2N [0,1].
[X,XN] = wnoise(FUN,N,SQRT_SNR) X
, , std(X)
X , SQRT_SNR.
XN X
N(0,1). XN SNR = (SQRT_SNR)2.
[X,XN] = wnoise(FUN,N,SQRT_SNR,INIT) X
XN , INIT.
Donoho Johnstone.
.
FUN = 1
'blocks',
FUN = 2
'bumps',
FUN = 3
'heavy sine',
FUN = 4
'doppler',
FUN = 5
'quadchirp',
FUN = 6
'mishmash'.
4. .
ind
linspace(0,1,2^10);
230
MATLAB
wnoise(i,10);
plot(ind,x)
3. imnoise .
. I
, . I uint8, uint16
double. J .
J = imnoise(I,type), J = imnoise(I,type,parameters).
(type) :
'gaussian' ;
'salt & pepper' ;
'speckle' , .
J = imnoise(I,type,parameters),
. , .
J = imnoise(I,'gaussian',m,v)
m v. m = 0, v = 0.01.
231
title('Original
title('Noised
image');
image').
. 3.9.2.
3.10.
MATLAB
.
,
, ,
. .
, X,
x1, , xN . :
, QRS
, X.
:
232
MATLAB
()
;
;
.
, .
.
. [8]
.
, ( )
, , 100 .
100 .
,
, ,
.
3.10.1.
( V2),
1024 .
db4,
[0,7].
( ) SmCh4.
70 000 . 4096.
N = 3
.
load
SmCh4.txt;
SV2=SmCh4(601:4696);
Fr
[c,l]
wavedec(SV2,3,w);
w='db4';
centfrq(w)
%cA3=appcoef(c,l,w,3);
[cD1,cD2,cD3]=detcoef(c,l,[1,2,3]);
figure(1);
plot(SV2);title('ECG
3;
V2');
figure(2);
subplot
311;
plot(cD3);
title('Detail
coefs.
lev.
subplot
312;
plot(cD2);
title('Detail
coefs.
lev.
3');
2');
subplot
313;
plot(cD1);
title('Detail
coefs.
lev.
1').
233
. 3.10.1. Sm
. 3.10.2. Sm
234
MATLAB
. , 734.30 , ,
, 512 . ,
.
.
figure(3)
ScD1=upcoef('d',cD1,w,1);
ScD2=upcoef('d',cD2,w,2);
ScD3=upcoef('d',cD3,w,3);
subplot
311;
plot(ScD3);
title('ECG
subplot
312;
plot(ScD2);
title('ECG
subplot
313;
plot(ScD1);
title('ECG
Frec.
Frec.
Frec.
183
367
734
Hz')
Hz')
Hz').
. 3.10.3.
(
V2) ,
.
, (
Sm), (
Th).
235
. 3.10.4. V2 Th
. 3.10.5. Th
. .
.
1. .
, ,
. (
), .
( std) cD1, cD2, cD3
ScD1, ScD2, ScD3 Sm Th .
Sd1=std(cD1)
Sd2=std(cD2)
Sd3=std(cD3)
Sd1S=std(ScD1)
Sd2S=std(ScD2)
Sd3S=std(ScD3)
236
MATLAB
3.10.1.
cD1
cD2
cD3
ScD1 ScD1 ScD1
Sm
Th
Sm/Th
,
.
.
2. .
cD1, cD2, cD3 ScD1, ScD2, ScD3
, .
, ScD1,
ScD2, ScD3.
N1=length(ScD1)
YS1=fft(ScD1);
PS1=YS1.*conj(YS1)/N1;
M1=length(TScD1)
YT1=fft(TScD1);
PT1=YT1.*conj(YT1)/M1;
figure(1)
subplot
211;
plot(PS1);title('ScD1
subplot
212;
plot(PT1);title('ScD1
for
for
Sm');
Th').
. 3.10.6. Sm
237
. 3.10.7. Th
,
.
, ,
ScD1 TcD1.
3. . 3.10.2, 3.10.3.
3.10.5,
, .
.
,
,
.
[25] 1981 .
.
.
[24], 1971 .,
.
. , , .
(). ,
.
,
()
.
238
MATLAB
, , ,
.
DF n
M() n ,
[16]. DF
.
H , ,
. H = 2 DF .
,
.
D
C(r)
, , r :
C(r) ~ rD, D .
Fractan.
. . http://impb.psn.ru/~sychyov/
.
,
[15].
, ,
Sm Th,
Fractan, .
. ,
Fr2 = 367.15 ( ) :
3.10.2.
Sm
Th
0.2280
0.3103
1.7669
1.68972
3.829
6.423
32
17
3.10.2.
( V2) SmCh4.txt,
4096 .
,
239
,
.
, .
, 0,25 .
t = 1/1024,
, (
a = 1), Fr = 0.25*1024 = 256 . a = 100
256/100 = 2,56 . a = 200
1,28 . , a 1 200,
256 1,28 . ,
a, ,
.
: Fr(db2) =0.667 , Fr(db4) = 0.7143 ,
Fr(morl) =0.8125 , Fr(haar) =0.9961 .
db4, a 1 600 4,
Sm, Th. ,
734.3 1,22 :
load
SmCh4.txt;
SV2=SmCh4(601:4696);
w=db4';
Fr
=
centfrq(w);
subplot
211;
plot(SV2);
%
;
subplot
212;
Sc
=
cwt(SV2,1:4:600,w,'plot');
734.3 1,22 .
%,
. 3.10.8. Sm
240
MATLAB
. 3.10.9. Th
QRS , T
. P,
U, .
, .
.
, .
,
.
Sc =
= cwt(SV2,1:4:600,w,'plot') .
. ,
. 1
1200 1 300, 734.3 2,44 .
,
.
for
k=1:1200;
for
l=1:75;
Sd(l,k)=Sc(l,k);
end
end
surfl(Sd)
colormap(gray);
shading
interp.
241
. 3.10.10. Sm
.
db4 Fw = 0.7143 .
1 600 4.
F0 = 0.7143 1024 = 734.3 F0/600 = 1,22 .
. ,
a = 1 F0 = 0.7143 1024 = 731.4 ,
a = 2 F1 = 731.4/2 = 365.7 ,
a = 3 F1 = 731.4/3 = 243.8
. . ,
, , .
,
.
,
.
242
MATLAB
, a = k,
k = 1, , N ak, k = 0, 1, , N a.
a.
F0 (
a = 1) F () .
F1 = F0 F.
a, . F1 = F0/a.
F0/a = F0 F a = F0/F1 = F0/(F0 F).
ak, k = 0, 1, , N, a.
MATLAB. db4
0.7143, gaus3
, 0.4, F0 = 409.6
DF= 10, a = 1.025.
w='gaus3';
F0
=
centfrq(w)*1024;
DF=10;
N=270;
a=F0/(F0DF).
for
k=1:N;
A(k)=a^(k1);
end
load
SmCh4.txt;
SV2=SmCh4(601:4696);
Sc = cwt(SV2,A,w,'plot'); %
410
. 3.10.11.
10.
243
,
. a = 4 (100 )
QRS. ,
.
3.10.3. ,
.
. .
.
. ,
( ) ,
, 100 ( . 3.10.11).
100
. .
, db4.
Fr = 0.7143 . t = 1/1024,
db4, , Fr1 = 0.7143
1024 = 734.30 , Fr2 = 367.15 ,
Fr3 = 183.57 Fr3 = 91.8 .
cD1, cD2, cD3 cD4.
24 = 16 .
load
w='db4';
SmCh4.txt;
SV2=SmCh4(601:4696);
[c,l]
cA4=appcoef(c,l,w,4);
wavedec(SV2,4,w);
ScA4=upcoef(a,cA4,w,4);
subplot
211;
plot(SV2);title(ECG
subplot
212;
plot(ScA4);title(Approx.
V2);
at
level
4).
. ,
wdencmp, .
Wavelets Toolbox .
1. . THR =
= thselect(X,TPTR) , ,
TPTR.
: 'rigrsure' ,
, 'heursure' ,
'sqtwolog' sqrt(2*log(length(X))) 'minimaxi' .
SV2
Sm.
244
thr
thr
thr
thr
MATLAB
=
thselect(SV2,'rigrsure')
2.1746
=
thselect(SV2,'sqtwolog')
=
4.0787
thr
thr
thselect(SV2,'minimaxi')
=
2.5884
2. . STDC =
= wnoisest(C,L,S),
, .
, 0.6745,
(. thselect).
load
SmCh4.txt;
SV2=SmCh4(601:4696);
%
;
w='db4'; Fr = centfrq(w) % ,
[c,l] = wavedec(SV2,4,w); % 3;
STDC = wnoisest(c,l,[1 2 3 4]);
STDC =
0.0042 0.0165 0.0351 0.0648.
3. . [XC,CXC,LXC,
PR0, PRL2] = wdencmp('gbl',X,'wname',N,THR,SORH,KEEPAPP)
gbl:
;
;
;
L2 .
N, THR,
SORH = 's' 'h' KEEPAPP = 1
.
wdencmp
. wdencmp.
load
SmCh4.txt;
SV2=SmCh4(601:4696);
thr=4.1;
[Sd,cxd,lxd,perf0,perfl2]
=wdencmp('gbl',SV2,'db4',4,thr,'h',1);
subplot(211),
plot(SV2);
title('Original
signal');
subplot(212),
plot(Sd);
title('Compressed
signal');
%
Plot
original
and
compressed
signals.
xlab1
=
['2norm
rec.:',num2str(perfl2)];
xlab2
=
['%
zero
cfs:',num2str(perf0),
'%'];
xlabel([xlab1
xlab2]).
245
. 3.10.12.
, 10 .
, .
.
.
3.10.4.
, 3.10.1. T = wpdec(X,N,'wname')
, X = wprcoef(T,N)
N.
.
. .
Sm, 3
db4
, (3,0), .
load
SmCh4.txt;
X=SV2;
w='db4';
SV2=SmCh4(601:4696);
N=3;
P='shannon';
246
MATLAB
T = wpdec(X,N,w);
for
k=1:(2^N1);
XI=wpcoef(T,[N,k]);
E(k)=wentropy(XI,P);
end
E
Th.
.
3.10.3.
Sm
Th
Sm/Th
(3,1)
5.3781
2.2253
2.4
(3,2)
0.5496
0.1811
3.0
(3,3)
1.9093
0.5132
3.7
(3,4)
0.0084
0.0048
1.7
(3,5)
0.0446
0.0261
1.7
(3,6)
0.2365
0.0731
3.2
(3,7)
0.1373
0.0400
3.4
Sm
Th , . 3.10.1.
.
,
N.
.
Sm Th 12
, . ,
,
V2. ,
.
,
.
, .
.
,
MATLAB, ,
Wavelet Toolbox MATLAB .
.
4
Wavelet Toolbox
4.1. ........ 248
4.2.
....................... 250
4.3.
...................... 260
4.4.
...................... 264
4.5.
... 267
4.6.
............. 270
4.7. ............ 276
4.8. ............ 280
4.9.
......... 282
4.10.
... 285
4.11.
....... 288
4.12.
.................. 289
4.13.
... 291
4.14.
........ 293
,
,
.
Graphical
User Interface (GUI).
MATLAB.
248
Wavelet Toolbox
Wavelet Toolbox
( MATLAB). MATLAB
wavemenu. ,
.
. 4.0.1.
.
,
. ,
.
Graphical User Inter
face (GUI). .
Wavelet Display.
4.1.
(Wavelet Display)
Wavelet Display
, MATLAB. Wavelet Display
wavemenu Wavelet Display.
(Wavelet Display)
249
, Windows ,
.
. (Wavelet)
. Refi
nement N, , 1/2N.
N = 8. Display,
(x) (x) .
.
,
(x) (x)
(x) =
,
. {hn} ,
{gn} .
{hn} {gn} (x) (x),
250
Wavelet Toolbox
() .
.
{hn} (x) db2:
W
H
=
=
dbwavf('db2'); H = sqrt(2)*W
0.4830 0.8365 0.2241 0.1294.
0.1294
0.2241
0.8365
0.4830.
{hn} {gn}.
,
MAT
LAB (All Wavelet Families).
.
. 4.1.2.
. , Wiev Axes
,
. (. 4.1.1)
, Wiev Axes
.
X+, X, Y+, Y, XY+, XY
. 4.1.3. Wiev Axes
X Y . History
.
Info .
Center On ,
. ,
(. 4.1.1), Wiev Axes.
Wavelet Packet Display .
.
4.2.
(Wavelet 1D)
Wavelet 1D
. Wavelet 1D
wavemenu Wavelet 1D.
(Wavelet 1D)
251
, .
,
,
.
. , Windows
. File, ,
. ,
. File/Demo Analysis.
,
.
, .
,
Wavelet Display.
.
, .
,
, ,
:
, , .
.
4.2.1.
, QRS ( ECG.mat).
, .
(Wavelet), (Level)
( 5). Analyse,
.
.
4.2.1
sym3 . s
, 3
d1, d2, d3. 3,
, QRS, P T .
4.2.2.
(Display mode)
( )
:
Full Decomposition Mode ,
(. 4.2.1);
252
Wavelet Toolbox
. 4.2.1. 3
Separate Mode
;
Superimpose Mode
,
.
More Display Option;
Tree Mode ,
,
. ,
(. 4.2.2);
Show and Scroll Mode .
, .
.
;
(Wavelet 1D)
253
. 4.2.2.
Show and Scroll Mode (Stem Cfs) Show and Scroll Mode,
,
, .
4.2.3.
Wavelet 1D
.
Statistic . Wavelet 1D Statistics,
.
, .
,
,
. X
F(x), , X
, , x: F(x) = P{X < x},
.
, F(x) , , F() = 0 F(+) = 1.
X [x1 , x2)
F(x), P{ x1 x < x2} = F(x2) F(x1).
254
Wavelet Toolbox
X
, p(x) = F (x).
X [x1 , x2) p(x)
.
, , P
X x p(x)x, x
.
X:
,
;
X M[x],
;
,
;
x0,
y = p(x). , x0
F(x) = 1/2;
xm,
p(x) .
, ,
, x1, , xn.
. .
.
.
.
.
s . ,
.
.
, .
m
x,
pk = nk/(nx)
.
. , k
(Wavelet 1D)
255
P = pkx = nk/n.
pk
k pk.
n.
m : m 5 ln n, MATLAB m = n/4.
.
,
.
,
. ,
.
, ,
Statistic . Wavelet 1D Statistics,
( ).
,
. 4.2.3.
256
Wavelet Toolbox
.
, . Approximation
, Detail
.
(Level). Show Sta
tistics.
.
30 .
Number of Bins.
, ,
, , , ,
.
,
,
, .
4.2.4. (Histogram)
,
.
4.2.5.
Compression .
Wavelet 1D Compression,
.
(Global Thresholding) ,
.
.
, , (Select
Global Threshold),
.
( )
.
( ) .
.
(. 4.2.4), sym4 5
, 20 95,5%
. , 95,4%
.
Residuals
: , ,
,
(Wavelet 1D)
257
. 4.2.4.
, , , ,
(. . 4.6.4).
.
(By Level Thresholding). ,
d1, d2, d3.
Select
Thresholding.
, , (Select, Sparsity),
.
View Axes. Interval Depend
Threshold Setting, ,
.
258
Wavelet Toolbox
. 4.2.5.
5
. 4.2.6, ,
, 100%
5% .
, .
, ,
. .
20 ,
.
Residuals
.
(Wavelet 1D)
259
. 4.2.6.
4.2.6.
Denoise Wavelet
1D. Wavelet 1D Denoise,
. ,
Select Thresholding Method.
: .
.
. Denoise ,
. .
, ,
, ,
.
Residuals
, , ,
.
.
.
XY+ ,
.
260
Wavelet Toolbox
. 4.2.7.
.
Windows.
4.3.
Wavelet Packet 1D
. Wavelet Pa
cket 1D wavemenu
261
4.3.1.
, File/Example Analysis, sumsin.mat MAT
LAB toolbox/wavelet/wavedemo. ,
.
(Wavelet) , db4, (Level) (
3) (Entropy). s.
1. ('shannon'),
2. l p , p 1 ('norm'),
p.
.
.
3. ('log energy'),
,
: log(0) = 0.
4. ('threshold') E4(si) = 1, | si | > e 0
, E4(s) ,
e. .
5. SURE (Steins Unbiased Risk Estimate). ,
, n .
shannon.
Analyse,
.
(. 4.3.1).
. ,
( )
(. Node Action).
,
, ,
.
Full Size.
4.3.2.
, .
.
262
Wavelet Toolbox
. 4.3.1.
. 4.3.2.
263
1. . Compress Denoise
, , ,
Wavelet 1D.
2. . ,
:
Initial Tree ;
Best Tree ;
Wavelet Tree ();
Best Level ;
Cut Tree at Level .
3. (Node Label).
,
, , ,
.
4. (Node
Action). .
Visualize . ,
.
Split/Merge /.
, .
.
Recons. , ,
.
Select On/Off /. ,
.
,
Reconstruct .
. ,
.
Statistics .
,
, .
View Col. Cfs.
.
5. (Select Nodes and).
, Reconstruct
.
6. Full Size.
.
7. , Cfs. Col.
(NAT)
(FRQ).
264
Wavelet Toolbox
, , Wj,n,k. j k
, :, j , k
. n .
, Wj,n,k 2jk, 2j
n.
n,
. FRQ.
4.4.
(Continuous Wavelet 1D)
Continuous Wavelet 1D
. , s
, s,
a b,
:
.
s(t) {sk}. s(t)
, s(t) = s(kt) = sk , t [kt, (k +1)t).
b t, b = 1 : ls, ls = length(s).
a , .
4.4.1.
Continuous Wavelet 1D
wavemenu Continuous Wavelet 1D.
, .
,
,
.
, .
( MATLAB toolbox/wavelet/wavedemo)
, .
. ,
QRS. ,
. (Wavelet) .
Sampling 1 (),
0.002,
500 .
(Continuous Wavelet 1D)
265
. 4.4.1.
1 = 1 = 100.
, ,
= 50
266
Wavelet Toolbox
1 100.
QRS, P T ,
20 10 ,
. ,
4 . 2 , 200 50
.
4.4.2.
.
1. .
Coloration Mode.
, .
. (abs)
.
. Help MATLAB, Controlling the Colo
ration Mode.
.
,
Selected Axes. ,
. View Axes
.
,
, (X) (Sca) Info
( ).
. .
Frequencies Scales.
(X) (Frq) .
,
.
. How to Connect Scale
to Frequency? MATLAB Help.
,
, , .
2. .
.
,
.
New Coefficients Line Refresh Maxima Line. New
Coefficients Line, ,
.
267
. 4.4.2.
,
,
.
0.996.
4.5.
(Complex Continuous Wavelet 1D)
Complex Continuous Wavelet 1D
,
268
Wavelet Toolbox
. 4.4.3.
. 4.4.4.
269
s .
, .
wavemenu Complex Continuous Wavelet 1D.
,
. ,
,
.
Modulus, Angle Both
,
. ,
.
, QRS.
(Wavelet) .
.
cgauwavf p
. p.
cmorwavf B
C.
.
. , cmor11.5
B = 1 C = 1.5.
fbspwavf,
M, B, C :
.
. , fbsp 210.5.
shanwavf, B,
C :
.
. , shan11.5.
1 ().
.
Analyse, .
.
.
2.
1 = 1 = 64.
270
Wavelet Toolbox
. 4.5.1.
4.6.
(SWT Denoising 1D)
, . SWT
Denoising 1D .
4.6.1.
, .
, ,
.
271
X(t) t,
t = t0
X = X(t0). t
xt = X(t),
. ,
, , mX, DX
. t1, t2
. X(t1), X(t2) .
X Kx(t1,t2) =
= M[X(t1)X(t2)], X
Rx(t1,t2) = M[(X(t1) mx)(X(t2) mx)] = Kx(t1,t2) mx2.
1. X(t)
( ),
, M[X (t)] = mX, Kx(t1, t2)
:
Kx(t1, t2)= Kx(t1 t2) = KX( ).
RX = t2
t1, RX = RX( ). ,
X(t) , RX(0) = DX, , KX(0) = DX + mX 2.
KX( ) RX( )
X(t) X(t + ).
. , ,
. , ,
, .
.
.
k.
.
.
e(t).
.
S( )
K( ):
.
X0(t) = X(t) mX
S0( ). R( )
,
272
Wavelet Toolbox
.
S( ) S0( )
, .
R( ) S0( ), , ,
S0( ),
R( ).
X(t) X(t + ) . , S0( ),
, R, ,
, . .
X(t1) X(t2)
t1 t2. .
2.
e(t)
S( ) = N0.
,
,
.
( )
DX = . S( )
.
xk = X(tk). :
m, 2,
R( ) = 0 >0.
273
Decompose Signal,
. ,
,
. .
. Fixed form threshold (soft)
. Select noise structure
.
(unscaled white noise). , ,
.
. 4.6.1.
. ,
. ,
.
Denoise .
.
,
.
( ).
,
Residuals. , ,
(Int. dependent threshold settings).
274
Wavelet Toolbox
. 4.6.2.
View Axes,
.
. 4.6.3.
275
,
. ,
Wavelet 1D. ,
. (Re
siduals) ( ).
. 4.6.4.
mat
. .
, , ,
. ,
276
Wavelet Toolbox
. ,
0.3 0.1.
, ,
File/Example Analysis/ Noisy SignalsInterval dependent Noiste Variance,
.
, mat.
4.7.
(Density Estimation 1D)
Density Estimation 1D
.
4.7.1.
, ,
,
.
X [a,b]
. X
F(x), , X
.
, , x, F(x) = P{X < x},
X
, p(x) = F '(x).
. , .
:
,
m 2 ( ).
.
,
s, s1, s2, ..., sn.
.
, .
m
x,
pk = nk/(nx). ,
k
(Density Estimation 1D)
277
, P = pkx = nk/n.
pk .
n, MATLAB m = n/4.
.
,
.
n, m
.
pi = ni/(nx) .
,
.
pi
.
Density Estimation 1D. .
, .
, p(x)
, .
.
1. m . ,
m = n/4.
i = 1, 2, , m. ni , i , pi
= ni/(nx). n x ,
ni pi.
2. ni.
3. ,
.
4.
p(x).
, .
s1, s2, ..., sn
p = p(x). p(x) ,
. , p(x) L2(R).
(x) (x) .
J , . p(x).
p(x) ,
.
278
Wavelet Toolbox
M[J,k(s)] J,k(s).
dj,k. ,
, :
j0 ,
:
n k
.
,
, T.
p(x).
, J,k(si) J,k(si) si
. MATLAB .
Help MATLAB.
(Density Estimation 1D)
279
. 4.7.1.
, Estimate. ,
. ,
,
.
,
Select thresholding method, ,
.
,
, .
. Int. dependent threshold settings
,
. Level .
(), ,
. Select Number of Intervals
,
. ( )
, (. . 4.6.2).
280
Wavelet Toolbox
4.8.
(Regression Estimation 1D)
Regression Estimation 1D
.
4.8.1.
.
Y = f(X), x
y Y,
x X
yi Y. yi
x .
, y = f(x) :
f(x) M[Y | X = x] Y
, X x.
.
,
Y X
Y X. Y = f (X) + e. f
. e
. Y () ,
X , .
.
X Y.
Y = f(X). Y = aX+b+e. f
,
,
, . ,
Y = f(X)
,
. (,
, ), y = T(x),
Y , ,
M[(Y T(x))2] .
T(x)
f(x).
Y = f (X)
. e Y = f (X) + e.
.
(Regression Estimation 1D)
281
X
: .
(FixedDesign Regression). ,
X , , , , ,
. . X .
(Stochastic Design Regression).
, X ,
. X .
,
, , X.
f .
.
.
1. (X, Y) (Xb, Yb),
. Xb
. i
0/0 = 0.
2. Yb, .
, Xb 1, 2, ..., nb, nb
.
3. ,
.
4. f1 f
, .
5. f1, 1, 2...,
nb Xb, f1 ,
f(x).
,
. .
: X Y
.
282
Wavelet Toolbox
.
Example III
( ex3nsto.mat MATLAB toolbox/wavelet/wavedemo).
(xi, yi)
X Y , .
. ,
.
(Wavelet), (Level) ( 5),
Nb bins
X. ,
.
Decompose, .
.
.
. Fixed form threshold (soft)
. Select noise structure
.
(unscaled white noise). , ,
.
. ,
. ,
.
Estimate.
, .
.
, .
,
Residuals. ,
,
(Int. dependent threshold
settings). View Axes,
.
4.9.
(Wavelet Coefficients Selection 1D)
Wavelet Coefficients Selection 1D
.
283
. 4.8.1.
wavemenu Wavelet
Coefficients Selection 1D.
:
( );
;
;
.
, dwtmode('sym') MATLAB.
, File/Load Signal.
, ,
.
ECG.mat.
. Wavelet
db3 5 Level, Analyze.
284
Wavelet Toolbox
:
A5 D5
D1 . :
( ,
) .
. 4.9.1.
.
Global Select All. Kept ().
: 1045.
, , 1024.
, 1045 .
40 Enter.
( , Global
(Wavelet 2D)
285
). Apply.
.
,
Show Original Signal. .
, App. cfs (
). Unselect Apply.
.
App. Cfs Selectable.
, .
.
. Define
Selection method By Level.
,
, , .
. Define Selection method
Manual.
.
.
.
. Apply
.
. ,
, ( ),
Select/Unselect ,
.
View Axes.
.
Define Selection method Stepwise movie ( ).
. ,
,
. ,
Start. ,
.
mat.
, dwtmode('zpd').
4.10.
(Wavelet 2D)
Wavelet 2D
.
286
Wavelet Toolbox
. 4.10.1.
(View Mode: Square). .
.
. ,
.
2,
H2, D2 V2
, .
(Wavelet 2D)
287
H1,
D1 V1
.
,
.
.
(
. 4.10.2.
) Visualize
Reconstruct
. ,
.
Full Size
. View Axes.
(View Mode: Tree).
(. 4.10.3).
. 4.10.3.
288
Wavelet Toolbox
L1 1 ,
L2 2 .
1 . ,
. Full Size
.
. ,
. (, XY+)
.
History <.
, . Statistic, Compress,
Histogram, Denoise
, .
,
, ,
. ,
.
m x
pk = nk/(nx)
.
.
pk .
Number of Bins.
4.11.
Wavelet Packet 2D
.
wavemenu Wavelet Packet 2D.
,
.
. , File/Load Ima
ge. wbarb.mat MATLAB toolbox/wavelet/wavedemo.
(Wavelet), , (Level)
( 2) (Entropy).
Analyse, .
.
.
,
(. Node Action).
,
. ,
(1,0),
(1,1),
(SWT Denoising 2D)
289
. 4.11.1.
(1,2)
(1,3).
Full Size.
.
4.12.
(SWT Denoising 2D)
SWT Denoising 2D
.
290
Wavelet Toolbox
. 4.12.1.
291
.
(Fixed form soft thresholding Unscaled white noise). ,
, ,
, ,
. Denoise.
,
, .
4.13.
(Wavelet Coefficients Selection 2D)
Wavelet Coefficients Selection 2D
.
wavemenu
Wavelet Coefficients Selection 2D. ,
, .
:
(Global);
(By Level);
(Stepwise movie).
, dwtmode('sym') MATLAB.
. Wavelet Coefficients Selection 2D .
, File/Load Image.
, .
mat noiswom.mat MATLAB toolbox/wavelet/wavedemo.
. Wavelet
db3 3 Level, Analyze.
:
.
3,
H3, D3 V3 .
H2, D2 V2
,
H1, D1 V1. ,
.
292
Wavelet Toolbox
. 4.13.1.
,
.
App. Cfs:
Select All ;
Selectable
;
Unselect () .
,
.
XY+
.
293
< History .
, Rasiduals.
mat.
, dwtmode('zpd').
4.14.
(Signal extension,
Image extension)
,
,
.
:
dwtmode('sym') , ,
(default mode);
dwtmode('zpd') ;
dwtmode('sp1') 1 (
);
dwtmode('sp0') (
);
dwtmode('per') .
Signal extension
() .
.
wavemenu Signal extension.
:
(Length);
(Next Power of 2);
(Previous Power of 2);
(Desired Length), ;
(Direction to extend), ;
(Extension Mode), .
Extend.
,
. .
.
294
Wavelet Toolbox
. 4.14.1.
. 4.14.2.
Wavelet Toolbox
MAT
LAB .
296
Wavelet Toolbox
allnodes
appcoef
appcoef2
bestlevt
besttree
biorfilt
biorwavf
centfrq
cgauwavf
cmorwavf
coifwavf
cwt
dbaux
dbwavf
ddencmp
depo2ind
detcoef
detcoef2
drawtree
dtree
dwt
dwt2
dwtmode
dyaddown
dyadup
entrupd
fbspwavf
gauswavf
get
idwt
idwt2
ind2depo
instdfft
intwave
isnode
istnode
iswt
iswt2
leaves
mexihat
meyer
meyeraux
morlet
nodeasc
nodedesc
nodejoin
nodepar
(1D, 2D)
DTREE
WPTREE
2
1D
psi
()
Wavelet Toolbox
nodesplt
noleaves
nstdfft
ntnode
ntree
orthfilt
plot
qmf
rbiowavf
read
readtree
scal2frq
set
shanwavf
swt
swt2
()
1D
NTREE
WPTREE
1D
2D
2D
GUI
GUI
1D 2D
1D BirgeMassart
2D BirgeMassart
1D
(1D, 2D)
symaux
symwavf
thselect
tnodes
treedpth
treeord
upcoef
upcoef2
upwlev
upwlev2
wavedec
wavedec2
wavedemo
wavefun
waveinfo
wavemenu
wavemngr
waverec
waverec2
wbmpen
wcodemat
wdcbm
wdcbm2
wden
wdencmp
wentropy
wextend
wfilters
wkeep
wmaxlev
297
298
Wavelet Toolbox
wnoise
wnoisest
wp2wtree
wpbmpen
wpcoef
wpcutree
wpdec
wpdec2
wpdencmp
wpfun
wpjoin
wprcoef
wprec
wprec2
wpsplt
wpthcoef
wptree
wpviewcf
wrcoef
wrcoef2
wrev
write
wtbo
wthcoef
wthcoef2
wthresh
wthrmngr
wtreemgr
wvarchg
1D ,
1D
1D
2D
(1D, 2D)
WPTREE
2D
()
WTBO
(1D, 2D)
NTREE
()
87
97
147
97
75
272
254
254
16
255
55
254
175
90
108, 174
176
176
129
73
178
103
120
123
127
126
121
183
159, 194
199
114
148
177
198
208
208
208
208
45
49
49
145
271
39
21
44
119, 184
119, 184
210
210
210
118
300
150
159
254
254
186
254
280
17
17
276
16
16
16
100
173
44
44
254
217
16
30
22
37
22
30
34
38
90
18
97
86
280
17
39
21
17
17
142
253
271
272
271
138
114
n 114
254
254
254
61
35
27
217
217
76
301
32
17
271
271
76
104
31
28
253
74
27
79
28
27
280
89
44
51
52
182
76, 178
52
50
142
44
49
181
181
181
181
182
36
23
29
25
30
30
208
173
17
34
205
lp 205
205
128, 205
1. . .
// , www.matlab.ru.
2. . ., . ., . .
. .: , 2000.
3. . . :
// . 1996. . 166. 11. . 11451170 ( : http://
www.ufn.ru/ufn96/ufn96_11/Russian/r9611a.pdf).
4. . . . .:
, 1976.
5. . ., . . .
.: , 1999.
6. . . .; : , 2001.
7. . ., . ., . . //
. 2001. . 171. 5. . 465501 ( : http://www.ufn.ru/
ufn01/ufn01_5/Russian/r015a.pdf).
8. . ., . , . . Wavelets
. :
, 2000.
9. . ., . .
. .: , 1976.
10. . 1998. 8 (236) ( .
: http://www.computerra.ru/offline/1998/236/).
11. . . : . .:
+, 1999. ( http:/
/gamma.niimm.spb.su/user/dmp/BookNovikov.html).
12. . ., . . //
. 1998. . 53. 6 (324). C. 53128 ( :
http://gamma.niimm.spb.su/user/dmp/Ruspap/Umn.ps.gz).
13. . . : .
: , 1999 ( : http://gamma.niimm.spb.su/
user/dmp/Petukhov/Papers/book.ps.gz).
14. ., .
. .: , 1974.
15. . . ,
//
, , 2002. http://impb.psn.ru/~sychyov.
16. . . .: , 1991.
17. . . . . .: .
, 1984.
18. . . .: , 2001.
303
,
: 123242, , / 20
: post@abook.ru.
(),
; , .
.
Internet: www.abook.ru.
: . (095) 2589194, 2589195;
abook@abook.ru.
. .
.
MATLAB
. .
movchan@dmk.ru
. .
. .
. .
: www.dmkpress.ru