发福利喽稀疏FFT

附介绍:
四位来自麻省理工学院的研究人员蒂娜·卡塔比(Dina Katabi)、海塞姆·哈桑(Haitham Hassanieh)、比欧特·因迪克(Piotr Indyk)和埃里克·普里斯(Eric Price)今年1月,提出了一种新算法,以替代计算机科学领域最重要的算法之一。————设计出了一种能更快执行傅里叶变换的算法。傅里叶变换是一种用于处理数据流的数学算法,是数字医学成像、Wi-Fi路由器和4G无线通信网络等众多技术的运算基础。

傅里叶变换的提出可追溯至19世纪,它的基本原理是,所有信号,例如录音,都可以表现为一系列不同频率和波幅的正弦和余弦波组合。进行变换之后,对这组波的处理会相对容易些——比方说,可以压缩一段录音或消除噪音。20世纪60年代中期,研究人员创造出了一种利用计算机实现的算法,称之为快速傅里叶变换(FFT)。相比未压缩的录音版本,MP3格式文件的体积之小简直令人惊叹,这让我们真正见识到了快速傅里叶变换的威力。

而利用被称为稀疏傅里叶变换(SFT)的新算法,数据流的处理速度会比快速傅里叶变换还要快上10倍至100倍。之所以能够如此大幅地提速,是因为我们关注的信息大多拥有大量的结构:例如音乐与不规则噪声就完全不是一回事。这些有意义的信号通常只能取一小部分可能值;用技术术语来表达,即这些信息是“稀疏”的。由于稀疏傅里叶变换算法不需要对所有可能的数据流都进行处理,因此它可以使用其他算法无法做到的某些快捷处理方式。从理论上看,如果一种算法只能用来处理稀疏信号,它受到的限制会比快速傅里叶变换多得多。但正如该算法的共同发明者、电子工程和计算机科学教授卡塔比所指出的那样,“稀疏性无处不在”,“它存在于大自然中,存在于视频信号中,存在于音频信号中。”
更快速的变换意味着,在处理既定量的信息时需要更少的计算能力——这对于智能手机这类能耗敏感型移动多媒体设备来说,不啻于天赐福音。或者,利用同样的运算能力,工程师们可以考虑一些对于传统快速傅里叶变换的计算需求而言有些不现实的工作。举例来说,当下因特网的骨干网和路由都只能读取或处理穿梭于其中的数据洪流的极小一部分,而凭借稀疏傅里叶变换,研究人员就可以更为详细地研究这种以每秒数十亿次速度发射的信息流了。
——本文刊登于麻省理工《科技创业》2012年7月刊
 
附官方链接
官方网站:  http://groups.csail.mit.edu/netmit/sFFT/code.html,有测试代码和相关文档
同步新浪微博http://blog.sina.com.cn/u/2029100307

转载于:https://www.cnblogs.com/aixueshuqian/p/4270115.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/459637.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux 多个秘钥,linux管理多个ssh公钥密钥

很多网上免ssh密码使用git的命令都没有考虑到多个公钥密钥的情况,这里搜集并整理一下管理多个ssh公钥密钥的步骤。首先生成公钥和密钥,默认情况公钥的文件名比密钥末尾多.pubssh-keygen -t rsa -f ~/.ssh/id_rsa.work -C "Key for Work stuff"…

OpenFire源码学习之二十一:openfie对用户的优化(上)

用户类 优化用户主要是要解决用户的连接量。已经对用户的访问速度和吞吐量。 预初始化 在前面的带面中提出来了用户的预初始化。这里就不在贴出来了。下面将redis用户库连接池处理贴出来UserJedisPoolManager public class UserJedisPoolManager extends BasicModule{private s…

Camera Calibration 相机标定:原理简介(三)

3 绝对圆锥曲线 在进一步了解相机标定前,有必要了解绝对圆锥曲线(Absolute Conic)这一概念。 对于一个3D空间的点x,其投影空间的坐标为:x~[x1,x2,x3,x4]T。我们定义无穷远处的平面用符号Π∞表示,该平面内的…

C语言判断两字符串同构,c语言实现判断两颗树是否同构

在本题中认为如果两个树左右子树交换可以相同,也被认为是同构树。对应输入格式为:4(总结点数)A - 1B 2 3C - -D - -#include #define Tree int#define Null -1#define MAXSIZE 10struct Node{char Element;Tree Left;Tree Right;}T1[MAXSIZE], T2[MAXSIZ…

C语言常量类型及名称,菜鸟带你入门C语言|基本数据类型之常量

常量在程序中,有些数据是不需要改变的,也是不能改变的,因此,我们把这些不能改变的固定值称为常量。如下图中的“5”、“A”、“Good”,这些在程序执行过程中是一直保持不变的,他们就是常量。printf的作用是…

Android TabHost中实现标签的滚动以及一些TabHost开发的奇怪问题

最近在使用TabHost的时候遇到了一些奇怪的问题,在这里总结分享备忘一下。 首先说一点TabActivity将会被FragmentActivity所替代,但是本文中却是使用的TabActivity。 下面说说本程序能够实现的功能: 实现TabHost中的标题栏能够横向滚动&#x…

tl wn322g linux驱动下载,怎样才能装好tl_wn322G+V2.0版USB无线网卡的Linux驱动

怎样才能装好tl_wn322GV2.0版USB无线网卡的Linux驱动tl_wn322G 2.0版无线网卡采用的是Atheros 的AR9271方案,我尝试了用ndiswrapper-1.55在linux下安装该无线网卡的Windows驱动,安装windows版的驱动时,用ndiswrapper -l ,显示为错…

20151022作业

中级学员:2015年10月22日作业一、采购管理1、采购管理的主要过程;答:采购管理包括如下几个过程。(1)编制采购计划。决定采购什么,何时采购,如何采购。(2)编制询价计划。记录项目对于产品、服务或成果的需求&#xff0c…

editplus 快捷键

shift i 减少缩进 tab 增加缩进 ctrl shift f 使用代码折叠功能转载于:https://www.cnblogs.com/zztinglan/p/4277616.html

Spring + Dubbo + zookeeper (linux) 框架搭建

2019独角兽企业重金招聘Python工程师标准>>> dubbo简介 节点角色说明: Provider: 暴露服务的服务提供方。 Consumer: 调用远程服务的服务消费方。 Registry: 服务注册与发现的注册中心。 Monitor: 统计服务的调用次调和调用时间的监控中心。 Container: …

c语言 函数编程四个数相加,C语言第四章课后编程题

1.编写程序,从键盘上输入4个整数,输出最小值。此题较为简单,只需定义一个桥梁最小值min就可以来着次比较他们的大小。2.编写一个程序,从键盘输入一个四位整数n,输出它的各位数字之和。例如n1308,则输出12&a…

[raywenderlich教程]

非常详细的图文入门教程http://www.raywenderlich.com/81879/storyboards-tutorial-swift-part-1 因为太长了 所以只放一些我觉得很有用的内容的翻译 The single View Controller you defined was set as the Initial View Controller – but how did the app load it? Take a…

iOS开发-XMPP

介绍一下XMPP?有什么优缺点吗?
XMPP:基于XML的点对点的即时通讯协议.XMPP协议是公开的,XMPP具有良好的拓展性,安全性.缺点是丢包率比较高.

c语言scanf附加格式*,C语言的scanf语句格式

满意答案pihiac2014.09.05采纳率:45% 等级:7已帮助:460人scanf语句的一般格式如下:scanf("格式字符串", 地址,…);scanf语句用"格式字符串"控制键盘读入的方式。"格式字符串"中一般只…

分析器错误

--提示 行 1: <% Application Codebehind"Global.asax.cs" Inherits"SDX.HR.RMS.MvcApplication" Language"C#" %> 说明&#xff1a;添加了的东西还原之后问题就没有了 --提示其他信息: 在向服务器发送请求时发生传输级错误。 (provider: …

YUV格式像素

转自&#xff1a;http://blog.csdn.net/grow_mature/article/details/9004548 一幅彩色图像的基本要素是什么&#xff1f; 说白了&#xff0c;一幅图像包括的基本东西就是二进制数据&#xff0c;其容量大小实质即为二进制数据的多少。一幅1920x1080像素的YUV422的图像&#xff…

mysql c语言教程,C语言调用mysql快速教程(精华篇).pdf

C语言调用mysql快速教程(精华篇).pdf&#xff0c;使用 语言操作 之前&#xff0c;先在 里头创建一个数据库&#xff0c;一个表&#xff0c;在表里头添加1 c mysql mysql数据如下&#xff1a;创建数据库&#xff0c;库名为 cusemysql:mysql create database cusemysql;创建表 表…

perl学习之:编译、执行与内存关系(转)

1、所谓在编译期间分配空间指的是静态分配空间&#xff08;相对于用new动态申请空间&#xff09;&#xff0c;如全局变量或静态变量&#xff08;包括一些复杂类型的 常量&#xff09;&#xff0c;它们所需要的空间大小可以明确计算出来&#xff0c;并且不会再改变&#xff0c;因…

生命游戏c语言代码easy,c++生命游戏源码

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼glViewport( 0, 0, width, height );glMatrixMode( GL_PROJECTION );glLoadIdentity( );}//程序入口int main(int argc, char *argv[]){//随机生成细胞的状态MapRand();std::cout<//SDL初始化const SDL_VideoInfo* info NULL;i…

从零开始学android开发-布局中 layout_gravity、gravity、orientation、layout_weight

线性布局中&#xff0c;有 4 个及其重要的参数&#xff0c;直接决定元素的布局和位置&#xff0c;这四个参数是 android:layout_gravity ( 是本元素相对于父元素的重力方向 ) android:gravity &#xff08;是本元素所有子元素的重力方向&#xff09; android:orientation &…