Qucs-S S-parameter Viewer & RF Synthesis Tools
Loading...
Searching...
No Matches
general.h
Go to the documentation of this file.
1
7
8#ifndef GENERAL_H
9#define GENERAL_H
10
11#include <QFile>
12#include <QFileInfo>
13#include <QString>
14
15#include <QList>
16#include <QPointF>
17#include <QRegularExpression>
18#include <cmath>
19#include <complex>
20
21// CONSTANTS
22static constexpr double Z0 = 376.730313668; // Free space impedance
23static constexpr double C0 = 299792458.0; // Speed of light
24static constexpr double MU0 = 4.0 * M_PI * 1e-7; // Permeability of free space
25static constexpr double pi_over_2 = M_PI / 2.0;
26static constexpr double two_over_pi = 2.0 / M_PI;
27static constexpr double one_over_pi = 1.0 / M_PI;
28static constexpr double euler = M_E;
29static constexpr double ln2 = 0.693147180559945;
30
32enum Units { Capacitance, Inductance, Length, Resistance, Degrees, NoUnits };
33
37QString RoundVariablePrecision(double);
38
43QString num2str(std::complex<double> Z, Units CompType);
44
49QString num2str(double, Units);
50
54QString num2str(double);
55
59std::complex<double> Str2Complex(QString);
60
65QString ConvertLengthFromM(QString, double);
66
73void convert_MA_RI_to_dB(double& S_1, double& S_2, double& S_3, double& S_4,
74 QString format);
75
79double getFreqScale(QString frequency_unit);
80
84double getScaleFactor(QString scale);
85
90int findClosestIndex(const QList<double>& list, double value);
91
95double getFreqFromText(QString freq);
96
102QPointF findClosestPoint(const QList<double>& xValues,
103 const QList<double>& yValues, double targetX);
104
108QMap<QString, QList<double>> readTouchstoneFile(const QString& filePath);
109
110
113void showHTMLDocs(QString path);
114
115#endif // GENERAL_H
QString num2str(std::complex< double > Z, Units CompType)
Converts complex number to string with units.
Definition general.cpp:25
double getScaleFactor(QString scale)
Gets scale factor from SI prefix.
Definition general.cpp:445
void showHTMLDocs(QString path)
Show HTML documentation in the web browser.
Definition showHTMLDocs.cpp:17
double getFreqScale(QString frequency_unit)
Gets frequency scale factor from unit string.
Definition general.cpp:367
double getFreqFromText(QString freq)
Parses frequency string to Hz.
Definition general.cpp:391
QString RoundVariablePrecision(double)
Rounds double to minimum decimal places needed.
Definition general.cpp:10
QPointF findClosestPoint(const QList< double > &xValues, const QList< double > &yValues, double targetX)
Finds closest point in x-y data series.
Definition general.cpp:421
std::complex< double > Str2Complex(QString)
Parses string to complex number.
Definition general.cpp:175
void convert_MA_RI_to_dB(double &S_1, double &S_2, double &S_3, double &S_4, QString format)
Converts S-parameter from MA/RI/DB format to dB, angle, real, and imaginary.
Definition general.cpp:334
int findClosestIndex(const QList< double > &list, double value)
Finds index of closest value in list.
Definition general.cpp:383
QString ConvertLengthFromM(QString, double)
Converts length in meters to appropriate unit with auto-scaling.
Definition general.cpp:231
Units
Unit types for engineering values.
Definition general.h:32
QMap< QString, QList< double > > readTouchstoneFile(const QString &filePath)
Reads Touchstone file and extracts S-parameter data.
Definition readTouchstone.cpp:10