Пример #1
0
def wd(x):
    N = len(x)
    x_ = x.conj()
    WD = []
    for n in range(len(x)):
        WD.append(fft(h.subset(x, n, N) * h.subset(x_, n, N)[::-1]))
        #WD.append(fft(h.subset(x, n, N, padding='circular')*h.subset(x_, n, N, padding='circular')))
    WD = array(WD).transpose()
    return WD
Пример #2
0
def wd(x):
    N = len(x)
    x_ = x.conj()
    WD = []
    for n in range(len(x)):
        WD.append(fft(h.subset(x, n, N)*h.subset(x_, n, N)[::-1]))
        #WD.append(fft(h.subset(x, n, N, padding='circular')*h.subset(x_, n, N, padding='circular')))
    WD = array(WD).transpose()
    return WD
Пример #3
0
def pwd(x, w):
    N = len(x)
    w = h.zeropad(w, N)
    w_ = w[::-1].conj()
    X_pwd = []
    points = range(0, N)
    for i in points:
        x_subset = h.subset(x, i, N)
        fft_subset = fft(w * w_ * x_subset * x_subset[::-1].conj())
        X_pwd.append(fft_subset)
    X_pwd = array(X_pwd).transpose()
    return X_pwd
Пример #4
0
def stft(x, w, L=None):
    # L is the overlap, see http://cnx.org/content/m10570/latest/
    N = len(x)
    T = len(w)
    if L is None:
        L = N
    X_stft = []
    points = range(0, N, N//L)
    for i in points:
        x_subset = h.subset(x, i, T)
        fft_subset = rfft(x_subset * w)
        X_stft.append(fft_subset)
    X_stft = array(X_stft).transpose()
    return X_stft
Пример #5
0
def stft(x, w, L=None):
    # L is the overlap, see http://cnx.org/content/m10570/latest/
    N = len(x)
    #T = len(w)
    if L is None:
        L = N
    # Zero pad the window
    w = h.zeropad(w, N)
    X_stft = []
    points = range(0, N, N // L)
    for i in points:
        x_subset = h.subset(x, i, N)
        fft_subset = fft(x_subset * w)
        X_stft.append(fft_subset)
    X_stft = array(X_stft).transpose()
    return X_stft