- Qucs -
Quite Universal Circuit Simulator

Short Description of mathematical Functions

The following operations and functions can be applied in Qucs equations.

+xunary plus
-xunary minus
x+yaddition
x-ysubtraction
x*ymultiplication
x/ydivision
x%ymodulo (remainder of division)
x^ypower
max(x[,range])maximum value in vector; if a range is given then x must have a single data dependency
max(x,y)returns the greater 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
min(x,y)returns the lesser of the values x and y
avg(x[,range])arithmetic average of values in vector; if a range is given then x must have a single data dependency
cumavg(x)cumulative average of values in vector
runavg(x)running average of values in vector
stddev(x)standard deviation of values in vector
variance(x)variance of values in vector
rms(x)root mean square of a vector
sum(x)sum of values in vector
prod(x)product of values in vector
cumsum(x)cumulative sum of values in vector
cumprod(x)cumulative product of values in vector
diff(y,x) differentiates vector y with respect to x
diff(y,x,n) differentiates vector y with respect to x n-times
integrate(x,h)integrates vector x numerically assuming a constant step-size h
real(x)real part of complex number
imag(x)imaginary part of complex number
abs(x)absolute value, magnitude of complex number
mag(x)same as abs(x)
polar(m,p)returns complex number based on magnitude and phase
norm(x)square of mag(x)
conj(x)conjugate complex
phase(x)phase in degree
angle(x)phase in radians
arg(x)same as angle(x)
deg2rad(x)converts degrees to radians
rad2deg(x)converts radians to degrees
unwrap(rad[,tol])unwraps the angle (in radians) using the optional tolerance value (default is pi)
dB(x)voltage decibel
dbm(x)convert voltage to power in dB
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 in Kelvin
sqr(x)square (x to the power of two)
sqrt(x)square root
exp(x)exponential function to basis e
limexp(x)limited exponential function
ln(x)natural logarithm
log10(x)decimal logarithm
log2(x)binary logarithm
hypot(x,y)Euclidean distance function
sin(x)sine
cos(x)cosine
tan(x)tangent
sinh(x)sine hyperbolicus
cosh(x)cosine hyperbolicus
tanh(x)tangent hyperbolicus
arcsin(x)arcus sine
arccos(x)arcus cosine
arctan(x[,y])arcus tangent
arccot(x)arcus cotangent
arcsec(x)arcus secans
arccosec(x)arcus cosecans
arsinh(x)area sine hyperbolicus
arcosh(x)area cosine hyperbolicus
artanh(x)area tangent hyperbolicus
arsech(x)area secans hyperbolicus
arcosech(x)area cosecans hyperbolicus
arcoth(x)area cotangent hyperbolicus
sec(x)secans
cosec(x)cosecans
cot(x)cotangent
sech(x)secans hyperbolicus
cosech(x)cosecans hyperbolicus
coth(x)cotangent hyperbolicus
ztor(x[,zref]) converts impedance to reflexion coefficient (by default reference is 50 ohms)
rtoz(x[,zref]) converts reflexion coefficient (by default reference is 50 ohms) to impedance
ytor(x[,zref]) converts admittance to reflexion coefficient (by default reference is 50 ohms)
rtoy(x[,zref]) converts reflexion coefficient (by default reference is 50 ohms) to admittance
rtoswr(x) converts reflexion coefficient to (voltage) standing wave ratio (SWR or VSWR)
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
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
twoport(m,from,to) converts the given 2-port matrix from one representation into another, possible values for "from" and "to" are 'Y', 'Z', 'H', 'G', 'A', 'S' and 'T'.
ceil(x)rounds to the next higher integer
fix(x)truncates decimal places from real number
floor(x)rounds to the next lower integer
round(x)rounds to nearest integer
sign(x)computes the signum function
sinc(x)returns sin(x)/x and one at x=0
step(x)step function
besseli0(x)modified Bessel function of order zero
besselj(n,x)1st kind Bessel function of n-th order
bessely(n,x)2nd kind Bessel function of n-th order
erf(x)error function
erfc(x)complementary error function
erfinv(x)inverse error function
erfcinv(x)inverse complementary error function
det(x)determinant of x
transpose(x)transposed matrix of x (rows and columns exchanged)
inverse(x)inverse matrix of x
eye(n)n x n identity matrix
adjoint(x)adjoint matrix of x (transposed and conjugate complex)
Rollet(x)Rollet stability factor of matrix x (twoport S-parameter matrix)
Mu(x)Mu stability factor of matrix x (twoport S-parameter matrix)
Mu2(x)Mu' stability factor of matrix x (twoport S-parameter matrix)
linspace(from,to,n)creates a vector with n linearly spaced elements between from and to, both inclusively
logspace(from,to,n)creates a vector with n logarithmically spaced elements between from and to, both inclusively
NoiseCircle(Sopt,
  Fmin,Rn,F[,Arcs])
circles with constant noise figure(s) F (can be a constant or a vector), Arcs specifies the angles in degree 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
StabCircleS(S [,Arcs])stability circle in the source plane
StabCircleL(S [,Arcs])stability circle in the load plane
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
PlotVs(data,dep)returns a data item based upon data (vector or matrix vector) with dependency on the given dep vector, e.g. PlotVs(Gain,frequency/1e9)
interpolate(f,x[,n])returns an interpolated data vector of the real function f(x)using n equidistant datapoints, the latter can be omitted and defaults to a reasonable value
fft(x)computes the fast fourier transformation (FFT) of the vector x
ifft(x)computes the inverse fast fourier transformation (IFFT) of the vector x
dft(x)computes the discrete fourier transformation (DFT) of the vector x
idft(x)computes the inverse discrete fourier transformation (IDFT) of the vector x
Time2Freq(v,t)computes the discrete fourier transformation of the function v(t) interpreting it physically
Freq2Time(V,f)computes the inverse discrete fourier transformation of the function V(f) interpreting it physically
kbd(x [,n])Kaiser-Bessel derived window
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
xvalue(f,yval)returns the x-value which is associated with the y-value nearest to yval in the given vector f; therefore the vector f must have a single data dependency

Range nomenclature
LO:HIrange from LO to HI
:HIup to HI
LO:from LO
:no range limitations

Matrix nomenclature
Mthe 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

Name of values
S[1,1]S-parameter value
nodename.VDC voltage at node nodename
name.IDC current through component name
nodename.vAC voltage at node nodename
name.iAC current through component name
nodename.vnAC noise voltage at node nodename
name.inAC noise current through component name
nodename.Vttransient voltage at node nodename
name.Ittransient current through component name
Note: All voltages and currents are peak values.
Note: Noise voltages are RMS values at 1Hz bandwidth.

Constants
jimaginary unit ("square root of -1")
pi4*arctan(1) = 3.14159...
eEuler = 2.71828...
kBBoltzmann constant = 1.38065e-23
qelementary charge = 1.6021765e-19 C

back to the top