
Rochester Institute of Technology RIT Scholar Works Theses 7-1-2007 A real-time variable resolution Chirp z-Transform Christopher Felder Follow this and additional works at: https://scholarworks.rit.edu/theses Recommended Citation Felder, Christopher, "A real-time variable resolution Chirp z-Transform" (2007). Thesis. Rochester Institute of Technology. Accessed from This Thesis is brought to you for free and open access by RIT Scholar Works. It has been accepted for inclusion in Theses by an authorized administrator of RIT Scholar Works. For more information, please contact [email protected]. A Real-Time Variable Resolution Chirp z-Transform by Christopher E. Felder A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of Master of Science in Computer Engineering Supervised by Dr. Juan C. Cockburn Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology Rochester, NY July 2007 Approved By: Dr. Juan C. Cockburn Primary Advisor - R.I. T. Dept. of Computer Engineering Dr. Marcin Lukowiak Secondary Advisor - R.I. T. Dept. of Computer Engineering Dr. Raymond Ptucha Secondary Advisor - R.1. T. Dept. of Computer Engineering Thesis Release Permission Form Rochester Institute of Technology Kate Gleason College of Engineering Title: A Real-Time Variable Resolution Chirp z-Transform I, Christopher E. Felder, hereby grant permission to the Wallace Memorial Library to reproduce my thesis in whole or part. Christopher E. Felder Date Felder A Real -Time Variable Resolution Chirp z-Transform 2 Acknowledgements The author would like to thank the following for their contributions to this work: Juan Cockburn Marcin Lukowiak Raymond Ptucha Andreas Savakis Marty Grove Allen Montijo Felder A Real-Time Variable Resolution Chirp z-Transform Abstract An algorithm is introduced which performs real time, high-resolution Fourier transforms of large amounts of input data over an adjustable output band. The algorithm combines recent Fast Fourier and Chirp z-Transform developments to segment input data and boost output spectrum resolution. The target application is in test and measurement, where large numbers of input samples must be processed in real time, and a given frequency range of interest is usually involved. Because the application often runs on embedded hardware with limited resources, the algorithm dynamically attempts to optimize performance for available memory. Results are evaluated on hardware and resource requirements for achieving high resolution and real time operation. The feasibility of the algorithm's implementation in DSP hardware due to these requirements is discussed, along with its usefulness based on performance. Felder A Real-Time Variable Resolution Chirp z-Transform Table of Contents Acknowledgements 3 Abstract 4 List of Figures 6 List of Tables 7 Glossary 8 Background 9 a. Discrete Fourier Transform 9 b. Fast Fourier Transform 10 Definition 10 Algorithms 11 Programming Considerations 11 c. Chirp z-Transform 13 d. Interlaced Chirp z-Transform 15 e. Segmented Chirp z-Transform 17 II. Proposed Algorithm 19 a. Overview 19 b. Implementation 21 c. Test Program Implementation 28 III. Results 29 a. Test Data Sets 29 b. Test Environment 33 c. Resource Requirements 33 d. Algorithm Performance 37 i. Foundation Algorithms 37 ii. Data Set 1 40 iii. Data Set 2 43 iv. Data Set 3 44 v. Data Set 4 45 vi. Data Set 5 46 IV. Conclusions and Future Work 48 Biblography 50 Appendix A - Data Set Result Plots 52 a. Data Set 1 Result Plots 52 b. Data Set 2 Result Plots 56 c. Data Set 3 Result Plots 57 d. Data Set 4 Result Plots 58 e. Data Set 5 Result Plots 60 Felder A Real-Time Variable Resolution Chirp z-Transform List of Figures Page Figure Number Description 1 16 Interlaced CZT procedure, skipping two samples each step (g=2). 2 17 Segmentation of a periodic input signal. 3 20 The proposed algorithm. 4 21 Oshana's FFT algorithm function stub. 5 22 Ooura's FFT algorithm function stub. 6 23 Chirp z-Transform function stubs. 7 23 The Segmented CZT function stub (for testing and analysis purposes). 8 24 The Interlaced CZT function stub. 9 25 Interlaced CZT return value struct and helper functions. SCZT" 10 26 The "interlaced function. 11 27 The proposed algorithm's structure and flow. 12 28 Constants. h flags. 13 29 Data set input samples. 14 30 Data set 1. 15 31 Data set 2. 16 31 Data set 3. 17 32 Data set 4. 18 32 Data set 5. 19 34 CZT memory usage, N=256. 20 34 CZT memory usage, M=1024. 21 35 SCZT memory usage, M=1024. 22 36 iCZT memory usage, 10 interlacing steps. 23 36 iCZT memory usage, g=16. 24 37 FFT algorithm performance, data set 1. 25 37 FFT algorithm performance. 26 38 CZT algorithm performance. 27 39 Segmented CZT performance. 28 39 Interlaced CZT performance. 29 40 Interlaced CZT performance. 30 41 Data set 1 run 3 algorithm progression. 31 41 Data set 1 run 1 algorithm progression, segment size=32. 32 42 Data set 1 results for M values, Mem=1024B. 33 42 Data set 1 results for Mem values, M=256. 34 43 Data set 2 results for M values, Mem=65535B, Target=4.5-5.5Hz. 35 44 Data set 2 results for Mem values, M=1024, Target=0.9-l.lHz. 36 45 Data set comparison, N=65535, M=1024. 37 46 Data set 4 windowing performance. 38 47 Data set 5 run 6 algorithm progression. 39 47 Data set 5 performance for segment sizes, M=4096. Felder A Real-Time Variable Resolution Chirp z-Transform List of Tables Page Table Number Description 1 27 Thesis input arguments. 2 29 Test data sets. 3 33 Development and test machine specifications. 4 40 Data set 1 results. 5 43 Data set 2 results. 6 44 Data set 3 results. 7 45 Data set 4 results. 8 46 Data set 5 results. Felder A Real-Time Variable Resolution Chirp z-Transform Glossary Chirp z-Transform Computes DFTs of arbitrary sizes using a convolution. CZT See Chirp z-Transform. DFT See Discrete Fourier Transform. Discrete Fourier Transform Converts discrete time-domain signals to the frequency domain. 2n Fast Fourier Transform An efficient algorithm for computing the DFT, usually requiring input samples. FFT See Fast Fourier Transform. iCZT The Interlaced Chirp z-Transform algorithm. IFFT Inverse Fast Fourier Transform. Interlacing Insertion of samples at intervals such that resolution is increased. Leakage Signal energy at frequencies that do not exist in the original waveform. Sample Rate The frequency at which samples are taken. SCZT The Segmented Chirp z-Transform algorithm. Segmentation Division of data into pieces ("segments") of equal size. Spectrum A range of frequencies. Windowing Application of a function to input data to reduce leakage. Felder A Real-Time Variable Resolution Chirp z-Transform Chapter 1 Background a. Discrete Fourier Transform The frequency spectrum of a continuous signal in time is given by the Fourier transform (FT), or Fourier integral, defined as ..co e~iwt X(co) = x(t) dt (1) J CO where x(t) is a time signal and X(oj) is a function of angular frequency for the spectrum [18]. If the input signal is discrete in time, the discrete Fourier transform (DFT) is used instead, typically defined as w-i Z.Znnk.2nnk (2) n=0 where x(n) is a sequence of N samples, and X(k) is an N-point discrete frequency spectrum, ranging from zero to half the sampling frequency. Oftentimes, the DFT is written for convenience as w-i .271 Wnk > = W = e n X(k) V x(n) , (3) n=0 This W term is often used in Fourier equations. Note that the Fourier transforms in Equations 1-3 involve complex numbers; specifically, a straightforward DFT computation requires 0(N2) complex addition and multiplication operations. Felder A Real-Time Variable Resolution Chirp z-Transform b. Fast Fourier Transform i. Definition In 1965, Cooley and Tukey introduced the now popular fast Fourier transform (FFT), reducing the number of computations required (and associated rounding error) to 0(N-log2N) [1]. For a large data set of N = 1 Megapoints, for example, the number of complex operations is reduced from 1E12 to 2E7 operations. This advance has been quite significant in its contributions to developments in signal Algorithms" processing; Computing in Science & Engineering included the FFT in its "Top 10 issue, stating that "the FFT is perhaps the most ubiquitous algorithm used today to analyze and manipulate digital or discrete data," [2]. time," Cooley and Tukey's FFT algorithm is typically called "decimation in and begins with the N=2n observation that samples, XN can be divided into even and odd sets of terms, written Yk %2k k = 0,1, 1 (4) ?k = %2k+l The DFT of these two sequences of N/2 points, are therefore Anrk J A(k)m = X> Yke n k=0 r = 0,l --1 (5) Anrk J B(k)=m = X> Zke n k=0 The DFT of XN, expressed in terms of the split sequence DFTs in (5), can be written $-1 r Anrk + '- l) 3 = (6) X{k)= ^ Yke n +Zke N r 0, 1, 1 k=0 ^- ZAnrk ,2jrr 1 Anrk ,-.. Yke~J~N~ + e~J^T ) Zke~J~*T V) k=0 k=0 Substituting A(k) and B(k) from (5), we have 277T /V ' X(k) = A(k) + e n B(k), 0 < r < - (8) Felder A Real-Time Variable Resolution Chirp z-Transform 10 Finally, due to the periodic nature of the DFT for values of r > N/2, (8) can be rewritten using (3) as X(k) =A(k) + WrB(k) Xlk + 0<r<- (9) -) =A(k)-WB(k) 2n two- Because the input signal contains points, this decomposition can be carried out n times until a point function is obtained; this is referred to as a radix-2 FFT algorithm, and can be visually represented "butterfly" with what is known as an FFT diagram [1].
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages61 Page
-
File Size-