近年来,人工智能、大数据和云计算等新信息技术的应用越来越广泛,它们共同的特点就是需要对海量数据进行高性能的处理。与采用CPU、DSP和GPU实现数字信号处理(数据处理)系统相比,现场可编程门阵列(Field Programmable Gate Array,FPGA)具有天然并行处理能力,以及整体功耗较低的优势,成为新信息技术普及推广不可或缺的硬件处理平台。
一般而言,业界将FPGA归结为硬件(数字逻辑电路)范畴,而算法归结为软件范畴。在10年前,当采用FPGA作为数字信号处理平台时,设计者必须使用硬件描述语言来描述所构建的数字信号处理系统模型,而大多数的算法设计人员并不会使用硬件描述语言,这样对使用FPGA实现数字信号处理算法造成了困难,从而限制了FPGA的普及和推广。当采用FPGA作为数字信号处理实现平台时,软件算法人员希望自己只关注算法本身,而通过一些其他工具将这些软件算法直接转换为FPGA的硬件实现。
目前市场上使用的建模工具,多数以软件算法人员的视角来构建数字信号处理系统,这样显著降低了算法设计人员使用FPGA实现算法的难度,实现了软件和硬件的完美统一。本书将着重介绍Intel公司Quartus Prime Pro集成开发环境下提供的两种最新的数字信号处理建模工具:DSP Builder工具(使用MATLAB环境下的Simulink)和高级综合工具(High Level Synthesis,HLS)。这两个数字信号处理系统建模工具的出现,使得算法人员可以专注于研究算法本身。通过这些建模工具,将算法直接转换成寄存器传输级(Register Transfer Level,RTL)描述,下载到FPGA内进行算法实现。这样,当采用Intel FPGA作为数字信号处理硬件平台时,显著提高了系统的建模效率,并且可以在性能和实现成本之间进行权衡,以探索最佳的解决方案。
本书从传统的硬件描述语言、Simulink模型设计和C/C++高级综合三个角度,对基于Intel Cyclone 10 GX系列FPGA平台下的数字信号处理问题进行了详细介绍。全书共13章,主要内容包括信号处理理论基础、数字信号处理实现方法、数值的表示和运算、Intel FPGA数字信号处理工具、CORDIC算法原理及实现、离散傅里叶变换原理及实现、快速傅里叶变换原理及实现、离散余弦变换原理及实现、FIR和IIR滤波器原理及实现、重定时信号流图原理及实现、多速率信号处理原理及实现、多通道FIR滤波器原理及实现,以及其他类型数字滤波器原理及实现。
本书所介绍的内容反映了Intel FPGA在实现高性能数字信号处理(数据处理)系统方面的最新研究成果。力图帮助读者在使用FPGA构建数字信号处理系统时,知道如何实现在性能和成本之间进行权衡,如何正确地使用不同的数字信号处理系统建模工具和方法,更重要的是知道如何将软件算法转换成硬件实现。
本书在编写的过程中,得到Intel公司大学计划的大力支持和帮助,以及Mathworks公司图书计划的支持和帮助,在此向它们的支持和帮助表示衷心的感谢。本书在编写的过程中,编著者的学生罗显志、郑阳扬和甄向彻分别参与编写本书第8章、第9章和第10章的设计实例,在此向他们的辛勤劳动表示感谢。最后,向电子工业出版社编辑的辛勤工作表示感谢。
编著者
2021年8月于北京