| Prev | Next | gains |
| Syntax |
y = gains(b,a) |
| Syntax |
y = gains(b,a,f) |
| Include: |
include spt\gains.oms |
| See Also | gainz |
ARGUMENTS:
INPUTS:
b = VECTOR, COLUMN. Numerator polynomial as column vector of
real-valued term coefficients. I.e.,
b => b(1) + b(2)*s + b(3)*s^2 + ..., s = jw = j2*PI*f
Any numerical type. Coerced to DOUBLE for local processing.
a = VECTOR, COLUMN. Denominator polynomial as column vector of
real-valued term coefficients. I.e.,
a => a(1) + a(2)*s + a(3)*s^2 + ...
Any numerical type. Coerced to DOUBLE for local processing.
f = MATRIX. Frequencies for evaluation [Hz]. Any numerical type.
Coerced to DOUBLE for local processing. If missing, transfer
function is evaluated at f=0 Hz only.
RETURN: MATRIX, COMPLEX. (b/a)(f), same dimension as 'f', type COMPLEX.
If 'f' is missing, return (b/a)(0), type DOUBLE.
Returns the complex gain of a Laplace transfer function H(s) = b(s)/a(s) evaluated at frequencies in matrix 'f'.
This function returns a matrix of the same dimensions as input 'f' whose
elements are the evaluation of H(s) = b(s)/a(s) at real frequencies 'f',
where 'f' is in [Hz]. The input polynomials 'b' and 'a' are column
vectors representing polynomials as follows:
b -> b(1) + b(2)*s + b(3)*s^2 + ...,
where s = j*2*PI*f, (j = sqrt(-1).
If argument 'f' is left off, then the DC gain at f=0 is returned.
include spt\gains.oms # include gains() function
b = novalue; # Declare numerator polynomial
a = novalue; # Declare denominator polynomial
fnbut(3,b,a); # Make an order = 3 Butterworth function
f = {1d-1, 1d0, 1d1}/2d0/PI; # Make a frequency evaluation vectorvector
H = gains(b,a,f); # Find the complex gain
format complex "f10.6"
H # Print the gain results
The results are:
{
( 0.979999, -0.199000)
( -0.500000, -0.500000)
( -0.000199, 0.000980)
}