Marker readout of S21 phase angle

pull/12/head
Rune B. Broberg 2019-09-07 22:44:24 +02:00
rodzic de00ac898c
commit 62984beb4a
2 zmienionych plików z 16 dodań i 4 usunięć

Wyświetl plik

@ -173,7 +173,7 @@ class PhaseChart(Chart):
qp.setPen(pen)
for i in range(len(self.data)):
angle = self.angle(self.data[i])
angle = -self.angle(self.data[i])
x = self.leftMargin + 1 + round(self.chartWidth/len(self.data) * i)
y = 30 + round((angle-minAngle)/span*(self.chartHeight-10))
qp.drawPoint(int(x), int(y))
@ -189,7 +189,7 @@ class PhaseChart(Chart):
for i in range(len(self.reference)):
if self.reference[i].freq < fstart or self.reference[i].freq > fstop:
continue
angle = self.angle(self.reference[i])
angle = -self.angle(self.reference[i])
x = self.leftMargin + 1 + round(self.chartWidth*(self.reference[i].freq - fstart)/fspan)
y = 30 + round((angle-minAngle)/span*(self.chartHeight-10))
qp.drawPoint(int(x), int(y))
@ -205,7 +205,7 @@ class PhaseChart(Chart):
if m.location != -1:
highlighter.setColor(m.color)
qp.setPen(highlighter)
angle = self.angle(self.data[m.location])
angle = -self.angle(self.data[m.location])
x = self.leftMargin + 1 + round(self.chartWidth/len(self.data) * m.location)
y = 30 + round((angle - minAngle) / span * (self.chartHeight - 10))
qp.drawLine(int(x), int(y) + 3, int(x) - 3, int(y) - 3)
@ -238,7 +238,7 @@ class PhaseChart(Chart):
def angle(d: Datapoint) -> float:
re = d.re
im = d.im
return math.degrees(math.atan2(im, re))
return -math.degrees(math.atan2(im, re))
class VSWRChart(Chart):

Wyświetl plik

@ -206,6 +206,8 @@ class NanoVNASaver(QtWidgets.QWidget):
marker1_box_layout.addRow(QtWidgets.QLabel("Reactance:"), self.marker1_reactance_label)
self.marker1_gain_label = QtWidgets.QLabel("")
marker1_box_layout.addRow(QtWidgets.QLabel("S21 Gain:"), self.marker1_gain_label)
self.marker1_phase_label = QtWidgets.QLabel("")
marker1_box_layout.addRow(QtWidgets.QLabel("S21 Phase:"), self.marker1_phase_label)
marker2_box = QtWidgets.QGroupBox("Marker 2")
marker2_box_layout = QtWidgets.QFormLayout(marker2_box)
@ -222,6 +224,8 @@ class NanoVNASaver(QtWidgets.QWidget):
marker2_box_layout.addRow(QtWidgets.QLabel("Reactance:"), self.marker2_reactance_label)
self.marker2_gain_label = QtWidgets.QLabel("")
marker2_box_layout.addRow(QtWidgets.QLabel("S21 Gain:"), self.marker2_gain_label)
self.marker2_phase_label = QtWidgets.QLabel("")
marker2_box_layout.addRow(QtWidgets.QLabel("S21 Phase:"), self.marker2_phase_label)
mousemarker_box = QtWidgets.QGroupBox("Mouse marker")
mousemarker_box_layout = QtWidgets.QFormLayout(mousemarker_box)
@ -238,6 +242,8 @@ class NanoVNASaver(QtWidgets.QWidget):
mousemarker_box_layout.addRow(QtWidgets.QLabel("Reactance:"), self.mousemarker_reactance_label)
self.mousemarker_gain_label = QtWidgets.QLabel("")
mousemarker_box_layout.addRow(QtWidgets.QLabel("S21 Gain:"), self.mousemarker_gain_label)
self.mousemarker_phase_label = QtWidgets.QLabel("")
mousemarker_box_layout.addRow(QtWidgets.QLabel("S21 Phase:"), self.mousemarker_phase_label)
################################################################################################################
# Statistics/analysis
@ -645,16 +651,19 @@ class NanoVNASaver(QtWidgets.QWidget):
self.marker1_returnloss_label.setText("")
self.marker1_reactance_label.setText("")
self.marker1_gain_label.setText("")
self.marker1_phase_label.setText("")
self.marker2_impedance_label.setText("")
self.marker2_vswr_label.setText("")
self.marker2_returnloss_label.setText("")
self.marker2_reactance_label.setText("")
self.marker2_gain_label.setText("")
self.marker2_phase_label.setText("")
self.mousemarker_impedance_label.setText("")
self.mousemarker_vswr_label.setText("")
self.mousemarker_returnloss_label.setText("")
self.mousemarker_reactance_label.setText("")
self.mousemarker_gain_label.setText("")
self.mousemarker_phase_label.setText("")
self.s11_min_rl_label.setText("")
self.s11_min_swr_label.setText("")
self.s21_min_gain_label.setText("")
@ -736,6 +745,7 @@ class NanoVNASaver(QtWidgets.QWidget):
if len(self.data21) == len(self.data):
_, _, vswr = self.vswr(self.data21[self.markers[0].location])
self.mousemarker_gain_label.setText(str(round(20*math.log10((vswr-1)/(vswr+1)), 3)) + " dB")
self.mousemarker_phase_label.setText(str(round(PhaseChart.angle(self.data21[self.markers[0].location]), 2)) + "\N{DEGREE SIGN}")
if self.markers[1].location != -1:
im50, re50, vswr = self.vswr(self.data[self.markers[1].location])
if im50 < 0:
@ -750,6 +760,7 @@ class NanoVNASaver(QtWidgets.QWidget):
if len(self.data21) == len(self.data):
_, _, vswr = self.vswr(self.data21[self.markers[1].location])
self.marker1_gain_label.setText(str(round(20*math.log10((vswr-1)/(vswr+1)), 3)) + " dB")
self.marker1_phase_label.setText(str(round(PhaseChart.angle(self.data21[self.markers[1].location]), 2)) + "\N{DEGREE SIGN}")
if self.markers[2].location != -1:
im50, re50, vswr = self.vswr(self.data[self.markers[2].location])
@ -765,6 +776,7 @@ class NanoVNASaver(QtWidgets.QWidget):
if len(self.data21) == len(self.data):
_, _, vswr = self.vswr(self.data21[self.markers[2].location])
self.marker2_gain_label.setText(str(round(20*math.log10((vswr-1)/(vswr+1)), 3)) + " dB")
self.marker2_phase_label.setText(str(round(PhaseChart.angle(self.data21[self.markers[2].location]), 2)) + "\N{DEGREE SIGN}")
for c in self.s11charts:
c.setData(self.data)