稀疏傅里叶变换(SFT)算法
2012-08-31 16:55
316 查看
Sparse Fast Fourier Transform :The discrete Fourier transform (DFT) is one of the most important and widely used computational tasks. Its applications are broad and include signal processing, communications, and audio/image/video compression. Hence, fast algorithms for DFT are highly valuable. Currently, the fastest such algorithm is the Fast Fourier Transform (FFT), which computes the DFT of an n-dimensional signal inO(nlogn) time. The existence of DFT algorithms faster than FFT is one of the central questions in the theory of algorithms.A general algorithm for computing the exact DFT must take time at least proportional to its output size n. In many applications, however, most of the Fourier coefficients of a signal are small or equal to zero, i.e., the output of the DFT is sparse. This is the case for video signals, where a typical 8x8 block in a video frame has on average 7 non-negligible frequency coefficients (i.e., 89% of the coefficients are negligible). For sparse signals, the Ω(n)lower bound for the complexity of DFT no longer applies. If a signal has a small number k of non-zero Fourier coefficients the output of the Fourier transform can be represented succinctly using only k coefficients. Hence, for such signals, we can find DFT algorithms whose runtime is sublinear in the signal size, n. We present here several new results for sparse Fourier transform: - An O(k log n)-time algorithm for the exactly k-sparse case. - An O(k log n log(n/k))-time algorithm for the general case. - An Ω(k log(n/k) loglog n) lower bound for sample complexity. Both algorithms improve over FFT, for any k = o(n). Moreover, if one assume that FFT is optimal, the algorithm for the exactly k-sparse case is optimal. Under the same assumption, the result for the general case is at most one loglog n factor away from the optimal runtime for the case of �large� sparsity k = n/log n. This research is supported in part by NSF and DARPA. 本文来源:http://groups.csail.mit.edu/netmit/sFFT/ |
相关文章推荐
- 如何向非技术人员解释“稀疏傅里叶变换”算法?
- 稀疏快速傅里叶变换(SFT)算法
- 稀疏矩阵转置算法-
- 第九周项目3---(1)建立稀疏矩阵三元组表示的算法库
- 稀疏矩阵【压缩算法】,具体代码没有,只是思想
- 【刘庆源码共享】稀疏线性系统求解算法MGMRES(m) 之 赋值类定义(C++)
- 稀疏表示之OMP,SOMP算法及openCV实现
- 稀疏矩阵实现算法(部分)
- 【代码】稀疏矩阵的压缩存储与转置算法
- 关于傅里叶变换的理解、快速傅里叶算法的推导以及蝶形运算的c语言实现
- 最短路各种算法 稠密图 稀疏图 时间分析
- 【刘庆源码共享】稀疏线性系统求解算法MGMRES(m) 之 MGMRES类申明(C++)
- GPU上大规模稀疏矩阵特征值计算高效算法之一——GPU介绍
- FFT(傅里叶变换)输入序列的倒序算法设计
- 稀疏矩阵采用三元组存储,设计算法求两个矩阵的和。
- 稀疏矩阵的三元组顺序表存储及矩阵相乘算法小结
- 【刘庆源码共享】稀疏线性系统求解算法MGMRES(m) 之 MGMRES类定义(C++)
- 【LB】稀疏矩阵的快速转置原理及其算法
- OpenCV下利用傅里叶变换和逆变换实现图像卷积算法,并附自己对于卷积核/模板核算子的理解!
- 以循环链表作稀疏多项式的存储结构, 编写求其导函数的算法