diff options
Diffstat (limited to 'lab_control/frequency_response.py')
-rw-r--r-- | lab_control/frequency_response.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lab_control/frequency_response.py b/lab_control/frequency_response.py new file mode 100644 index 0000000..ca2002e --- /dev/null +++ b/lab_control/frequency_response.py @@ -0,0 +1,25 @@ +from lab_control.function_generator import FunctionGenerator +from lab_control.oscilloscope import Oscilloscope + +class FrequencyResponseMeasurement: + def __init__(self): + self.minFrequency = None + self.maxFrequency = None + self.steps = None + self.functionGeneratorChannel = None + self.oscilloscopeChannel = None + self.measurementDone = False + self.data = None + + def measure(self, osc: Oscilloscope, fg: FunctionGenerator) -> None: + frequencyRange = self.maxFrequency - self.minFrequency + self.data = [] + + for i in range(0, self.steps): + frequency = self.minFrequency + i * frequencyRange / (self.steps - 1) + fg.setFrequency(self.functionGeneratorChannel, frequency) + response = osc.measureAmplitude(self.oscilloscopeChannel) + self.data.append((frequency, response)) + + self.measurementDone = True + |