Compare commits
3 Commits
2e264fb582
...
00f6b11740
Author | SHA1 | Date | |
---|---|---|---|
00f6b11740 | |||
e0491c5917 | |||
9c80091d16 |
BIN
pyrelacs/data
BIN
pyrelacs/data
Binary file not shown.
@ -159,87 +159,7 @@ class Calibration(MccDac):
|
||||
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.disconnect_dac()
|
||||
|
||||
|
||||
def decibel(power, ref_power=1.0, min_power=1e-20):
|
||||
|
@ -36,9 +36,15 @@ class PyRelacs(QMainWindow):
|
||||
Qt.ToolButtonStyle.ToolButtonTextBesideIcon
|
||||
) # Ensure icons are displayed with text
|
||||
self.setWindowTitle("PyRelacs")
|
||||
|
||||
self.beat_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.repros = Repro()
|
||||
|
||||
@ -60,8 +66,8 @@ class PyRelacs(QMainWindow):
|
||||
widget.setLayout(layout)
|
||||
self.setCentralWidget(widget)
|
||||
|
||||
filename = path.joinpath(path.cwd(), "data")
|
||||
self.nix_file = nix.File.open(str(filename), nix.FileMode.Overwrite)
|
||||
filename = path.joinpath(path.cwd(), "data.nix")
|
||||
self.nix_file = nix.File.open(str(filename), nix.FileMode.ReadWrite)
|
||||
|
||||
def create_actions(self):
|
||||
self._rlx_exitaction = QAction(
|
||||
@ -216,15 +222,15 @@ class PyRelacs(QMainWindow):
|
||||
|
||||
f_sq, powerspec_sq = welch(beat_squared, fs=40_000.0)
|
||||
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])
|
||||
self.beat_plot.plot(
|
||||
np.arange(0, len(beat)) / 40_000.0,
|
||||
beat_squared,
|
||||
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")
|
||||
|
||||
def connect_dac(self):
|
||||
|
Loading…
Reference in New Issue
Block a user