HOME

TheInfoList



OR:

The chirp Z-transform (CZT) is a generalization of the
discrete Fourier transform In mathematics, the discrete Fourier transform (DFT) converts a finite sequence of equally-spaced samples of a function into a same-length sequence of equally-spaced samples of the discrete-time Fourier transform (DTFT), which is a comple ...
(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.A study of the Chirp Z-transform and its applications
- Shilling, Steve Alan
The DFT, real DFT, and zoom DFT can be calculated as special cases of the CZT. Specifically, the chirp Z transform calculates the Z transform at a finite number of points zk along a
logarithmic spiral A logarithmic spiral, equiangular spiral, or growth spiral is a self-similar spiral curve that often appears in nature. The first to describe a logarithmic spiral was Albrecht Dürer (1525) who called it an "eternal line" ("ewige Linie"). More ...
contour, defined as: :X_k = \sum_^ x(n) z_^ :z_k = A\cdot W^, k=0,1,\dots,M-1 where ''A'' is the complex starting point, ''W'' is the complex ratio between points, and ''M'' is the number of points to calculate. Like the DFT, the chirp Z-transform can be computed in O(''n'' log ''n'') operations where n = \max(M, N). An O(''N'' log ''N'') algorithm for the inverse chirp Z-transform (ICZT) was described in 2003, and in 2019.


Bluestein's algorithm

Bluestein's algorithm expresses the CZT as a
convolution In mathematics (in particular, functional analysis), convolution is a mathematical operation on two functions ( and ) that produces a third function (f*g) that expresses how the shape of one is modified by the other. The term ''convolution'' ...
and implements it efficiently using
FFT A fast Fourier transform (FFT) is an algorithm that computes the discrete Fourier transform (DFT) of a sequence, or its inverse (IDFT). Fourier analysis converts a signal from its original domain (often time or space) to a representation in the ...
/IFFT. As the DFT is a special case of the CZT, this allows the efficient calculation of
discrete Fourier transform In mathematics, the discrete Fourier transform (DFT) converts a finite sequence of equally-spaced samples of a function into a same-length sequence of equally-spaced samples of the discrete-time Fourier transform (DTFT), which is a comple ...
(DFT) of arbitrary sizes, including
prime A prime number (or a prime) is a natural number greater than 1 that is not a product of two smaller natural numbers. A natural number greater than 1 that is not prime is called a composite number. For example, 5 is prime because the only ways ...
sizes. (The other algorithm for FFTs of prime sizes, Rader's algorithm, also works by rewriting the DFT as a convolution.) It was conceived in 1968 by
Leo Bluestein Leo or Léo may refer to: Acronyms * Law enforcement officer * Law enforcement organisation * ''Louisville Eccentric Observer'', a free weekly newspaper in Louisville, Kentucky * Michigan Department of Labor and Economic Opportunity Arts an ...
. Bluestein's algorithm can be used to compute more general transforms than the DFT, based on the (unilateral)
z-transform In mathematics and signal processing, the Z-transform converts a discrete-time signal, which is a sequence of real or complex numbers, into a complex frequency-domain (z-domain or z-plane) representation. It can be considered as a discrete-tim ...
(Rabiner ''et al.'', 1969). Recall that the DFT is defined by the formula : X_k = \sum_^ x_n e^ \qquad k = 0,\dots,N-1. If we replace the product ''nk'' in the exponent by the identity :n k = \frac + \frac + \frac we thus obtain: : X_k = e^ \sum_^ \left( x_n e^ \right) e^ \qquad k = 0,\dots,N-1. This summation is precisely a convolution of the two sequences ''a''''n'' and ''b''''n'' defined by: :a_n = x_n e^ :b_n = e^, with the output of the convolution multiplied by ''N'' phase factors ''b''''k''*. That is: :X_k = b_k^* \left(\sum_^ a_n b_\right) \qquad k = 0,\dots,N-1. This convolution, in turn, can be performed with a pair of FFTs (plus the pre-computed FFT of complex chirp ''b''''n'') via the
convolution theorem In mathematics, the convolution theorem states that under suitable conditions the Fourier transform of a convolution of two functions (or signals) is the pointwise product of their Fourier transforms. More generally, convolution in one domain (e.g ...
. The key point is that these FFTs are not of the same length ''N'': such a convolution can be computed exactly from FFTs only by zero-padding it to a length greater than or equal to 2''N''–1. In particular, one can pad to a
power of two A power of two is a number of the form where is an integer, that is, the result of exponentiation with number two as the base and integer  as the exponent. In a context where only integers are considered, is restricted to non-negativ ...
or some other highly composite size, for which the FFT can be efficiently performed by e.g. the Cooley–Tukey algorithm in O(''N'' log ''N'') time. Thus, Bluestein's algorithm provides an O(''N'' log ''N'') way to compute prime-size DFTs, albeit several times slower than the Cooley–Tukey algorithm for composite sizes. The use of zero-padding for the convolution in Bluestein's algorithm deserves some additional comment. Suppose we zero-pad to a length ''M'' ≥ 2''N''–1. This means that ''a''''n'' is extended to an array ''A''''n'' of length ''M'', where ''A''''n'' = ''a''''n'' for 0 ≤ ''n'' < ''N'' and ''A''''n'' = 0 otherwise—the usual meaning of "zero-padding". However, because of the ''b''''k''–''n'' term in the convolution, both positive and ''negative'' values of ''n'' are required for ''b''''n'' (noting that ''b''–''n'' = ''b''''n''). The periodic boundaries implied by the DFT of the zero-padded array mean that –''n'' is equivalent to ''M''–''n''. Thus, ''b''''n'' is extended to an array ''B''''n'' of length ''M'', where ''B''0 = ''b''0, ''B''''n'' = ''B''''M''–''n'' = ''b''''n'' for 0 < ''n'' < ''N'', and ''B''''n'' = 0 otherwise. ''A'' and ''B'' are then FFTed, multiplied pointwise, and inverse FFTed to obtain the convolution of ''a'' and ''b'', according to the usual convolution theorem. Let us also be more precise about what type of convolution is required in Bluestein's algorithm for the DFT. If the sequence ''b''''n'' were periodic in ''n'' with period ''N'', then it would be a cyclic convolution of length ''N'', and the zero-padding would be for computational convenience only. However, this is not generally the case: :b_ = e^ = b_n \left e^ \right= (-1)^N b_n . Therefore, for ''N'' even the convolution is cyclic, but in this case ''N'' is
composite Composite or compositing may refer to: Materials * Composite material, a material that is made from several different substances ** Metal matrix composite, composed of metal and other parts ** Cermet, a composite of ceramic and metallic materials ...
and one would normally use a more efficient FFT algorithm such as Cooley–Tukey. For ''N'' odd, however, then ''b''''n'' is antiperiodic and we technically have a negacyclic convolution of length ''N''. Such distinctions disappear when one zero-pads ''a''''n'' to a length of at least 2''N''−1 as described above, however. It is perhaps easiest, therefore, to think of it as a subset of the outputs of a simple linear convolution (i.e. no conceptual "extensions" of the data, periodic or otherwise).


z-transforms

Bluestein's algorithm can also be used to compute a more general transform based on the (unilateral)
z-transform In mathematics and signal processing, the Z-transform converts a discrete-time signal, which is a sequence of real or complex numbers, into a complex frequency-domain (z-domain or z-plane) representation. It can be considered as a discrete-tim ...
(Rabiner ''et al.'', 1969). In particular, it can compute any transform of the form: : X_k = \sum_^ x_n z^ \qquad k = 0,\dots,M-1, for an ''arbitrary''
complex number In mathematics, a complex number is an element of a number system that extends the real numbers with a specific element denoted , called the imaginary unit and satisfying the equation i^= -1; every complex number can be expressed in the fo ...
''z'' and for ''differing'' numbers ''N'' and ''M'' of inputs and outputs. Given Bluestein's algorithm, such a transform can be used, for example, to obtain a more finely spaced interpolation of some portion of the spectrum (although the frequency resolution is still limited by the total sampling time, similar to a Zoom FFT), enhance arbitrary poles in transfer-function analyses, etc. The algorithm was dubbed the ''chirp'' z-transform algorithm because, for the Fourier-transform case (, ''z'', = 1), the sequence ''b''''n'' from above is a complex sinusoid of linearly increasing frequency, which is called a (linear) chirp in
radar Radar is a detection system that uses radio waves to determine the distance ('' ranging''), angle, and radial velocity of objects relative to the site. It can be used to detect aircraft, ships, spacecraft, guided missiles, motor vehicles, we ...
systems.


See also

* Fractional Fourier transform


References

{{reflist


General

* Leo I. Bluestein, "A linear filtering approach to the computation of the discrete Fourier transform," ''Northeast Electronics Research and Engineering Meeting Record'' 10, 218-219 (1968). * Lawrence R. Rabiner, Ronald W. Schafer, and Charles M. Rader,
The chirp z-transform algorithm and its application
" ''Bell Syst. Tech. J.'' 48, 1249-1292 (1969). Also published in: Rabiner, Shafer, and Rader,
The chirp z-transform algorithm
" ''IEEE Trans. Audio Electroacoustics'' 17 (2), 86–92 (1969). * D. H. Bailey and P. N. Swarztrauber, "The fractional Fourier transform and applications," ''
SIAM Review Society for Industrial and Applied Mathematics (SIAM) is a professional society dedicated to applied mathematics, computational science, and data science through research, publications, and community. SIAM is the world's largest scientific soci ...
'' 33, 389-404 (1991). (Note that this terminology for the z-transform is nonstandard: a fractional Fourier transform conventionally refers to an entirely different, continuous transform.) * Lawrence Rabiner, "The chirp z-transform algorithm—a lesson in serendipity," ''IEEE Signal Processing Magazine'' 21, 118-119 (March 2004). (Historical commentary.) * Vladimir Sukhoy and Alexander Stoytchev
"Generalizing the inverse FFT off the unit circle"
(Oct 2019). # Open access. * Vladimir Sukhoy and Alexander Stoytchev
"Numerical error analysis of the ICZT algorithm for chirp contours on the unit circle"
Sci Rep 10, 4852 (2020).


External links


A DSP algorithm for frequency analysis
- the Chirp-Z Transform (CZT)
Solving a 50-year-old puzzle in signal processing, part two
FFT algorithms