Compare commits

..

3 Commits

3 changed files with 11 additions and 85 deletions

Binary file not shown.

View File

@ -159,87 +159,7 @@ class Calibration(MccDac):
unit="s", unit="s",
) )
beat = channel1 + channel2
beat_square = beat**2
f, powerspec = welch(beat, fs=self.SAMPLERATE)
powerspec = decibel(powerspec)
f_sq, powerspec_sq = welch(beat_square, fs=self.SAMPLERATE)
powerspec_sq = decibel(powerspec_sq)
peaks = find_peaks(powerspec_sq, prominence=20)[0]
f_stim, powerspec_stim = welch(channel1, fs=self.SAMPLERATE)
powerspec_stim = decibel(powerspec_stim)
f_in, powerspec_in = welch(channel2, fs=self.SAMPLERATE)
powerspec_in = decibel(powerspec_in)
# axes[0, 0].plot(
# t,
# channel1,
# label=f"{db_value} Readout Channel0",
# color=colors[i],
# )
# axes[0, 0].plot(
# t,
# channel2,
# label=f"{db_value} Readout Channel1",
# color=colors_in[i],
# )
#
# axes[0, 1].plot(
# f_stim,
# powerspec_stim,
# label=f"{db_value} powerspec Channel0",
# color=colors[i],
# )
# axes[0, 1].plot(
# f_in,
# powerspec_in,
# label=f"{db_value} powerspec Channel2",
# color=colors_in[i],
# )
# axes[0, 1].set_xlabel("Freq [HZ]")
# axes[0, 1].set_ylabel("dB")
#
# axes[1, 0].plot(
# t,
# beat,
# label="Beat",
# color=colors[i],
# )
# axes[1, 0].plot(
# t,
# beat**2,
# label="Beat squared",
# color=colors_in[i],
# )
# axes[1, 0].legend()
#
# axes[1, 1].plot(
# f,
# powerspec,
# color=colors[i],
# )
# axes[1, 1].plot(
# f_sq,
# powerspec_sq,
# color=colors_in[i],
# label=f"dB {db_value}, first peak {np.min(f_sq[peaks])}",
# )
# axes[1, 1].scatter(
# f_sq[peaks],
# powerspec_sq[peaks],
# color="maroon",
# )
# axes[1, 1].set_xlabel("Freq [HZ]")
# axes[1, 1].set_ylabel("dB")
# axes[0, 0].legend()
# axes[1, 1].legend()
# plt.show()
self.set_analog_to_zero() self.set_analog_to_zero()
self.disconnect_dac()
def decibel(power, ref_power=1.0, min_power=1e-20): def decibel(power, ref_power=1.0, min_power=1e-20):

View File

@ -36,9 +36,15 @@ class PyRelacs(QMainWindow):
Qt.ToolButtonStyle.ToolButtonTextBesideIcon Qt.ToolButtonStyle.ToolButtonTextBesideIcon
) # Ensure icons are displayed with text ) # Ensure icons are displayed with text
self.setWindowTitle("PyRelacs") self.setWindowTitle("PyRelacs")
self.beat_plot = pg.PlotWidget() self.beat_plot = pg.PlotWidget()
self.power_plot = pg.PlotWidget() self.power_plot = pg.PlotWidget()
self.beat_plot.addLegend()
self.power_plot.addLegend()
self.beat_plot.setBackground("w")
self.power_plot.setBackground("w")
self.threadpool = QThreadPool() self.threadpool = QThreadPool()
self.repros = Repro() self.repros = Repro()
@ -60,8 +66,8 @@ class PyRelacs(QMainWindow):
widget.setLayout(layout) widget.setLayout(layout)
self.setCentralWidget(widget) self.setCentralWidget(widget)
filename = path.joinpath(path.cwd(), "data") filename = path.joinpath(path.cwd(), "data.nix")
self.nix_file = nix.File.open(str(filename), nix.FileMode.Overwrite) self.nix_file = nix.File.open(str(filename), nix.FileMode.ReadWrite)
def create_actions(self): def create_actions(self):
self._rlx_exitaction = QAction( self._rlx_exitaction = QAction(
@ -216,15 +222,15 @@ class PyRelacs(QMainWindow):
f_sq, powerspec_sq = welch(beat_squared, fs=40_000.0) f_sq, powerspec_sq = welch(beat_squared, fs=40_000.0)
powerspec_sq = decibel(powerspec_sq) powerspec_sq = decibel(powerspec_sq)
peaks = find_peaks(powerspec_sq, prominence=20)[0] peaks = find_peaks(powerspec_sq, prominence=10)[0]
pen = pg.mkPen(colors[i]) pen = pg.mkPen(colors[i])
self.beat_plot.plot( self.beat_plot.plot(
np.arange(0, len(beat)) / 40_000.0, np.arange(0, len(beat)) / 40_000.0,
beat_squared, beat_squared,
pen=pen, pen=pen,
# name=stim.name, name=stim.name,
) )
self.power_plot.plot(f_sq, powerspec_sq, pen=pen) self.power_plot.plot(f_sq, powerspec_sq, pen=pen, name=stim.name)
self.power_plot.plot(f[peaks], powerspec_sq[peaks], pen=None, symbol="x") self.power_plot.plot(f[peaks], powerspec_sq[peaks], pen=None, symbol="x")
def connect_dac(self): def connect_dac(self):