- fixed delay

This commit is contained in:
jens
2020-12-21 16:05:54 +01:00
parent 972e447897
commit 3a8f61b7b2
+4 -5
View File
@@ -4,15 +4,15 @@ import numpy as np
class Delay: class Delay:
def __init__(self, dt, delay): def __init__(self, dt, delay):
nd = int(delay/dt + 0.5) nd = int(delay/dt + 0.5)
self.delay_line = np.zeros(nd) self.delay_line = np.zeros(nd+1)
self.ri = 0 self.ri = 0
self.wi = 0 self.wi = 0
def put(self, data): def put(self, data):
if self.wi >= self.delay_line.size:
self.wi = 0
self.delay_line[self.wi] = data self.delay_line[self.wi] = data
self.wi += 1 self.wi += 1
if self.wi >= self.delay_line.size:
self.wi = 0
def get(self): def get(self):
self.ri += 1 self.ri += 1
@@ -20,12 +20,11 @@ class Delay:
self.ri = 0 self.ri = 0
result = self.delay_line[self.ri] result = self.delay_line[self.ri]
return result return result
if __name__ == '__main__': if __name__ == '__main__':
d = Delay(1, 10) d = Delay(1, 1)
for i in range(1, 20): for i in range(1, 20):
d.put(i) d.put(i)