图书前言

随着数字信号处理算法的不断优化,数字信号处理器(Digital Signal Processors, DSPs)性能的不断提高,数字信号处理技术越来越被广泛地应用在各个领域。数字信号处理技术正朝着高速高性能方向发展,因此这对数字信号处理的手段和工具也提出了更高的要求。

随着现场可编程门阵列(Field Programmable Gate Array, FPGA)制造工艺的不断改进,其集成度和性能的不断提高,采用FPGA对数字信号进行处理越来越受到重视。与DSP相比,FPGA有着不可比拟的优势。一方面,与DSP靠程序指针来运行程序相比,FPGA执行算法的本质是靠电路并行执行的,因此在同样的时钟频率下,使用FPGA完成数字信号处理算法要比使用DSP快得多。另一方面,由于FPGA编程灵活,资源可重新配置,使得在实现数字信号处理时更加灵活,成本更低。因此,FPGA性能的不断提高,能够满足未来复杂数字信号高速实时处理的要求。 

    与DSP主要靠C语言编程来实现数字信号处理算法相比,使用传统的硬件描述语言(Hardware Description Language, HDL)在FPGA上编程实现数字信号处理算法要复杂一些,但是,随着FPGA相关信号处理软件工具性能的不断提高,未来在FPGA上实现数字信号处理算法将变得如同在DSP上使用C语言那样简单。

本书力图全面系统地介绍基于FPGA实现数字信号处理的原理及方法。通过系统介绍这些原理和方法,使读者能够系统、全面地掌握使用FPGA进行数字信号处理的方法和设计技巧。本书主要分为以下几个部分。

① 数字信号处理设计导论部分。该部分主要介绍数字信号处理技术概要,基于FPGA的数字信号处理的实现和基于DSP的数字信号处理的实现。在介绍基于FPGA的数字信号处理的实现部分,简单介绍了Xilinx的FPGA的结构和Xilinx所提供的用于数字信号处理的System Generator和AccelDSP软件工具的功能和处理流程。  ② FPGA的硬件结构及运算功能部分。该部分主要介绍Xilinx公司的Virtex-II、Virtex-4和Virtex-5 FPGA结构的特点和功能。在介绍Virtex-4结构时,详细介绍DSP48 Slice的结构、功能和用于数字信号处理的实现方法;在介绍Virtex-5结构时,详细介绍DSP48E Slice的结构、功能和用于数字信号处理的实现方法。在该部分也介绍了在FPGA中表示数字的方法。

◆FPGA数字信号处理实现原理及方法前 言③ 信号及其处理理论概述部分。该部分主要介绍信号的定义、信号的增益、失真及测量、噪声及处理、模拟信号及处理、数字信号及处理、通信信号的软件处理等内容。这些内容构成了信号处理的基本理论。

④ CORDIC算法原理及实现部分。该部分主要介绍CORDIC算法原理。在介绍算法原理时,介绍在圆坐标系、线性坐标系和双曲线坐标系下的旋转模式和向量模式实现CODIRC算法的过程。在此基础上,对算法性能进行了详细讨论,最后给出了使用System Generator实现该算法的方法。

⑤ FIR滤波器和IIR滤波器的设计部分。该部分主要介绍模拟到数字滤波器的转换、数字滤波器的种类、基本数字FIR滤波器的设计和数字IIR滤波器的设计等内容,这些内容给出设计滤波器的规则和方法。

⑥   其他常用数字滤波器的设计部分。该部分主要介绍滑动平均滤波器的设计、积分器和微分器的设计、梳状滤波器的设计、积分器梳状滤波器的设计、中频调制信号的产生和解调、CIC滤波器的设计等内容。该部分所介绍的滤波器也是数字滤波处理中经常用到的滤波器。

⑦ 重定时信号流图部分。该部分主要介绍信号流图的基本概念、割集重定时及规则、脉动阵列和自适应滤波器的SFG。该部分内容是在优化滤波器设计时,经常用到的理论知识。

⑧  数字通信信号处理原理及实现部分。该部分主要介绍信号检测理论、二进制基带数据传输、信号调制技术。该部分内容和数字通信的内容密切相关。

⑨ 自适应信号处理理论基础部分。该部分内容包括自适应信号处理技术的背景、自适应信号处理系统的结构、自适应信号处理的应用和自适应算法。

⑩  基于FPGA的自适应信号处理实现部分。该部分内容包括LMS硬件实现结构、最小二乘解的计算、指数RLS算法的实现、QR-RLS算法原理及实现。

B11 信号同步原理及实现部分。该部分内容包括信号的同步问题、符号定时及恢复等内容。在介绍符号定时及恢复时,重点介绍了符号定时原理、符号定时恢复、载波相位偏移及控制、帧同步的实现原理、数字下变频和数控振荡器的原理及实现和BPSK接收信号的同步。

B12 基于AccelDSP的数字信号处理的实现部分。该部分内容包括AccelDSP实现数字信号处理的设计流程和具体的实现步骤,使用AccelDSP软件工具将大大降低实现难度,使得在FPGA上实现数字信号处理算法更加容易。

B13 实验部分。该部分包含11个实验,这些实验使用了System Generator软件工具实现前面所介绍的理论知识,使读者掌握这些设计方法和设计技巧。

     在讲授和学习本书内容时,可以根据教学时数和内容的侧重点不同,适当地将相关章节的内容进行调整和删除。为了让读者更好地掌握相关的内容,本书给出了大量的设计实例程序。为了便于读者学习,本书配有光盘,光盘给出了本书所有完整的工程文件及示例程序。本书不仅可以作为大学信息处理相关专业高年级本科生和研究生学习FPGA数字信号处理课程的教学用书,也可作为从事信号处理相关领域教学和科研工作者的参考用书。

本书在编写过程中引用和参考了许多著名学者和专家的研究成果,同时也参考了Xilinx公司的技术文档和手册,在此向他们表示衷心的感谢。尤其要提到Bob Stewart、Louise Crockett两位教授,本书的完成也参考了他们提供的宝贵资料,正是由于这些宝贵资料才能使本书顺利完成,再次向他们表示衷心的感谢。在本书的编写过程中,何宾负责编写第1~7章,并对全书进行统稿,何军负责整理并编写第8~11章的内容,李颖负责整理并编写第12章的内容,刘静负责整理并编写实验1~实验6的内容,王纲领负责整理并编写实验7~实验11的内容,刘静和王纲领共同完成本书所有示例程序的验证工作。在本书的出版过程中,得到了Xilinx公司“大学计划”项目的大力支持与帮助,在此表示衷心的感谢。

由于编者水平有限,编写时间仓促,书中难免有疏漏之处,敬请读者批评指正。

编 者2009年8月