def OC(Window_Type, percent, *args, **kwargs): # See: http://www.recordingblogs.com/sa/tabid/88/Default.aspx?topic=Overlap+correlation r = percent/100 N = 1024 if kwargs == {}: if Window_Type == "coswind": dummy, w = Window.coswind(N) elif Window_Type == "gausswind": dummy, w = Window.gausswind(N) elif Window_Type == "gengausswind": if len(args) == 2: dummy, w = Window.gengausswind(N, args[1], args[2]) else: raise("2 Adidional args are needed but not given") elif Window_Type == "genhamwind": if len(args) == 2: dummy, w = Window.genhamwind(N, args[1], args[2]) else: raise("2 Adidional args are needed but not given") elif Window_Type == "hamwind": dummy, w = Window.hamwind(N) elif Window_Type == "hanwind": dummy, w = Window.hanwind(N) elif Window_Type == "partzwind": dummy, w = Window.partzwind(N) elif Window_Type == "rectwind": dummy, w = Window.rectwind(N) elif Window_Type == "triwind": dummy, w = Window.triwind(N) elif Window_Type == "Tukeywind": dummy, w = Window.Tukeywind(N) elif kwargs['WindowSet'] == 'window': w = Window_Type else: (dummy, w) = Window.hanwind(N) oc_num = [] for idx in range(int(r * len(w))): oc_num = np.append(oc_num, w[idx] * w[idx + (1 - r) * len(w)]) oc = oc_num.sum() / np.sum(w ** 2) return (oc)
def OC(Window_Type, percent, *args, **kwargs): # See: http://www.recordingblogs.com/sa/tabid/88/Default.aspx?topic=Overlap+correlation r = percent / 100 N = 1024 if kwargs == {}: if Window_Type == "coswind": dummy, w = Window.coswind(N) elif Window_Type == "gausswind": dummy, w = Window.gausswind(N) elif Window_Type == "gengausswind": if len(args) == 2: dummy, w = Window.gengausswind(N, args[1], args[2]) else: raise TypeError("2 Adidional args are needed but not given") elif Window_Type == "genhamwind": if len(args) == 2: dummy, w = Window.genhamwind(N, args[1], args[2]) else: raise TypeError("2 Adidional args are needed but not given") elif Window_Type == "hamwind": dummy, w = Window.hamwind(N) elif Window_Type == "hanwind": dummy, w = Window.hanwind(N) elif Window_Type == "partzwind": dummy, w = Window.partzwind(N) elif Window_Type == "rectwind": dummy, w = Window.rectwind(N) elif Window_Type == "triwind": dummy, w = Window.triwind(N) elif Window_Type == "Tukeywind": dummy, w = Window.Tukeywind(N) elif kwargs['WindowSet'] == 'window': w = Window_Type else: (dummy, w) = Window.hanwind(N) oc_num = [] for idx in range(int(r * len(w))): oc_num = np.append(oc_num, w[idx] * w[idx + (1 - r) * len(w)]) oc = oc_num.sum() / np.sum(w**2) return (oc)