- added delay line for pot sim
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
import numpy as np
|
||||
|
||||
|
||||
class Delay:
|
||||
def __init__(self, dt, delay):
|
||||
nd = int(delay/dt + 0.5)
|
||||
self.delay_line = np.zeros(nd)
|
||||
self.ri = 0
|
||||
self.wi = 0
|
||||
|
||||
def put(self, data):
|
||||
if self.wi >= self.delay_line.size:
|
||||
self.wi = 0
|
||||
self.delay_line[self.wi] = data
|
||||
self.wi += 1
|
||||
|
||||
def get(self):
|
||||
self.ri += 1
|
||||
if self.ri >= self.delay_line.size:
|
||||
self.ri = 0
|
||||
|
||||
result = self.delay_line[self.ri]
|
||||
|
||||
return result
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
d = Delay(1, 10)
|
||||
|
||||
for i in range(1, 20):
|
||||
d.put(i)
|
||||
print("In = {}, out = {}".format(i, d.get()))
|
||||
Reference in New Issue
Block a user