微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从头开始小波,但如何在 python 中反转它

如何解决从头开始小波,但如何在 python 中反转它

我有下面的数据和代码来创建 DWT 小波,但我不知道如何反转它以使其与原始数据对齐。下面的代码可用于创建系数,但后来我坚持将其求反。

我不想使用像 pywavelets 这样的包,而是从头开始。

data = [56,40,8,24,48,16]

def discreteHaarWaveletTransform(x):
    N = len(x)
    output = [0.0]*N

    length = N >> 1
    while True:
        for i in range(0,length):
            summ = x[i * 2] + x[i * 2 + 1]
            difference = x[i * 2] - x[i * 2 + 1]
            output[i] = summ/2
            output[length + i] = difference/2

        if length == 1:
            return output

        #Swap arrays to do next iteration
        x = output[:length << 1]
        length >>= 1

输出:[35.0,-3.0,16.0,10.0,8.0,-8.0,0.0,12.0]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。