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