我正在对信号进行多级小波分解' 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]。我能做些什么来实现它?
感谢您的帮助:)
答案 0 :(得分:1)
你没有考虑母小波的长度,它会改变卷积后的信号长度。
db4
的长度为8
,
a = randi(10,[240 1]);
[c1, l] = wavedec(a, 3, 'db4');
l =
36
36
65
123
240
但是例如db8
的长度为16
[c1, l] = wavedec(a, 3, 'db8');
l =
43
43
71
127
240
您可以访问这样的小波函数,
[LoD,HiD,LoR,HiR] = wfilters('db8');