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-Boptimizer. Allowed options are:ftolstop condition for the minimization
gtolgradient stop condition for the minimization
maxcormax number of variables used in hessian approximation
maxitermax number of iterations
maxfunmax number of function evaluations
epsStep 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_optionsattribute.
See also
scipy.optimize.minimizefor the parameters passed to the
L-BFGS-Bminimizer
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.