nielsnielsniels

Untitled

May 16th, 2023
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.66 KB | None | 0 0
  1. n = self.get_max_ir_len()
  2.  
  3. if fs is not None:
  4. x = np.arange(0, n) / fs
  5. else:
  6. x = np.arange(0, n)
  7.  
  8. impulse_response = np.zeros(n)
  9. impulse_response[0] = 1
  10.  
  11. M = len(self.b)
  12. N = len(self.a)
  13.  
  14. # Apply the filter operation
  15. for i in range(n):
  16. y = 0
  17. for k in range(M):
  18. if i - k >= 0:
  19. y += self.b[k] * x[i - k]
  20.  
  21. for k in range(N):
  22. if i - k >= 0:
  23. y += self.a[k] * impulse_response[i - k]
  24. impulse_response[i] = y
  25. return x, impulse_response
Advertisement
Add Comment
Please, Sign In to add comment