pydsm.NTFdesign.merit_factors.quantization_noise_gain

pydsm.NTFdesign.merit_factors.quantization_noise_gain(NTF, w=None, bounds=(0, 0.5), avg=False, **options)

Compute the NTF quantization noise power gain.

Parameters:

NTF : tuple

NTF definition in zpk or nd form

w : callable with argument f in [0,1/2] or None or tuple

  • if function: noise weighting function
  • if None: no weighting is applied
  • if filter definition as zpk or ba tuple: weighting is implicitly provided by the filter

bounds : 2 elements tuple, optional

the frequency range where the noise gain is computed. Defaults to (0, 0.5)

avg: bool, optional

If True, rather than returning the overall noise gain, the function returns the average noise gain over the bandwidth.

Returns:

a : real

noise power gain

Other Parameters:
 

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.

Notes

The computation is practiced as

2\int_{f=0}^{\frac{1}{2}}
\left|\mathit{NTF}
\left(\mathrm{e}^{\mathrm{i} 2\pi f}\right)\right|^2 w(f) df

Use an on-off weighting function w(f) for multiband evaluation.

In case the weighting function has discontinuities, report them to the integrator via the quad_points parameter.