ChirpZTransform

class hcipy.fourier.ChirpZTransform(n, m, w, a)

Bases: object

The Chirp Z-transform (CZT).

This class evaluates:

\[X_k = \sum_{n=0}^{N-1} x(n) z_k^{-n}\]

where \(N\) is the number of points along the real space, \(M\) is the number of points in the Z-plane. The Chirp Z-transform samples the Z-plane on equidistant points along spiral arcs, where the arcs are given by the starting point \(A\) and the complex ratio between points \(W\):

\[z_k = A * W^{-k}, k=0, 1, \ldots, M - 1\]

This implementation uses Bluestein’s algorithm to compute the CZT using Fast Fourier Transforms.

Parameters:
ninteger

The number of points in the real plane.

minteger

The number of points in the Z-plane.

wscalar

The complex ratio between points in the Z-plane. Note: ensure that its absolute value is close to one, so that w**(max(n, m)**2) does not overflow.

ascalar

The starting point in the complex Z-plane. Note: ensure that its absolute value is close to one, so that a**max(n, m) does not overflow.

Methods Summary

__call__(x)

Compute the Chirp Z-transform along the last axis.

Methods Documentation

__call__(x)

Compute the Chirp Z-transform along the last axis.

The input is expected to have n points along the last axis. This is assumed but not checked. The transform is multiplexed along all other axes.

The return value has the same number of axes, with the last axis having m elements.

Parameters:
xarray_like

The array to compute the chirp Z-transform for.

Returns:
array_like

The chirp Z-transformed array.