docs: def run(self):
          """
          this is the actual execution of the instrument thread: continuously read values from the probes
          """
  
          eta = self.settings['noise_strength']
          gamma = 2 * np.pi * self.settings['noise_bandwidth']
          dt = 1. / self.settings['update frequency']
          control = self.settings['control']
  
          self._state = self._output
          while self._stop is False:
  
              A = -gamma * dt
  
              noise = np.sqrt(2*gamma*eta)*np.random.randn()
              self._state *= (1. + A)
              self._state += noise + control
              self._output =  self._state
  
              self.msleep(int(1e3 / self.settings['update frequency']))