Chirp Z-transform
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file czt-0.0.7.tar.gz
.
File metadata
- Download URL: czt-0.0.7.tar.gz
- Upload date:
- Size: 7.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/3.7.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.8.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 517587c16f64d8e283f6efd92383c486c657d4d1af6c7f7af3dfef2a85523e8f |
|
MD5 | 7e706d2968f9ccf0c97b6934269b3537 |
|
BLAKE2b-256 | b6ab643fa8692de189c15d8f2da65b561b9e6d3368c227d91beb422fec89e9a0 |