update 48

This commit is contained in:
Connor Olding 2019-01-02 04:04:21 -08:00
parent 6c1f0a4f3a
commit 7d1bf429ba
4 changed files with 8 additions and 16 deletions

View file

@ -79,7 +79,7 @@ def BS_plot(ys, g10=None, g70=None, threshold=None, fig=None, ax=None):
def normalize(s, srate):
"""performs BS.1770-3 normalization and returns inverted gain."""
"""performs BS.1770-3 normalization and returns reciprocal gain."""
db = BS1770_3(s, srate)
rms = 10**(db/20)
return s/rms, rms

View file

@ -1,5 +1,3 @@
from . import rfft
import numpy as np
import scipy.signal as sig
@ -30,7 +28,7 @@ def magnitudes(s, size=8192):
count = 0
for i in range(0, L - 1, int(step)):
windowed = s[i:i+win_size]*win
power = np.abs(rfft(windowed, size))**2
power = np.abs(np.fft.rfft(windowed, 2 * size))**2
# this scraps the nyquist value to get exactly 'size' outputs
yield power[0:size]
count += 1

View file

@ -36,19 +36,17 @@ def warp(w):
def ceil2(x):
return np.power(2, np.ceil(np.log2(x)).astype(int))
x = int(x)
assert x > 0
return 2**(x - 1).bit_length()
def pad2(x):
return np.r_[x, np.zeros(ceil2(len(x)) - len(x))]
def rfft(src, size):
return np.fft.rfft(src, size*2)
return np.r_[x, np.zeros(ceil2(len(x)) - len(x), x.dtype)]
def magnitude(src, size):
return 10*np.log10(np.abs(rfft(src, size))**2)[0:size]
return 10*np.log10(np.abs(np.fft.rfft(src, 2 * size))**2)[0:size]
# x axis for plotting above magnitude
@ -70,7 +68,7 @@ def xsp(precision=4096):
def blocks(a, step, size=None):
"""break an iterable into chunks"""
"""break an array into chunks"""
if size is None:
size = step
for start in range(0, len(a), step):

View file

@ -97,7 +97,3 @@ def welch(N):
@_deco_win
def sinc(N):
return np.sinc((np.arange(N) - (N - 1)/2)/2)
def winmod(f):
return lambda N: f(N + 2)[1:-1]