pydsm.NTFdesign.psychoacoustic.ntf_dunn

pydsm.NTFdesign.psychoacoustic.ntf_dunn(order=3, osr=64, H_inf=1.5)

Synthesizes an NTF for a DS audio modulator by Dunn’s approach.

The signal bandwidth is 22.05 kHz.

Parameters:

order : int, optional

the order of the modulator, defaults to 3

osr : float, optional

the oversamping ratio (based on the actual signal bandwidth)

H_inf : real, optional

max allowed peak value of the NTF. Defaults to 1.5

Returns:

ntf : tuple

noise transfer function in zpk form.

Warns:

As in DELSIG’s synthesizeNTF

See also

pydsm.delsig.synthesizeNTF
DELSIG’s optimal NTF design strategy.

Notes

This is not exactly Dunn’s method (but it should be equivalent or slightly better). In fact, to avoid re-implementing the pole selection algorithm, that in [R3] is based on a Butterworth synthesis, here the pole selection logic used in DELSIG’s synthesizeNTF is recycled. This should not make a big difference since DELSIG logic is anyway based on a pole positioning aimed at obtaining a maximally flat response of the NTF denominator in the signal band. This has the advantage of automatically controlling the peak gain of the NTF, as in the Lee criterion.

Parameter H_inf is used to enforce the Lee stability criterion.

[R3]Chris Dunn and Mark Sandler, “Psychoacoustically Optimal Sigma Delta Modulation,” J. Audio Eng. Soc., Vol. 45, No. 4, pp. 212 - 223 (1997 April)