Updated observers and Kalman Filter, added running average

This commit is contained in:
dario
2024-04-19 10:52:34 +02:00
committed by dario
parent dedd445470
commit 88008d9718
21 changed files with 20865 additions and 3544 deletions

View File

@@ -10,14 +10,17 @@ from spatz.transforms import Transform
class PressureSensor(Sensor):
def __init__(self, dataset: Dataset, logger: Logger, transforms: List[Transform] = [], ts_effects=True):
"""
def __init__(self, dataset: Dataset, logger: Logger, transforms: List[Transform] = [], ts_effects=True, delay=0.0):
"""_summary_
Args:
dataset (Dataset): A dataset instance.
logger (Logger): _description_
transforms (List[Transform], optional): Transforms to apply to the sensor outputs. Defaults to [].
ts_effects (bool, optional): If True, models transsonic effects. Defaults to True.
ts_effects (bool, optional): If True, adds transsonic effects using a very simple model. Defaults to True.
delay (float, optional): Adds a delay to the pressure measurements. Defaults to 0.0.
"""
super(PressureSensor, self).__init__(dataset, logger, transforms)
super(PressureSensor, self).__init__(dataset, logger, transforms, min_value=0)
self._ts_effects = ts_effects

View File

@@ -11,10 +11,12 @@ from spatz.dataset import *
class Sensor:
def __init__(self, dataset: Dataset, logger: Logger, transforms: List[Transform] = []):
def __init__(self, dataset: Dataset, logger: Logger, transforms: List[Transform] = [], min_value=-np.inf, max_value=np.inf):
self._dataset = dataset
self._logger = logger
self._transforms = transforms
self._min_value = min_value
self._max_value = max_value
def set_dataset(self, dataset: Dataset):
self._dataset = dataset
@@ -52,6 +54,8 @@ class Sensor:
for transform in self._transforms:
out = transform(t, out)
out = np.clip(out, self._min_value, self._max_value)
# Log the outputs of the sensor.
if np.isscalar(out):
self._log('out', out)