aspcore.fouriertransform.iczt

aspcore.fouriertransform.iczt(freq_sig, N, w=None, a=1 + 0j)

The Inverse Chirp-z Transform

The inverse chirp z transform is the inverse of the chirp z transform. The inverse is only defined when M = N.

Parameters:
  • freq_sig (np.ndarray of shape (M, ...)) – The frequency signal to be transformed. The transform is applied to the first axis

  • N (int) – The number of time samples to compute.

  • w (complex, optional) – The complex number to use as the base for the frequency bins. If not specified, the default is exp(2j*pi/M), which correponds to equally spaced valued around the unit circle. This is the same as the DFT.

  • a (complex, optional) – The starting point for the chirp z transform. The default is 1+0j, which corresponds to the DFT.

Returns:

The inverse chirp z transform of the input signal. The last axis corresponds to the time samples, and the remaining axes correspond to the input shape.

Return type:

np.ndarray of shape (…, N)

Notes

Implemented using a matrix multiplication approach, which has O(n^2) complexity, analogous to computing the DFT using the DFT matrix.

The inverse chirp z transform is defined as x = (W A)^{-1} X where the matrices are defined in the notes of the czt function.

References

[SukhoyGeneralizing2019]