User:Bydottck13/sandbox

Sparse Fourier Transform (SFT) is a kind of discrete Fourier transform (DFT) for handling with Big data signals. Specifically, it is used in GPS synchronization, spectrum sensing and analog-to-digital converters.[1]

The fast Fourier transform (FFT) plays an indispensable role on many scientific domains, especially on signal processing. However, with the advent of big data era, the FFT still needs to be improved in order to save more computing power. Recently, the Sparse Fourier Transform (SFT) has gained a considerable amount of attention, for it performs well on analyzing the long sequence of data with few signal components.

Definition

edit

Let a sequence xn which are complex numbers, by Fourier series, xn can be written as

 

Similarly, Xk can be represented as

 

Hence, from the equations above, the mapping turns out  .

Single Frequency Recovery

edit

Now, we assume there is only a single frequency exists in the sequence. In order to recover this frequency from the sequence, it is decent to utilize the relationship between adjacent points of the sequence.

Phase Encoding

edit

The phase k can be obtained by dividing the adjacent points of the sequence. In other words,

 

Notice that  .

edit
 
An aliasing-based search

Seeking phase k can be done by Chinese remainder theorem (CRT)[2].

Take   for an example. Now, we have three relatively prime integers 100, 101 and 103. Thus, the equation can be described as

 

By CRT, we have

 

Randomly Binning Frequencies

edit
 
Spread all frequencies

Now, we desire to explore the case of multiple frequencies, instead of a single frequency. The adjacent frequencies can be separated by the scaling c and modulation b properties. Namely, by randomly choosing the parameters of c and b, the distribution of all frequencies can be almost a uniform distribution. The figure Spread all frequencies reveals by randomly binning frequencies, we can utilize the single frequency recovery to seek the main components.

 

where c is scaling property and b is modulation property.

By randomly choosing c and b, the whole spectrum can be looked like uniform distribution. Then, taking them into filter banks can separate all frequencies, including Gaussians [3], indicator functions[4][5], spike trains[6][7][8][9], and Dolph-Chebyshev filters[10]. Each bank only contains a single frequency.

The Prototypical SFT

edit

Generally, all SFT follows the three stages[11]:

Identifying Frequencies

edit

By randomly bining frequencies, all components can be separated. Then, taking them into filter banks, so each band only contains a single frequency. It is convenient to use the methods we mentioned to recover this signal frequency.

Estimating Coefficients

edit

After identifying frequencies, we will have many frequency components. We can use Fourier transform to estimate their coefficients.

 

Repeating

edit

Finally, repeating these two stages can we extract the most important components from the original signal.

 

Implementations

edit

There are several works based on MIT and ETH. Also, they are free online.

References

edit
  1. ^ Anna C. Gilbert; Piotr Indyk; Mark Iwen; Ludwig Schmidt (Sept. 2014). "Recent Developments in the Sparse Fourier Transform: A compressed Fourier transform for big data - IEEE Journals & Magazine". ieeexplore.ieee.org. doi:10.1109/MSP.2014.2329131. {{cite journal}}: Check date values in: |date= (help)
  2. ^ Iwen, M. A. (2010-01-05). "Combinatorial Sublinear-Time Fourier Algorithms". Foundations of Computational Mathematics. 10 (3): 303–338. doi:10.1007/s10208-009-9057-1. {{cite journal}}: More than one of |author1= and |last1= specified (help)
  3. ^ Haitham Hassanieh; Piotr Indyk; Dina Katabi; Eric Price (2012). Simple and Practical Algorithm for Sparse Fourier Transform. pp. 1183–1194. doi:10.1137/1.9781611973099.93. ISBN 978-1-61197-210-8. {{cite book}}: |website= ignored (help)
  4. ^ Gilbert, A. C.; Guha, S.; Indyk, P.; Muthukrishnan, S.; Strauss, M. (2002). "Near-optimal sparse fourier representations via sampling". Proceeding STOC '02 Proceedings of the Thiry-fourth Annual ACM Symposium on Theory of Computing: 152–161. doi:10.1145/509907.509933. ISBN 1581134959.
  5. ^ Gilbert, A. C.; Muthukrishnan, S.; Strauss, M. (21 September 2005). Papadakis, Manos; Laine, Andrew F.; Unser, Michael A. (eds.). "Improved time bounds for near-optimal sparse Fourier representations". Proc. SPIE, Wavelets XI. Wavelets XI. 5914: 59141A. doi:10.1117/12.615931.
  6. ^ Badih Ghazi. "Sample-optimal average-case sparse Fourier Transform in two dimensions - IEEE Conference Publication". ieeexplore.ieee.org. doi:10.1109/Allerton.2013.6736670. {{cite journal}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  7. ^ Iwen, M. A. (2010-01-05). "Combinatorial Sublinear-Time Fourier Algorithms". Foundations of Computational Mathematics. 10 (3): 303–338. doi:10.1007/s10208-009-9057-1. {{cite journal}}: More than one of |author1= and |last1= specified (help)
  8. ^ Mark A.Iwen (2013-01-01). "Improved approximation guarantees for sublinear-time Fourier algorithms". Applied and Computational Harmonic Analysis. 34 (1): 57–82. doi:10.1016/j.acha.2012.03.007. ISSN 1063-5203.
  9. ^ Sameer Pawar (2013). "Computing a k-sparse n-length Discrete Fourier Transform using at most 4k samples and O(k log k) complexity - IEEE Conference Publication". ieeexplore.ieee.org. doi:10.1109/ISIT.2013.6620269. {{cite journal}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  10. ^ Hassanieh, Haitham; Indyk, Piotr; Katabi, Dina; Price, Eric (2012). "Nearly Optimal Sparse Fourier Transform". Proceedings of the Forty-fourth Annual ACM Symposium on Theory of Computing. ACM: 563–578. doi:10.1145/2213977.2214029. ISBN 9781450312455. {{cite journal}}: More than one of |author1= and |last1= specified (help); Unknown parameter |coauthors= ignored (|author= suggested) (help)
  11. ^ Anna C. Gilbert; Piotr Indyk; Mark Iwen; Ludwig Schmidt (Sept. 2014). "Recent Developments in the Sparse Fourier Transform: A compressed Fourier transform for big data - IEEE Journals & Magazine". ieeexplore.ieee.org. doi:10.1109/MSP.2014.2329131. {{cite journal}}: Check date values in: |date= (help)