pydsm.NTFdesign.filter_based.synthesize_ntf_from_filter¶
- pydsm.NTFdesign.filter_based.synthesize_ntf_from_filter(order, H, H_type='zpk', H_inf=1.5, normalize='auto', **options)¶
Synthesize a FIR NTF based on the ΔΣM output filter.
The ΔΣ modulator NTF is designed after a specification of the filter in charge of removing the quantization noise
Deprecated since version 0.11.0: Use NTFdesign.ntf_fir_weighting(). Note that the interface is slightly different.
Parameters: order : int
Delta sigma modulator order
F : tuple or callable or array_like
filter specification, the format depends on parameter F_type. a zpk or ba tuple if F_type is ‘zpk’ or ‘ba’, respectively. a function of f, for f in [0,1/2] if F_type is ‘mag’ an array containing an impulse response if F_type is ‘imp’
F_type : str
string indicating the type of filter specification. Can be ‘zpk’, ‘ba’, ‘mag’ or ‘imp’.
H_inf : real, optional
Max peak NTF gain, defaults to 1.5, used to enforce the Lee criterion
normalize : string or real, optional
Normalization to apply to the quadratic form used in the NTF selection. Defaults to ‘auto’ which means setting the top left entry in the matrix Q defining the quadratic form to 1.
Returns: ntf : ndarray
FIR NTF in zpk form
Other Parameters: show_progress : bool, optional
provide extended output, default is True and can be updated by changing the function default_options attribute.
cvxopt_opts : dictionary, optional
A dictionary of options for the cvxopt optimizer Allowed options include:
- maxiters
Maximum number of iterations (defaults to 100)
- abstol
Absolute accuracy (defaults to 1e-7)
- reltol
Relative accuracy (defaults to 1e-6)
- feastol
Tolerance for feasibility conditions (defaults to 1e-6)
Do not use other options since they could break cvxopt in unexpected ways. Defaults can be set by changing the function default_options attribute.
quad_opts : dictionary, optional
Parameters to be passed to the quad function used internally as an integrator. Allowed options are epsabs, epsrel, limit, points. Do not use other options since they could break the integrator in unexpected ways. Defaults can be set by changing the function default_options attribute.
See also
- scipy.integrate.quad
- for the meaning of the integrator parameters.
- cvxopt
- for the optimizer parameters