mirror of
https://github.com/nqrduck/nqrduck-spectrometer-simulator.git
synced 2024-12-30 11:18:07 +00:00
Added Q Factor and Conversion Factor.
This commit is contained in:
parent
75c30719fa
commit
e9326c7590
2 changed files with 27 additions and 8 deletions
|
@ -30,7 +30,7 @@ class SimulatorController(BaseSpectrometerController):
|
|||
|
||||
simulation = self.get_simulation(sample, pulse_array)
|
||||
|
||||
result = simulation.simulate() * 1/1622137.746
|
||||
result = simulation.simulate()
|
||||
|
||||
tdx = (
|
||||
np.linspace(0, float(self.calculate_simulation_length()), len(result)) * 1e6
|
||||
|
@ -41,11 +41,11 @@ class SimulatorController(BaseSpectrometerController):
|
|||
if rx_begin and rx_stop:
|
||||
evidx = np.where((tdx > rx_begin) & (tdx < rx_stop))[0]
|
||||
tdx = tdx[evidx]
|
||||
result = result[evidx]
|
||||
result = result[evidx] * 1e-2 # Unit correction
|
||||
|
||||
measurement_data = Measurement(
|
||||
tdx,
|
||||
result,
|
||||
result / simulation.averages,
|
||||
sample.resonant_frequency,
|
||||
# frequency_shift=self.module.model.if_frequency,
|
||||
)
|
||||
|
@ -214,6 +214,12 @@ class SimulatorController(BaseSpectrometerController):
|
|||
length_coil=float(model.get_setting_by_name(model.LENGTH_COIL).value),
|
||||
diameter_coil=float(model.get_setting_by_name(model.DIAMETER_COIL).value),
|
||||
number_turns=float(model.get_setting_by_name(model.NUMBER_TURNS).value),
|
||||
q_factor_transmitt=float(
|
||||
model.get_setting_by_name(model.Q_FACTOR_TRANSMITT).value
|
||||
),
|
||||
q_factor_receive=float(
|
||||
model.get_setting_by_name(model.Q_FACTOR_RECEIVE).value
|
||||
),
|
||||
power_amplifier_power=float(
|
||||
model.get_setting_by_name(model.POWER_AMPLIFIER_POWER).value
|
||||
),
|
||||
|
@ -222,6 +228,9 @@ class SimulatorController(BaseSpectrometerController):
|
|||
averages=int(model.averages),
|
||||
loss_TX=float(model.get_setting_by_name(model.LOSS_TX).value),
|
||||
loss_RX=float(model.get_setting_by_name(model.LOSS_RX).value),
|
||||
conversion_factor=float(
|
||||
model.get_setting_by_name(model.CONVERSION_FACTOR).value
|
||||
),
|
||||
)
|
||||
return simulation
|
||||
|
||||
|
|
|
@ -12,15 +12,20 @@ class SimulatorModel(BaseSpectrometerModel):
|
|||
INITIAL_MAGNETIZATION = "Initial magnetization"
|
||||
GRADIENT = "Gradient (mT/m))"
|
||||
NOISE = "Noise (uV)"
|
||||
|
||||
# Hardware settings
|
||||
LENGTH_COIL = "Length coil (m)"
|
||||
DIAMETER_COIL = "Diameter coil (m)"
|
||||
NUMBER_TURNS = "Number turns"
|
||||
Q_FACTOR_TRANSMITT = "Q factor Transmitt"
|
||||
Q_FACTOR_RECEIVE = "Q factor Receive"
|
||||
POWER_AMPLIFIER_POWER = "PA power (W)"
|
||||
GAIN = "Gain"
|
||||
TEMPERATURE = "Temperature (K)"
|
||||
AVERAGES = "Averages"
|
||||
LOSS_TX = "Loss TX (dB)"
|
||||
LOSS_RX = "Loss RX (dB)"
|
||||
CONVERSION_FACTOR = "Conversion factor"
|
||||
|
||||
# Sample settinggs, this will be done in a seperate module later on
|
||||
NAME = "Name"
|
||||
|
@ -56,7 +61,7 @@ class SimulatorModel(BaseSpectrometerModel):
|
|||
# Simulation settings
|
||||
self.add_setting(
|
||||
self.NUMBER_POINTS,
|
||||
1024,
|
||||
4096,
|
||||
"Number of points used for the simulation. This influences the dwell time in combination with the total event simulation given by the pulse sequence. ",
|
||||
self.SIMULATION,
|
||||
)
|
||||
|
@ -67,19 +72,24 @@ class SimulatorModel(BaseSpectrometerModel):
|
|||
self.INITIAL_MAGNETIZATION, 1, "Initial magnetization", self.SIMULATION
|
||||
)
|
||||
self.add_setting(self.GRADIENT, 1, "Gradient", self.SIMULATION)
|
||||
self.add_setting(self.NOISE, 2000, "Noise", self.SIMULATION)
|
||||
self.add_setting(self.NOISE, 2, "Noise", self.SIMULATION)
|
||||
self.add_setting(self.LENGTH_COIL, 6e-3, "Length coil", self.HARDWARE)
|
||||
self.add_setting(self.DIAMETER_COIL, 3e-3, "Diameter coil", self.HARDWARE)
|
||||
self.add_setting(self.NUMBER_TURNS, 9, "Number turns", self.HARDWARE)
|
||||
self.add_setting(self.Q_FACTOR_TRANSMITT, 100, "Q factor Transmitt", self.HARDWARE)
|
||||
self.add_setting(self.Q_FACTOR_RECEIVE, 100, "Q factor Receive", self.HARDWARE)
|
||||
self.add_setting(
|
||||
self.POWER_AMPLIFIER_POWER, 500, "Power amplifier power", self.HARDWARE
|
||||
self.POWER_AMPLIFIER_POWER, 110, "Power amplifier power", self.HARDWARE
|
||||
)
|
||||
self.add_setting(
|
||||
self.GAIN, 6000, "Gain of the complete measurement chain", self.HARDWARE
|
||||
)
|
||||
self.add_setting(self.TEMPERATURE, 300, "Temperature", self.EXPERIMENTAL_Setup)
|
||||
self.add_setting(self.LOSS_TX, 12, "Loss TX", self.EXPERIMENTAL_Setup)
|
||||
self.add_setting(self.LOSS_RX, 12, "Loss RX", self.EXPERIMENTAL_Setup)
|
||||
self.add_setting(self.LOSS_TX, 30, "Loss TX", self.EXPERIMENTAL_Setup)
|
||||
self.add_setting(self.LOSS_RX, 30, "Loss RX", self.EXPERIMENTAL_Setup)
|
||||
self.add_setting(
|
||||
self.CONVERSION_FACTOR, 2884, "Conversion factor (spectrometer units / V)", self.EXPERIMENTAL_Setup
|
||||
) # Conversion factor for the LimeSDR based spectrometer
|
||||
|
||||
# Sample settings
|
||||
self.add_setting(self.NAME, "BiPh3", "Name", self.SAMPLE)
|
||||
|
|
Loading…
Reference in a new issue