Short Description of Mathematical Functions¶
The following operations and functions can be applied in Qucs equations. For detailed description please refer to the “Measurement Expressions Reference Manual”. Parameters in brackets “[]” are optional.
Operators¶
Arithmetic Operators¶
+x |
Unary plus |
-x |
Unary minus |
x+y |
Addition |
x-y |
Subtraction |
x*y |
Multiplication |
x/y |
Division |
x%y |
Modulo (remainder of division) |
x^y |
Power |
Logical Operators¶
!x |
Negation |
x&&y |
And |
x||y |
Or |
x^^y |
Exclusive or |
x?y:z |
Abbreviation for conditional expression “if x then y else z |
x==y |
Equal |
x!=y |
Not equal |
x<y |
Less than |
x<=y |
Less than or equal |
x>y |
Larger than |
x>=y |
Larger than or equal |
Math Functions¶
Vectors and Matrices: Creation¶
eye(n) |
Creates n x n identity matrix |
length(y) |
Returns the length of the given vector |
linspace(from,to,n) |
Creates a real vector with n linearly spaced components between from and to , both inclusively |
logspace(from,to,n) |
Creates a real vector with n logarithmically spaced components between from and to , both inclusively |
Vectors and Matrices: Basic Matrix Functions¶
adjoint(x) |
Adjoint matrix of x (transposed and conjugate complex) |
det(x) |
Determinant of a matrix x |
inverse(x) |
Inverse matrix of x |
transpose(x) |
Transposed matrix of x (rows and columns exchanged) |
Elementary Mathematical Functions: Basic Real and Complex Functions¶
abs(x) |
Absolute value, magnitude of complex number |
angle(x) |
Phase angle in radians of a complex number. Synonym for arg() |
arg(x) |
Phase angle in radians of a complex number |
conj(x) |
Conjugate of a complex number |
deg2rad(x) |
Converts phase from degrees into radians |
hypot(x,y) |
Euclidean distance function |
imag(x) |
Imaginary part of a complex number |
mag(x) |
Magnitude of a complex number |
norm(x) |
Square of the absolute value of a vector |
phase(x) |
Phase angle in degrees of a complex number |
polar(m,p) |
Transform from polar coordinates (magnitude m , phase p ) into complex number |
rad2deg(x) |
Converts phase from radians into degrees |
real(x) |
Real part of a complex number |
sign(x) |
Signum function |
sqr(x) |
Square (power of two) of a number |
sqrt(x) |
Square root |
unwrap(p[,tol[,step]]) |
Unwraps the angle p (in radians – default step is 2*pi) using the optional tolerance value tol (default is pi) |
Elementary Mathematical Functions: Exponential and Logarithmic Functions¶
exp(x) |
Exponential function to basis e |
limexp(x) |
Limited exponential function |
log10(x) |
Decimal logarithm |
log2(x) |
Binary logarithm |
ln(x) |
Natural logarithm (base e ) |
Elementary Mathematical Functions: Trigonometry¶
cos(x) |
Cosine function |
cosec(x) |
Cosecant |
cot(x) |
Cotangent function |
sec(x) |
Secant |
sin(x) |
Sine function |
tan(x) |
Tangent function |
Elementary Mathematical Functions: Inverse Trigonometric Functions¶
arccos(x) |
Arc cosine (also known as “inverse cosine”) |
arccosec(x) |
Arc cosecant |
arccot(x) |
Arc cotangent |
arcsec(x) |
Arc secant |
arcsin(x) |
Arc sine (also known as “inverse sine”) |
arctan(x[,y]) |
Arc tangent (also known as “inverse tangent”) |
Elementary Mathematical Functions: Hyperbolic Functions¶
cosh(x) |
Hyperbolic cosine |
cosech(x) |
Hyperbolic cosecant |
coth(x) |
Hyperbolic cotangent |
sech(x) |
Hyperbolic secant |
sinh(x) |
Hyperbolic sine |
tanh(x) |
Hyperbolic tangent |
Elementary Mathematical Functions: Inverse Hyperbolic Functions¶
arcosh(x) |
Hyperbolic area cosine |
arcosech(x) |
Hyperbolic area cosecant |
arcoth(x) |
Hyperbolic area cotangent |
arsech(x) |
Hyperbolic area secant |
arsinh(x) |
Hyperbolic area sine |
artanh(x) |
Hyperbolic area tangent |
Elementary Mathematical Functions: Rounding¶
ceil(x) |
Round to the next higher integer |
fix(x) |
Truncate decimal places from real number |
floor(x) |
Round to the next lower integer |
round(x) |
Round to nearest integer |
Elementary Mathematical Functions: Special Mathematical Functions¶
besseli0(x) |
Modified Bessel function of order zero |
besselj(n,x) |
Bessel function of first kind and n -th order |
bessely(n,x) |
Bessel function of second kind and n -th order |
erf(x) |
Error function |
erfc(x) |
Complementary error function |
erfinv(x) |
Inverse error function |
erfcinv(x) |
Inverse complementary error function |
sinc(x) |
Sinc function (sin(x )/x or 1 at x = 0) |
step(x) |
Step function |
Data Analysis: Basic Statistics¶
avg(x[,range]) |
Arithmetic average of vector elements; if a range is given then x must have a single data dependency |
cumavg(x) |
Cumulative average of vector elements |
max(x,y) |
Returns the greater of the values x and y |
max(x[,range]) |
Maximum value in vector; if a range is given then x must have a single data dependency |
min(x,y) |
Returns the lesser of the values x and y |
min(x[,range]) |
Minimum value in vector; if a range is given then x must have a single data dependency |
rms(x) |
Root Mean Square of vector elements |
runavg(x) |
Running average of vector elements |
stddev(x) |
Standard deviation of vector elements |
variance(x) |
Variance of vector elements |
random() |
Random number between 0.0 and 1.0 |
srandom(x) |
Give random seed |
Data Analysis: Basic Operation¶
cumprod(x) |
Cumulative product of vector elements |
cumsum(x) |
Cumulative sum of vector elements |
interpolate(f,x[,n]) |
Equidistant spline interpolation of real function vector f(x) using n equidistant datapoints; the latter can be omitted and defaults to a reasonable value |
prod(x) |
Product of vector elements |
sum(x) |
Sum of vector elements |
xvalue(f,yval) |
Returns the x-value which is associated with the y-value nearest to a specified y-value yval in a given vector f ; therefore the vector f must have a single data dependency |
yvalue(f,xval) |
Returns the y-value of the given vector f which is located nearest to the x-value xval ; therefore the vector f must have a single data dependency |
Data Analysis: Differentiation and Integration¶
ddx(expr,var) |
Derives mathematical expression expr with respect to the variable var |
diff(y,x[,n]) |
Differentiate vector y with respect to vector x n times. If n is omitted it defaults to n = 1 |
integrate(x,h) |
Integrate vector x numerically assuming a constant step-size h |
Data Analysis: Signal Processing¶
dft(x) |
Discrete Fourier Transform of vector x |
fft(x) |
Fast Fourier Transform of vector x |
fftshift(x) |
Shuffles the FFT values of vector x in order to move the frequency 0 to the center of the vector |
Freq2Time(V,f) |
Inverse Discrete Fourier Transform of function V(f) interpreting it physically |
idft(x) |
Inverse Discrete Fourier Transform of vector x |
ifft(x) |
Inverse Fast Fourier Transform of vector x |
kbd(x[,n]) |
Kaiser-Bessel derived window |
Time2Freq(v,t) |
Discrete Fourier Transform of function v(t) interpreting it physically |
Electronics Functions¶
Unit Conversion¶
dB(x) |
dB value |
dbm(x) |
Convert voltage to power in dBm |
dbm2w(x) |
Convert power in dBm to power in Watts |
w2dbm(x) |
Convert power in Watts to power in dBm |
vt(t) |
Thermal voltage for a given temperature t in Kelvin |
Reflection Coefficients and VSWR¶
rtoswr(x) |
Converts reflection coefficient to voltage standing wave ratio (VSWR) |
rtoy(x[,zref]) |
Converts reflection coefficient to admittance; by default reference zref is 50 ohms |
rtoz(x[,zref]) |
Converts reflection coefficient to impedance; by default reference zref is 50 ohms |
ytor(x[,zref]) |
Converts admittance to reflection coefficient; by default reference zref is 50 ohms |
ztor(x[,zref]) |
Converts impedance to reflection coefficient; by default reference zref is 50 ohms |
N-Port Matrix Conversions¶
stos(s,zref[,z0]) |
Converts S-parameter matrix to S-parameter matrix with different reference impedance(s) |
stoy(s[,zref]) |
Converts S-parameter matrix to Y-parameter matrix |
stoz(s[,zref]) |
Converts S-parameter matrix to Z-parameter matrix |
twoport(m,from,to) |
Converts a two-port matrix from one representation into another, possible values for from and to are ‘Y’, ‘Z’, ‘H’, ‘G’, ‘A’, ‘S’ and ‘T’. |
ytos(y[,z0]) |
Converts Y-parameter matrix to S-parameter matrix |
ytoz(y) |
Converts Y-parameter matrix to Z-parameter matrix |
ztos(z[,z0]) |
Converts Z-parameter matrix to S-parameter matrix |
ztoy(z) |
Converts Z-parameter matrix to Y-parameter matrix |
Amplifiers¶
GaCircle(s,Ga[,arcs]) |
Circle(s) with constant available power gain Ga in the source plane |
GpCircle(s,Gp[,arcs]) |
Circle(s) with constant operating power gain Gp in the load plane |
Mu(s) |
Mu stability factor of a two-port S-parameter matrix |
Mu2(s) |
Mu’ stability factor of a two-port S-parameter matrix |
NoiseCircle(Sopt,Fmin,Rn,F[,Arcs]) |
Generates circle(s) with constant Noise Figure(s) F . Arcs specifies the angles in degrees created by e.g. linspace(0,360,100) . If Arcs is a number it specifies the number of equally spaced circle segments, if it is omitted this number defaults to a reasonable value |
PlotVs(data,dep) |
Returns a data item based upon vector or matrix vector data with dependency on a given vector dep , e.g. PlotVs(Gain,frequency/1e9) |
Rollet(s) |
Rollet stability factor of a two-port S-parameter matrix |
StabCircleL(s[,arcs]) |
Stability circle in the load plane |
StabCircleS(s[,arcs]) |
Stability circle in the source plane |
StabFactor(s) |
Stability factor of a two-port S-parameter matrix. Synonym for Rollet() |
StabMeasure(s) |
Stability measure B1 of a two-port S-parameter matrix |
Nomenclature¶
Ranges¶
LO:HI |
Range from LO to HI |
:HI |
Up to HI |
LO: |
From LO |
: |
No range limitations |
Matrices and Matrix Elements¶
M |
The whole matrix M |
M[2,3] |
Element being in 2nd row and 3rd column of matrix M |
M[:,3] |
Vector consisting of 3rd column of matrix M |
Immediate¶
2.5 |
Real number |
1.4+j5.1 |
Complex number |
[1,3,5,7] |
Vector |
[11,12;21,22] |
Matrix |
Number suffixes¶
E |
exa, 1e+18 |
P |
peta, 1e+15 |
T |
tera, 1e+12 |
G |
giga, 1e+9 |
M |
mega, 1e+6 |
k |
kilo, 1e+3 |
m |
milli, 1e-3 |
u |
micro, 1e-6 |
n |
nano, 1e-9 |
p |
pico, 1e-12 |
f |
femto, 1e-15 |
a |
atto, 1e-18 |
Name of Values¶
S[1,1] |
S-parameter value |
nodename.V |
DC voltage at node nodename |
name.I |
DC current through component name |
nodename.v |
AC voltage at node nodename |
name.i |
AC current through component name |
nodename.vn |
AC noise voltage at node nodename |
name.in |
AC noise current through component name |
nodename.Vt |
Transient voltage at node nodename |
name.It |
Transient current through component name |
Note: All voltages and currents are peak values. Note: Noise voltages are RMS values at 1 Hz bandwidth.
Constants¶
i, j |
Imaginary unit (“square root of -1”) |
pi |
4*arctan(1) = 3.14159... |
e |
Euler = 2.71828... |
kB |
Boltzmann constant = 1.38065e-23 J/K |
q |
Elementary charge = 1.6021765e-19 C |