1

を使用して、信号「price1」のマルチレベルウェーブレット分解を行っていました

 [c1, l] = wavedec(price1, 3, 'db4');

price1 のサイズは次のとおりです。

size(price1) =

   240     1

得られたウェーブレット分解のサイズ、つまり長さ l は次のとおりです。

l =

    36
    36
    65
   123
   240

私は初心者で、サイズは次のようにすべきだと思います。

l =

    30
    30
    60
   120
   240

サイズが信号サイズの半分ではない理由を理解できませんか? これは、内部で何らかのパディングが行われているのでしょうか? そして、サイズを [30; のように半分にしたいです。30; 60; 120; 240]。それを達成するために何ができますか?

ご協力いただきありがとうございます :)

4

1 に答える 1

1

畳み込み後に信号の長さを変更するマザーウェーブレットの長さを考慮していません。

db4の長さは8

 a = randi(10,[240 1]);
 [c1, l] = wavedec(a, 3, 'db4');

l =
36
36
65
123
240

しかし、例えばdb816

[c1, l] = wavedec(a, 3, 'db8');

l =
43
43
71
127
240

次のようなウェーブレット関数にアクセスできます。

[LoD,HiD,LoR,HiR] = wfilters('db8');
于 2014-11-03T12:32:10.853 に答える