IEEE_电气工程师_数字信号处理_FORTRAN程序库-2 转换为C语言的高效FFT算法

IEEE_电气工程师_数字信号处理_FORTRAN程序库-2

快速付里叶变换算法 Fast Fourier Transform Algorithms 

1976年,IEEE组织编辑出版了《IEEE电气工程师 数字信号处理 FORTRAN程序库》。 该程序库的影印版参见http://download.csdn.net/download/wuyijun2010/2718795。 Fortran语言已经比较古老了。许多人不屑于使用它,认为不如C/C++好用。 其实,Fortran语言非常经典。使用Fortran编程,你大可不必关心诸如“指针、内存分配、数组越界”等等易错的问题。 学好Fortran编程,并不比学好C花更多时间,甚至更短。 最主要的,它是科学计算的主要程序语言。

如今,C语言应用到了很多小规模处理器上-比如单片机上,转换这些高效的FORTRAN算法为C语言,而不是重写一遍,显得更为合理。FORTRAN程序到C程序的转换使用了f2c。f2c可以将FORTRAN77标准的程序翻译为C程序,并提供了一套函数库用于编译转换后的C程序。这里使用mingw进行编译,命令: gcc *.c -o main.exe,生成main.exe,运行该程序对比计算结果。

下载:https://download.csdn.net/download/lang999888/11831487

该书出版后的三十五年后的今天,这些算法仍然占据着数字信号处理领域的重要位置。即使今天的处理器速度已经今非昔比,这些精炼高效的程序仍然非常有效,因为算法的实现方式直接关系到系统成本。 同期还出版了由奥本海姆和谢弗合著的《数字信号处理》一书。今天这仍是一本关于数字信号处理方法的经典著作。作者在绪论中提到的应用几乎包括了现代信息处理的各个领域。一些领域的信号处理依靠传统模拟设备是不可能实现的。由于器件速度限制,当时的数字信号处理大多还不能实时实现。尽管如此,抱着数字化系统终将付诸现实的信念,人们积极地开始了对各种数字系统的研究工作。 今天,越来越多的数字信号处理系统不仅能够实时实现,而且已经成为了各种设备的核心。很多设备,只有在输入输出端口,才进行数字到模拟之间的转换,内部则完全是数字处理系统。 因此,掌握数字信号处理知识和方法,应该是每个电子工程师必备的。

摘录前言 <1976年出版> 在过去的十五年里,数字信号处理已极其活跃。 数字信号处理进展的重要方面是算法和这些算法程序的具体化。 本程序分为八章,每章部有专门的提要。 第一章中重点叙述了离散付里叶变换(DFT)并且给出了各种快速付里叶变换(FFT)及其有关的算法。 第二章中包括了功率谱估计的周期图和相关法算法以及相关谱估计和互谱估计的算法。 第三章中是以快速FFT为基础的卷积程序。 第四章中给出了有关线性预测信号处理技术的几种算法,包括自相关法,协方差法和格点法。 第五章中主要阐述了有限冲激响应(FIR)数字滤波器的设计与综合。 第六章中给出了有关无限冲激响应(IIR)数字滤波器设计程序的综合资料。 第七章里叙述了倒谱和同态算法,侧重于同态系统相位计算的难点。 第八章里给出了有关内插和抽取的几个程序。 本书是在1976年初,由IEEE声学、语言学以及信号处理学会所组成的数字信号处理委员会,着手进行的一项计划的结晶。 本书所有程序符合下列要求: (1)必须包括全部用户文件。 (2)程序必须用FORTRAN语言,并且符合ANSI FORTRAN标准。 (3)编码应全部注释并已经排除错误,尽可能地清晰,明撩。 (4)编码应能传送,并且与机器无关。 (5)应提供有关输入,输出综合调试实例。 程序的可移植性在这项计划里是很重要的目的。 特别注意了保证精度,明撩以及材料的一致性。 所有程序编码的列表,直接从中央收集计算机可读源材料中打印出。 作者的文件手稿打入计算机系统之后,迸行最后的编辑和校正。 书中全部打印材料由计算机带动的照相排版机得到。

发布了26 篇原创文章 · 获赞 2 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/lang999888/article/details/101909023