Summary
Compute the chirp z-transform.
Unit
SignalUtils
Declaration
Procedure Czt(Src: TVec; k: integer; FStart, FStop: TSample; Result: TVec; FS: TSample = 2; RStart: TSample = 1; RStop: TSample = 1);
Description
Compute the chirp z transform of X and place it in Result. Chirp z transform transforms the time domain signal Src in to frequency domain. (as does FFT). FStart is the starting frequency and FStop is the stop frequency. k defines the number of steps within that frequency band. FS is the sampling frequency. RStart is the starting radius of the circle in the z-domain and RStop is the final radius of the circle in the z-domain. CZT does the same as the FFT algorithm, if k = Src.Length*0.5, FStart = 0 and FStop = FS/2. and Src.Length is power of two. CZT is slower, but more versatile then FFT. It can be faster then FFT, for large zero padding factors.
Chirp transform algorithm was first proposed by Bluestein. Generalization of the algorithm called Chirp-Z transform obtains samples of the z-transform spaced equally in angle on a spiral contour in z-plane. More on this subject can be found in [1] (p. 629) and [2] (p. 393). Rabiner [2] proposed the CZT algorithm.
Categories
Frequency analysis
Declaration
Procedure Czt(Src: TVec; k: integer; Result: TVec; RStart: TSample = 1; RStop: TSample = 1);
Description
Compute the chirp z-transform of Src and place it in Result. The starting frequency is zero and the stop frequency and FStop is at FS/2. k defines the number of steps within that band. RStart is the starting radius of the circle in the z-domain and RStop is the final radius of the circle in the z-domain.
Declaration
Procedure Czt(Src: TVec; k: integer; Step, Offset: TCplx; Result: TVec);
Description
Compute the chirp z-transform of Src and place it in Result. The starting frequency is defined with Offset and frequency step is defined with Step. The final frequency is at Offset + k*Step. k defines the number of frequency bins at which to estimated the amplitude and phase of the frequency. Example for computing the Step and Offset:
Step := Expj(-(FStop - FStart)*2*Pi/(k*FS));
Offset := Expj(2*Pi*FStart/FS);
Categories
Frequency analysis| See Also |
|---|
| [1] "Discrete-time signal processing, Oppenheim and Schafer, Prentice-Hall, 1989". |
| [2] "Theory and application of digital signal processing, Lawrence R. Rabiner and Bernard Gold. Prentice-Hall, 1975". |
| FrequencyResponse |
| Copyright 2008 Dew Research |
http://www.dewresearch.com