pydsm.NTFdesign.helpers.spread_fir_uc_zeros¶
-
pydsm.NTFdesign.helpers.
spread_fir_uc_zeros
(order, OSR, cf, cf_args=[], cf_kwargs={}, **options)¶ Compute the best spreading of zerors on the unit circle.
The computed FIR transfer function is optimal according to a criterion expressed by the cost function
cf
.The computed FIR transfer function is used in the DELSIG
pydsm.delsig.synthesizeDSM()
design method (also known aspydsm.NTFdesign.ntf_schreier()
) for the numerator of the noise transfer function.- Parameters
- orderint
the transfer function order
- OSRfloat
the oversampling ratio
- cffunction
cost function for the optimization. Takes a transfer function in zpk form as the first argument plus more arguments as required
- cf_args: list
positional args of function
cf
- cf_kwargs: dict
keyword args of function
cf
- Returns
- zerosndarray
an array of complex roots of the FIR transfer function
- Other Parameters
- L-BFGS-B_optsdictionary, optional
Parameters passed to the
F-BFGS-B
optimizer. Allowed options are:ftol
stop condition for the minimization
gtol
gradient stop condition for the minimization
maxcor
max number of variables used in hessian approximation
maxiter
max number of iterations
maxfun
max number of function evaluations
eps
Step size used for numerical approximation of the jacobian
Do not use other options since they could break the minimizer in unexpected ways. Defaults can be set by changing the function
default_options
attribute.
See also
scipy.optimize.minimize
for the parameters passed to the
L-BFGS-B
minimizer
Notes
The system is implicitly assumed to be low-pass. Hence, the zeros are spread on the unit circle in the [0, pi/OSR] range.