dBuV for markers, removed 'db/dBm' unit from magnitude

This commit is contained in:
Jan Käberich 2022-03-28 22:07:09 +02:00
parent 1a779531ea
commit a9113af357
4 changed files with 20 additions and 4 deletions

View File

@ -109,6 +109,8 @@ QString Marker::formatToString(Marker::Format f)
{ {
switch(f) { switch(f) {
case Format::dB: return "dB"; case Format::dB: return "dB";
case Format::dBm: return "dBm";
case Format::dBuV: return "dBuV";
case Format::dBAngle: return "dB + angle"; case Format::dBAngle: return "dB + angle";
case Format::RealImag: return "real + imag"; case Format::RealImag: return "real + imag";
case Format::Impedance: return "Impedance"; case Format::Impedance: return "Impedance";
@ -179,9 +181,14 @@ std::vector<Marker::Format> Marker::applicableFormats()
case Type::Maximum: case Type::Maximum:
case Type::Minimum: case Type::Minimum:
case Type::PeakTable: case Type::PeakTable:
if(Trace::isSAParamater(parentTrace->liveParameter())) {
ret.push_back(Format::dBm);
ret.push_back(Format::dBuV);
} else {
ret.push_back(Format::dB); ret.push_back(Format::dB);
ret.push_back(Format::dBAngle); ret.push_back(Format::dBAngle);
ret.push_back(Format::RealImag); ret.push_back(Format::RealImag);
}
if(parentTrace) { if(parentTrace) {
if(parentTrace->isReflection()) { if(parentTrace->isReflection()) {
ret.push_back(Format::Impedance); ret.push_back(Format::Impedance);
@ -315,6 +322,9 @@ QString Marker::readableData(Format f)
} }
switch(f) { switch(f) {
case Format::dB: return "Δ:"+Unit::ToString(Util::SparamTodB(data) - Util::SparamTodB(delta->data), "dB", " ", 4); case Format::dB: return "Δ:"+Unit::ToString(Util::SparamTodB(data) - Util::SparamTodB(delta->data), "dB", " ", 4);
case Format::dBm: return "Δ:"+Unit::ToString(Util::SparamTodB(data) - Util::SparamTodB(delta->data), "dBm", " ", 4);
case Format::dBuV:
return "Δ:"+Unit::ToString(Util::dBmTodBuV(Util::SparamTodB(data)) - Util::dBmTodBuV(Util::SparamTodB(delta->data)), "dBuV", " ", 4);
case Format::dBAngle: { case Format::dBAngle: {
QString ret = "Δ:"+Unit::ToString(Util::SparamTodB(data) - Util::SparamTodB(delta->data), "dB", " ", 4) + "/"; QString ret = "Δ:"+Unit::ToString(Util::SparamTodB(data) - Util::SparamTodB(delta->data), "dB", " ", 4) + "/";
auto phase = arg(data)*180/M_PI; auto phase = arg(data)*180/M_PI;
@ -346,6 +356,9 @@ QString Marker::readableData(Format f)
default: default:
switch(f) { switch(f) {
case Format::dB: return Unit::ToString(Util::SparamTodB(data), "dB", " ", 4); case Format::dB: return Unit::ToString(Util::SparamTodB(data), "dB", " ", 4);
case Format::dBm: return Unit::ToString(Util::SparamTodB(data), "dBm", " ", 4);
case Format::dBuV:
return Unit::ToString(Util::dBmTodBuV(Util::SparamTodB(data)), "dBuV", " ", 4);
case Format::dBAngle: return Unit::ToString(Util::SparamTodB(data), "dB", " ", 4) + "/"+Unit::ToString(arg(data)*180/M_PI, "°", " ", 4); case Format::dBAngle: return Unit::ToString(Util::SparamTodB(data), "dB", " ", 4) + "/"+Unit::ToString(arg(data)*180/M_PI, "°", " ", 4);
case Format::RealImag: return Unit::ToString(data.real(), "", " ", 5) + "+"+Unit::ToString(data.imag(), "", " ", 5)+"j"; case Format::RealImag: return Unit::ToString(data.real(), "", " ", 5) + "+"+Unit::ToString(data.imag(), "", " ", 5)+"j";
case Format::VSWR: case Format::VSWR:

View File

@ -24,6 +24,8 @@ public:
enum class Format { enum class Format {
dB, dB,
dBm,
dBuV,
dBAngle, dBAngle,
RealImag, RealImag,
Impedance, Impedance,

View File

@ -188,7 +188,7 @@ QString YAxis::TypeToName(Type type)
{ {
switch(type) { switch(type) {
case Type::Disabled: return "Disabled"; case Type::Disabled: return "Disabled";
case Type::Magnitude: return "Magnitude (dB/dBm)"; case Type::Magnitude: return "Magnitude";
case Type::MagnitudedBuV: return "Magnitude (dBuV)"; case Type::MagnitudedBuV: return "Magnitude (dBuV)";
case Type::MagnitudeLinear: return "Magnitude (linear)"; case Type::MagnitudeLinear: return "Magnitude (linear)";
case Type::Phase: return "Phase"; case Type::Phase: return "Phase";

View File

@ -125,6 +125,7 @@ void WaterfallAxisDialog::on_buttonBox_accepted()
plot->keepDataBeyondPlotSize = true; plot->keepDataBeyondPlotSize = true;
} }
plot->align = (TraceWaterfall::Alignment) ui->Xalignment->currentIndex(); plot->align = (TraceWaterfall::Alignment) ui->Xalignment->currentIndex();
plot->updateYAxis();
} }
void WaterfallAxisDialog::XAxisTypeChanged(int XAxisIndex) void WaterfallAxisDialog::XAxisTypeChanged(int XAxisIndex)