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
cvxpy
modeling library. Allowed options include:override_kktsolver
(bool)Whether to override the default
cvxopt
kkt solver using thechol
kkt 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
cvxopt
optimizer. 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
cvxopt
in unexpected ways. These options can be passed when using thecvxpy_old
modeler, thepicos
modeler or thecvxpy
modeler with thecvxopt
backend.- scs_optsdict, optional
A dictionary of options for the
scs
optimizer. 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
scs
in unexpected ways. These options can be passed when using thecvxpy
modeler with thescs
backend.
See also
cvxopt
for the optimizer parameters
scs
for the optimizer parameters
cvxpy
for 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_options
attribute.- 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.