小波变换 wavdec 返回错误大小的矩阵

信息处理 matlab 小波 信号分析 转换
2022-02-10 22:18:23

我对MATLAB 中的wavdec和函数有疑问。dwt

我正在使用wavdec(y,3,db4)大小为 1024 的信号,这意味着我正在尝试计算db4大小为 1024 的信号的第三级变换y如果我正确地考虑了这一点,理论上转换后返回的矩阵也应该是 1024 的大小。

但是,当我执行转换时,我返回的矩阵大小为 1044,比我的原始矩阵大 20 个样本。

有人可以向我解释为什么会这样吗?

1个回答

这是因为默认的边界处理是对称扩展,这需要更多的系数才能实现完美的重建。尝试

dwtmode('per')

使用周期化将表示设置为非冗余。然而,这仅对于输入信号长度是 2^J 的整数倍而言是非冗余的,其中 J 是 wavedec 级别的数量。否则,wavedec 的每一步都会使用非常奇怪的填充。

PS:抱歉回复晚了:)