pydsm.NTFdesign.minmax.ntf_fir_minmax¶
-
pydsm.NTFdesign.minmax.ntf_fir_minmax(order=32, osr=32, H_inf=1.5, f0=0, zf=False, **options)¶ Synthesize FIR NTF for LP or BP ΔΣ modulator by min-max optimization.
The strategy aims at minimizing the peak value of the NTF in the signal band, while respecting the Lee criterion.
- Parameters
- orderint, optional
Order of the delta-sigma modulator. Defaults to 32.
- osrreal or array of reals, optional
The oversampling ratio, based on the input signal bandwidth Defaults to 32. If there are multiple signal bands, multiple OSRs can be provided, one for each of them.
- H_infreal, optional
Max allowed peak value of the NTF. Used to enforce the Lee criterion. Defaults to 1.5.
- f0real, or array of reals, optional
The normalized center frequency of the modulator. Value in [0,1/2]. 1/2 indicates half the sample frequency. Defaults to 0, indicating an LP modulator. An array of values can be provided for multiband design.
- zfbool, optional
Flag controlling the pre-assignement of NTF zeros. If
False, the design is practiced without any zero pre-assignment. IfTrue, a zero is pre-assigned at the modulator center-band. Defaults to False.
- Returns
- ntftuple
noise transfer function in zpk form.
- cvxpy_optsdictionary, optional
A dictionary of options to use with the
cvxpymodeling library. Allowed options include:override_kktsolver(bool)Whether to override the default
cvxoptkkt solver using thecholkkt solver. Leave this at the default False setting, to avoid errors.solver(string)The solver backend to use. Either cvxopt or scs
- cvxopt_optsdict, optional
A dictionary of options for the
cvxoptoptimizer. Allowed options include:maxiters(int)Maximum number of iterations
abstol(real)Absolute accuracy
reltol(real)Relative accuracy
feastol(real)Tolerance for feasibility conditions (defaults to 1e-6)
Do not use other options since they could break
cvxoptin unexpected ways. These options can be passed when using thecvxpy_oldmodeler, thepicosmodeler or thecvxpymodeler with thecvxoptbackend.- scs_optsdict, optional
A dictionary of options for the
scsoptimizer. Allowed options include:max_iters(int)Maximum number of iterations
eps(real)Convergence tolerance
alpha(real)Relaxation parameter
normalize(bool)Whether to precondition data matrices
use_indirect(bool)Whether to use indirect solver for KKT sytem (instead of direct)
Do not use other options since they could break
scsin unexpected ways. These options can be passed when using thecvxpymodeler with thescsbackend.
See also
cvxoptfor the optimizer parameters
scsfor the optimizer parameters
cvxpyfor the modeler parameters
Notes
The design strategy implemented in this module is described in the paper [1].
Default values for the options not directly documented in the function call signature can be checked and updated by changing the function
default_optionsattribute.- 1
M. Nagahara and Y. Yamamoto, Frequency-Domain Min-Max Optimization of Noise-Shaping Delta-Sigma Modulators, IEEE Trans. SP, vol. 60 n. 6 June 2012.