DeaD_EyE icon

IIRLowPassShift

DeaD_EyE | PRO | 02/14/26 09:32:26 PM UTC | 0 ⭐ | 12934 👁️ | Never ⏰ | []
Python |

550 B

|

None

|

0 👍

/

0 👎

import random
import time
 
 
class IIRLowPassShift:
    def __init__(self, shift: int, initial: int=0):
        self.shift = shift
        self.y = initial
 
    def update(self, x):
        self.y = self.y + ((x - self.y) >> self.shift)
        return self.y
 
iirs = IIRLowPassShift(2)
real_value = 1023
error = (real_value - 12, real_value + 12)
 
for i in range(64):
    r = random.randint(error[0], error[1])
    v = iirs.update(r)
    v /= 1023.0
    v *= 10.0
    print(f"STEP:{i+1:02} | R:{r:03d} | {v:>5.02f} V")
    time.sleep(0.1)

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎