c2mpir#

class diffsptk.CepstrumToMinimumPhaseImpulseResponse(cep_order, ir_length, n_fft=512)[source]#

See this page for details. The conversion uses FFT instead of recursive formula.

Parameters:
cep_orderint >= 0 [scalar]

Order of cepstrum, \(M\).

ir_lengthint >= 1 [scalar]

Length of impulse response, \(N\).

n_fftint >> \(N\) [scalar]

Number of FFT bins. Accurate conversion requires the large value.

forward(c)[source]#

Convert cepstrum to minimum phase impulse response.

Parameters:
cTensor [shape=(…, M+1)]

Cepstral coefficients.

Returns:
hTensor [shape=(…, N)]

Truncated minimum phase impulse response.

Examples

>>> c = diffsptk.ramp(3)
>>> c2mpir = diffsptk.CepstrumToMinimumPhaseImpulseResponse(3, 5)
>>> h = c2mpir(c)
>>> h
tensor([1.0000, 1.0000, 2.5000, 5.1667, 6.0417])

See also

mpir2c mgc2mgc