Additional option "impulse response magnitude" for time domain graph
This commit is contained in:
parent
f3b6cffa68
commit
12ce07a970
@ -17,7 +17,8 @@ const set<TraceXYPlot::YAxisType> TraceXYPlot::YAxisTypes = {TraceXYPlot::YAxisT
|
|||||||
TraceXYPlot::YAxisType::Magnitude,
|
TraceXYPlot::YAxisType::Magnitude,
|
||||||
TraceXYPlot::YAxisType::Phase,
|
TraceXYPlot::YAxisType::Phase,
|
||||||
TraceXYPlot::YAxisType::VSWR,
|
TraceXYPlot::YAxisType::VSWR,
|
||||||
TraceXYPlot::YAxisType::Impulse,
|
TraceXYPlot::YAxisType::ImpulseReal,
|
||||||
|
TraceXYPlot::YAxisType::ImpulseMag,
|
||||||
TraceXYPlot::YAxisType::Step,
|
TraceXYPlot::YAxisType::Step,
|
||||||
TraceXYPlot::YAxisType::Impedance};
|
TraceXYPlot::YAxisType::Impedance};
|
||||||
|
|
||||||
@ -185,7 +186,8 @@ void TraceXYPlot::fromJSON(nlohmann::json j)
|
|||||||
bool TraceXYPlot::isTDRtype(TraceXYPlot::YAxisType type)
|
bool TraceXYPlot::isTDRtype(TraceXYPlot::YAxisType type)
|
||||||
{
|
{
|
||||||
switch(type) {
|
switch(type) {
|
||||||
case YAxisType::Impulse:
|
case YAxisType::ImpulseReal:
|
||||||
|
case YAxisType::ImpulseMag:
|
||||||
case YAxisType::Step:
|
case YAxisType::Step:
|
||||||
case YAxisType::Impedance:
|
case YAxisType::Impedance:
|
||||||
return true;
|
return true;
|
||||||
@ -357,17 +359,8 @@ void TraceXYPlot::draw(QPainter &p)
|
|||||||
if(YAxis[i].type == YAxisType::Disabled) {
|
if(YAxis[i].type == YAxisType::Disabled) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
QString labelY;
|
QString labelY = AxisTypeToName(YAxis[i].type);
|
||||||
p.setPen(QPen(pref.General.graphColors.axis, 1));
|
p.setPen(QPen(pref.General.graphColors.axis, 1));
|
||||||
switch(YAxis[i].type) {
|
|
||||||
case YAxisType::Magnitude: labelY = "Magnitude"; break;
|
|
||||||
case YAxisType::Phase: labelY = "Phase"; break;
|
|
||||||
case YAxisType::VSWR: labelY = "VSWR"; break;
|
|
||||||
case YAxisType::Impulse: labelY = "Impulse Response"; break;
|
|
||||||
case YAxisType::Step: labelY = "Step Response"; break;
|
|
||||||
case YAxisType::Impedance: labelY = "Impedance"; break;
|
|
||||||
default: break;
|
|
||||||
}
|
|
||||||
auto xStart = i == 0 ? 0 : w.width() - AxisLabelSize * 1.5;
|
auto xStart = i == 0 ? 0 : w.width() - AxisLabelSize * 1.5;
|
||||||
p.save();
|
p.save();
|
||||||
p.translate(xStart, w.height()-xAxisSpace);
|
p.translate(xStart, w.height()-xAxisSpace);
|
||||||
@ -663,11 +656,14 @@ void TraceXYPlot::updateAxisTicks()
|
|||||||
QString TraceXYPlot::AxisTypeToName(TraceXYPlot::YAxisType type)
|
QString TraceXYPlot::AxisTypeToName(TraceXYPlot::YAxisType type)
|
||||||
{
|
{
|
||||||
switch(type) {
|
switch(type) {
|
||||||
case YAxisType::Disabled: return "Disabled"; break;
|
|
||||||
case YAxisType::Magnitude: return "Magnitude"; break;
|
case YAxisType::Magnitude: return "Magnitude"; break;
|
||||||
case YAxisType::Phase: return "Phase"; break;
|
case YAxisType::Phase: return "Phase"; break;
|
||||||
case YAxisType::VSWR: return "VSWR"; break;
|
case YAxisType::VSWR: return "VSWR"; break;
|
||||||
default: return "Unknown"; break;
|
case YAxisType::ImpulseReal: return "Impulse Response (Real)"; break;
|
||||||
|
case YAxisType::ImpulseMag: return "Impulse Response (Magnitude)"; break;
|
||||||
|
case YAxisType::Step: return "Step Response"; break;
|
||||||
|
case YAxisType::Impedance: return "Impedance"; break;
|
||||||
|
default: return "Unknown";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -765,9 +761,12 @@ QPointF TraceXYPlot::traceToCoordinate(Trace *t, unsigned int sample, TraceXYPlo
|
|||||||
ret.setY((1+abs(data.y)) / (1-abs(data.y)));
|
ret.setY((1+abs(data.y)) / (1-abs(data.y)));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case YAxisType::Impulse:
|
case YAxisType::ImpulseReal:
|
||||||
ret.setY(real(data.y));
|
ret.setY(real(data.y));
|
||||||
break;
|
break;
|
||||||
|
case YAxisType::ImpulseMag:
|
||||||
|
ret.setY(abs(data.y));
|
||||||
|
break;
|
||||||
case YAxisType::Step:
|
case YAxisType::Step:
|
||||||
ret.setY(t->sample(sample, Trace::SampleType::TimeStep).y.real());
|
ret.setY(t->sample(sample, Trace::SampleType::TimeStep).y.real());
|
||||||
break;
|
break;
|
||||||
@ -908,7 +907,8 @@ QString TraceXYPlot::AxisUnit(TraceXYPlot::YAxisType type)
|
|||||||
case TraceXYPlot::YAxisType::Magnitude: return "db"; break;
|
case TraceXYPlot::YAxisType::Magnitude: return "db"; break;
|
||||||
case TraceXYPlot::YAxisType::Phase: return "°"; break;
|
case TraceXYPlot::YAxisType::Phase: return "°"; break;
|
||||||
case TraceXYPlot::YAxisType::VSWR: return ""; break;
|
case TraceXYPlot::YAxisType::VSWR: return ""; break;
|
||||||
case TraceXYPlot::YAxisType::Impulse: return ""; break;
|
case TraceXYPlot::YAxisType::ImpulseReal: return ""; break;
|
||||||
|
case TraceXYPlot::YAxisType::ImpulseMag: return ""; break;
|
||||||
case TraceXYPlot::YAxisType::Step: return ""; break;
|
case TraceXYPlot::YAxisType::Step: return ""; break;
|
||||||
case TraceXYPlot::YAxisType::Impedance: return "Ohm"; break;
|
case TraceXYPlot::YAxisType::Impedance: return "Ohm"; break;
|
||||||
default: return ""; break;
|
default: return ""; break;
|
||||||
|
@ -18,9 +18,10 @@ public:
|
|||||||
Phase = 2,
|
Phase = 2,
|
||||||
VSWR = 3,
|
VSWR = 3,
|
||||||
// TDR options
|
// TDR options
|
||||||
Impulse = 4,
|
ImpulseReal = 4,
|
||||||
Step = 5,
|
ImpulseMag = 5,
|
||||||
Impedance = 6,
|
Step = 6,
|
||||||
|
Impedance = 7,
|
||||||
Last,
|
Last,
|
||||||
};
|
};
|
||||||
static const std::set<YAxisType> YAxisTypes;
|
static const std::set<YAxisType> YAxisTypes;
|
||||||
|
@ -178,7 +178,8 @@ std::set<TraceXYPlot::YAxisType> XYplotAxisDialog::supportedYAxis(TraceXYPlot::X
|
|||||||
break;
|
break;
|
||||||
case TraceXYPlot::XAxisType::Time:
|
case TraceXYPlot::XAxisType::Time:
|
||||||
case TraceXYPlot::XAxisType::Distance:
|
case TraceXYPlot::XAxisType::Distance:
|
||||||
ret.insert(TraceXYPlot::YAxisType::Impulse);
|
ret.insert(TraceXYPlot::YAxisType::ImpulseReal);
|
||||||
|
ret.insert(TraceXYPlot::YAxisType::ImpulseMag);
|
||||||
ret.insert(TraceXYPlot::YAxisType::Step);
|
ret.insert(TraceXYPlot::YAxisType::Step);
|
||||||
ret.insert(TraceXYPlot::YAxisType::Impedance);
|
ret.insert(TraceXYPlot::YAxisType::Impedance);
|
||||||
break;
|
break;
|
||||||
|
@ -72,7 +72,12 @@
|
|||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Impulse Response</string>
|
<string>Impulse Response (real)</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Impulse Response (mag)</string>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
@ -237,7 +242,12 @@
|
|||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Impulse Response</string>
|
<string>Impulse Response (real)</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Impulse Response (mag)</string>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
|
Loading…
Reference in New Issue
Block a user