Пример #1
0
def subsampler(Ndec, bdec, adec, x, zis):      
    x_dec = x
    
    if zis == None:
        for i in range(Ndec):
            x_dec, zf = decimate(bdec, adec, x_dec)
        return x_dec, None
    else:
        m = 0
        zfs = []
        for i in range(Ndec):
            x_dec, zf = decimate(bdec, adec, x_dec, zi=zis[m])
            m += 1
            # zf can be reused to restart the filter
            zfs += [zf]
        return x_dec, zfs
Пример #2
0
def subsampler(Ndec, bdec, adec, x, zis):      
    x_dec = x

    # FIXME problems when x is smaller than filter coeff

    # do not run on empty arrays, otherwise bad artefacts on the output !!
    if x.size == 0:
        return x, zis
    
    if zis == None:
        for i in range(Ndec):
            x_dec, zf = decimate(bdec, adec, x_dec)
        return x_dec, None
    else:
        zfs = []
        for i, zi in zip(range(Ndec), zis):
            x_dec, zf = decimate(bdec, adec, x_dec, zi=zi)
            # zf can be reused to restart the filter
            zfs += [zf]
        return x_dec, zfs
Пример #3
0
def subsampler(Ndec, bdec, adec, x, zis):
    x_dec = x

    # FIXME problems when x is smaller than filter coeff

    # do not run on empty arrays, otherwise bad artefacts on the output !!
    if x.size == 0:
        return x, zis

    if zis == None:
        for i in range(Ndec):
            x_dec, zf = decimate(bdec, adec, x_dec)
        return x_dec, None
    else:
        zfs = []
        for i, zi in zip(range(Ndec), zis):
            x_dec, zf = decimate(bdec, adec, x_dec, zi=zi)
            # zf can be reused to restart the filter
            zfs += [zf]
        return x_dec, zfs