44 lines
1003 B
Python
44 lines
1003 B
Python
import math
|
|
import sys
|
|
from typing import Literal
|
|
|
|
from fn_gen import DG2052
|
|
|
|
|
|
N_CYCLES = 500 # Cycles
|
|
AMPLIFICATION = 13/2 # dB
|
|
V_STEPS = 10 # steps
|
|
F_STEPS = 30 # steps
|
|
FREQ_START = 10 # Hz
|
|
FREQ_STOP = 1000 # Hz
|
|
STEP_DURATION = 10 # sec
|
|
|
|
|
|
def abs(x) -> float:
|
|
"""
|
|
Gets the absolute value of the input.
|
|
"""
|
|
return math.sqrt(x * x)
|
|
|
|
|
|
def close_output(fg: DG2052, channel: Literal[1, 2]):
|
|
"""
|
|
Closes the output channel of the function generator.
|
|
"""
|
|
fg.set_output(channel, False)
|
|
fg.close()
|
|
sys.exit(0)
|
|
|
|
|
|
def get_preamplified(amplification: float, post: float) -> float:
|
|
"""
|
|
Calculates the pre amplification value from the amplification and the post amplification value.
|
|
"""
|
|
return post / (10 ** (amplification / 20))
|
|
|
|
def get_postamplified(amplification: float, pre: float) -> float:
|
|
"""
|
|
Calculates the pre amplification value from the amplification and the post amplification value.
|
|
"""
|
|
return pre * (10 ** (amplification / 20))
|