czt 0.0.7
Chirp Z-Transform (CZT)
From Wikipedia:
The chirp Z-transform (CZT) is a generalization of the discrete Fourier transform (DFT). While the DFT samples the Z plane at uniformly-spaced points along the unit circle, the chirp Z-transform samples along spiral arcs in the Z-plane, corresponding to straight lines in the S plane. The DFT, real DFT, and zoom DFT can be calculated as special cases of the CZT.
Getting Started
You can install the CZT package using pip:
# to install the latest release (from PyPI)
pip install czt
# to install the latest version (from GitHub)
git clone https://github.com/garrettj403/CZT.git
cd CZT
pip install -e .
# to install dependencies for examples
pip install -e .[examples]
Example
Consider the following time-domain signal:
This is an exponentially decaying sine wave with some distortion from higher-order frequencies. We can convert this signal to the frequency-domain to investigate the frequency content using the Chirp Z-Transform (CZT):
Note that the CZT also allows us to calculate the frequency response over an arbitrary frequency range:
We can see that the signal has frequency components at 1 kHz, 2.5 kHz and 3.5 kHz. To remove the distortion and isolate the 1 kHz signal, we can apply a simple window in the frequency-domain:
Finally, we can use the Inverse Chirp Z-Transform (ICZT) to transform back to the time domain:
As we can see, we were able to remove the higher-order frequencies that were distorting our 1 kHz signal.
You can find this example and others in the examples/ directory.
References
Rabiner, L., Schafer, R., Rader, C. The Chirp z-Transform Algorithm. IEEE Trans. Audio Electroacoustics, Au-17, 2, Jun. 1969.
Sukhoy, V., Stoytchev, A. Generalizing the inverse FFT off the unit circle. Sci Rep 9, 14443 (2019).
Chirp Z-Transform (Wikipedia)
Discrete Fourier Transform (Wikipedia)
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.