论文部分内容阅读
[摘 要]随着现代工业的发展,人们对数字信号的处理要求越来越高,特别是对数字信号的实时性要求提出很高的要求,但是当现有的信号处理器都无法达到所需要的速度时,首先想到的解决办法是增加处理器的数目,或者是采取门阵列的方式。另一方面,随着可编程逻辑器件技术的发展,拥有特殊并行处理能力的现场可编程门阵列在不管是体积、性能还是成本等方面都显示出了无与伦比的优势。本文就基于FPGA的数字信号处理算法研究与高效实现问题,进行了浅要探讨。
[关键词]FPGA;数字信号处理;算法研究;高效实现
中图分类号:TN791 文献标识码:A 文章编号:1009-914X(2016)20-0275-01
FPGA(现场可编程门阵列)和DSP(数字信号处理芯片)发展至今已经有了二十多年的历史,但和DSP很早就确立数字信号处理领域的霸主地位相比,FPGA由于成本、功耗和性能限制,一直被使用在系统外围,从最初用于胶合逻辑,到控制逻辑,再到用于数据通路,慢慢地接近系统的核心”。进入21世纪后,随着90和65纳米工艺的采用,FPGA在成本、功耗和性能上大幅改善,具备成为系统核心的条件;另一方面,3G和互联网时代的来临,要求复杂和大量并行处理,DSP在做并行处理时不如FPGA,这为具有强大并行处理能力的FPGA带来了需求。正因为如此,Xilinx、Altera公司推出的多款FPGA都具备了强大的数字信号处理能力在通信、消费、嵌入式等领域,并开始行使DSP的功能。Xilinx于2008年初向市场推出的针对高性能数字信号处理而优化的65纳米virtex一5sxT现场可编程门阵列,最高DSP性能达到352GMAC(每秒十亿次乘累加),192至660个专用18x25位DSPSlices。同时该公司又推出低成本Spartan一DsP系列新型xtremeDsP组合,可提供超过30GMAC/2200GbPs存储器带宽,与同类的其它高性能可配置DSP器件相比,動态功耗降低多达50%,而价格不到30美元。与此同时,Altera公司也推出了65纳米低成本cyclonem系列产品,它含有288个数字信号处理乘法器,其性能可达260MHz,存储器能达到4MB,适合宽带并行处理应用,而功耗与上一代90纳米CycloneH相比降低了50%。FPGA强大的并行处理能力也给水声信号处理领域注入了新的活力。如在图像声纳、多波束测深等系统中需要对几十路甚至上百路信号进行处理,运算量十分庞大,对实时性的要求也非常高,如果利用FPGA实现则可能极大的减小系统的功耗,体积和成本。
一、FPGA的设计基础
1、FPGA的基本构成
现在主要的生产FPGA的公司有四家,他们分别是Xilinx、Altera、Lattice、以及 Actel。但是这四家生产的FPGA各有特点。主要工艺有SRAM和FLASH这两种。
(1)可编程输入输出单元:输入输出单元简称I/O单元,I/O单元特供了连接外接器件的引脚和内部逻辑阵列之间的连接。I/O单元主要由输入触发器、输入缓冲器、输出触发和输出缓冲器组成。
(2)基本可编程逻辑单元:可编程逻辑单元是FPGA的主要结构,是实现逻辑功能的结构,可编程逻辑单元主要由触发器和查找表组成。
(3)嵌入式块RAM:RAM可用作单端口和双端口,这极大地扩展了FPGA的应用范围和灵活性。
(4)布线资源:各种长度的连线和一些可编程连接开关,他们将各个基本可编程和输入与输出连接在一起,构成了各种各样的复杂结构。
2、关于FPGA的设计流程
FPGA的设计流程主要由以下几部分组成:设计输入、综合设计、适配、仿真、编程下载。
(1)设计输入:以一定的方式将电路系统输入给EDA工具,现在最为常用的两种输入方式为图形法和文本输入法。
(2)综合设计:总额输入是指把HDL语言、原理图等设计输入翻译成由与、或、非、触发器、RAM等元器件的连接,并且根据最终的目标要求将生成的连接进行优化,输出能够使FPGA实现的标准的网表文件。
(3)适配:配置的用途是将生成好的网表文件配置到指定的目标期间之中,使之产生最终的的下载文件。
(4)仿真:将完成布局线后的时延信息反标到网表中所进行的仿真,也叫做时序仿真,简称后仿真。
3、高速FFT处理器设计
针对图像声纳实时性的要求,研究了FFT处理器的三种体系结构:级联、递归、阵列。考虑到器件片内资源和处理器性能的限制,采用了级联和并行递归结构的FFT处理器。级联结构采用了多级流水线,在节约资源的同时提高了处理速度。同时在蝶形运算中引入了CORDIC算法,提高了处理器的最高工作频率:并行递归结构充分利用基四蝶形运算的特点,采用了并行和块浮点结构,兼顾定点的高速率和浮点的高精度。此外,在通过了时序仿真的基础上还设计了硬件测试平台,对实时采集的数据进行FFT运算,进一步验证了设计的正确。本文设计的两种FFT处理器,工作在150MHz时,完成1024点FFT运算分别只需要6.83us和8.sus,达到了设计指标。
4、数字滤波器及相关器设计
数字滤波和相关器中最主要的操作是乘累加(MAC),根据所选FPGA的片内资源,采用了有乘法器和无乘法器两种结构。无乘法器结构采用分布式算法,将乘法运算转化为FPGA易于实现的查找表和移位累加操作。针对相关运算对实时性的要求,采用了可扩展MAC的结构。此外,对相关运算的频域实现方法进行了研究,利用复数乘法与4点DFT的相似性,分时复用乘法器资源,实现了对资源的共享。
5、工程应用
(1)在MAC和DA方法的基础上设计了多通道滤波器结构,为超短基线定位系统设计了8通道、256阶、200kHz采样率、通频带为8.skHz一15.skHz的带通FIR滤波器,实际测试表明该滤波器性能良好。
(2)图像声纳预处理模块的实现。在单片EPZS6O上实现了对160路信号的接收、滤波、正交变换以及发送。性能良好,达到了设计要求。本文对数字信号处理算法在FPGA中的实现做了有益的尝试,所设计的FFT、滤波及相关等算法均接近了IP核的效率,达到了高效实现的目的。通过完成图像声纳预处理模块的经验可以看出,在高速、大运算量、算法结构规整等场合选择FPGA作为处理器,可以有效地减小系统的成本、体积和功耗,使得系统的单芯片解决方案成为可能。同时论文中还存在以下几点不足和需要改进的地方:①FFT处理器的并行递归结构中,当点数N大于1024时,若仍采用单蝶形运算模块,N点FFT运算的时间将大于N个时钟周期,为达到高速运算的目的,有必要采用多蝶形单元并行运算。②相关运算的频域方法仅实现了32点和128点,由于时间关系未能完成更高点数的运算。这些问题有待后续同学完善和提高。③图像声纳预处理模块仅完成了在实验室的联调,需要在水池做进一步的实验。
二、结论
本文以FPGA在数字信号处理的背景下,讨论了高效FFT的实现、相关运算与滤波器的实现、图像声呐的实现等 FPGA 实现方法的具体事项。 综合验证了FPGA在这些领域的应用,结果都较为理想,为以后FPGA的更广泛的发展提供一点粗略的经验。
参考文献
[1]行韶谞,段衍东,韩涛.基于FPGA的简易数字信号传输性能分析系统[J].气象水文海洋仪器,2012,29(3):41-46.
[2]彭宇,姜红兰,杨智明等.基于DSP和FPGA的通用数字信号处理系统设计[J].国外电子测量技术,2013,(1):17-21.
[关键词]FPGA;数字信号处理;算法研究;高效实现
中图分类号:TN791 文献标识码:A 文章编号:1009-914X(2016)20-0275-01
FPGA(现场可编程门阵列)和DSP(数字信号处理芯片)发展至今已经有了二十多年的历史,但和DSP很早就确立数字信号处理领域的霸主地位相比,FPGA由于成本、功耗和性能限制,一直被使用在系统外围,从最初用于胶合逻辑,到控制逻辑,再到用于数据通路,慢慢地接近系统的核心”。进入21世纪后,随着90和65纳米工艺的采用,FPGA在成本、功耗和性能上大幅改善,具备成为系统核心的条件;另一方面,3G和互联网时代的来临,要求复杂和大量并行处理,DSP在做并行处理时不如FPGA,这为具有强大并行处理能力的FPGA带来了需求。正因为如此,Xilinx、Altera公司推出的多款FPGA都具备了强大的数字信号处理能力在通信、消费、嵌入式等领域,并开始行使DSP的功能。Xilinx于2008年初向市场推出的针对高性能数字信号处理而优化的65纳米virtex一5sxT现场可编程门阵列,最高DSP性能达到352GMAC(每秒十亿次乘累加),192至660个专用18x25位DSPSlices。同时该公司又推出低成本Spartan一DsP系列新型xtremeDsP组合,可提供超过30GMAC/2200GbPs存储器带宽,与同类的其它高性能可配置DSP器件相比,動态功耗降低多达50%,而价格不到30美元。与此同时,Altera公司也推出了65纳米低成本cyclonem系列产品,它含有288个数字信号处理乘法器,其性能可达260MHz,存储器能达到4MB,适合宽带并行处理应用,而功耗与上一代90纳米CycloneH相比降低了50%。FPGA强大的并行处理能力也给水声信号处理领域注入了新的活力。如在图像声纳、多波束测深等系统中需要对几十路甚至上百路信号进行处理,运算量十分庞大,对实时性的要求也非常高,如果利用FPGA实现则可能极大的减小系统的功耗,体积和成本。
一、FPGA的设计基础
1、FPGA的基本构成
现在主要的生产FPGA的公司有四家,他们分别是Xilinx、Altera、Lattice、以及 Actel。但是这四家生产的FPGA各有特点。主要工艺有SRAM和FLASH这两种。
(1)可编程输入输出单元:输入输出单元简称I/O单元,I/O单元特供了连接外接器件的引脚和内部逻辑阵列之间的连接。I/O单元主要由输入触发器、输入缓冲器、输出触发和输出缓冲器组成。
(2)基本可编程逻辑单元:可编程逻辑单元是FPGA的主要结构,是实现逻辑功能的结构,可编程逻辑单元主要由触发器和查找表组成。
(3)嵌入式块RAM:RAM可用作单端口和双端口,这极大地扩展了FPGA的应用范围和灵活性。
(4)布线资源:各种长度的连线和一些可编程连接开关,他们将各个基本可编程和输入与输出连接在一起,构成了各种各样的复杂结构。
2、关于FPGA的设计流程
FPGA的设计流程主要由以下几部分组成:设计输入、综合设计、适配、仿真、编程下载。
(1)设计输入:以一定的方式将电路系统输入给EDA工具,现在最为常用的两种输入方式为图形法和文本输入法。
(2)综合设计:总额输入是指把HDL语言、原理图等设计输入翻译成由与、或、非、触发器、RAM等元器件的连接,并且根据最终的目标要求将生成的连接进行优化,输出能够使FPGA实现的标准的网表文件。
(3)适配:配置的用途是将生成好的网表文件配置到指定的目标期间之中,使之产生最终的的下载文件。
(4)仿真:将完成布局线后的时延信息反标到网表中所进行的仿真,也叫做时序仿真,简称后仿真。
3、高速FFT处理器设计
针对图像声纳实时性的要求,研究了FFT处理器的三种体系结构:级联、递归、阵列。考虑到器件片内资源和处理器性能的限制,采用了级联和并行递归结构的FFT处理器。级联结构采用了多级流水线,在节约资源的同时提高了处理速度。同时在蝶形运算中引入了CORDIC算法,提高了处理器的最高工作频率:并行递归结构充分利用基四蝶形运算的特点,采用了并行和块浮点结构,兼顾定点的高速率和浮点的高精度。此外,在通过了时序仿真的基础上还设计了硬件测试平台,对实时采集的数据进行FFT运算,进一步验证了设计的正确。本文设计的两种FFT处理器,工作在150MHz时,完成1024点FFT运算分别只需要6.83us和8.sus,达到了设计指标。
4、数字滤波器及相关器设计
数字滤波和相关器中最主要的操作是乘累加(MAC),根据所选FPGA的片内资源,采用了有乘法器和无乘法器两种结构。无乘法器结构采用分布式算法,将乘法运算转化为FPGA易于实现的查找表和移位累加操作。针对相关运算对实时性的要求,采用了可扩展MAC的结构。此外,对相关运算的频域实现方法进行了研究,利用复数乘法与4点DFT的相似性,分时复用乘法器资源,实现了对资源的共享。
5、工程应用
(1)在MAC和DA方法的基础上设计了多通道滤波器结构,为超短基线定位系统设计了8通道、256阶、200kHz采样率、通频带为8.skHz一15.skHz的带通FIR滤波器,实际测试表明该滤波器性能良好。
(2)图像声纳预处理模块的实现。在单片EPZS6O上实现了对160路信号的接收、滤波、正交变换以及发送。性能良好,达到了设计要求。本文对数字信号处理算法在FPGA中的实现做了有益的尝试,所设计的FFT、滤波及相关等算法均接近了IP核的效率,达到了高效实现的目的。通过完成图像声纳预处理模块的经验可以看出,在高速、大运算量、算法结构规整等场合选择FPGA作为处理器,可以有效地减小系统的成本、体积和功耗,使得系统的单芯片解决方案成为可能。同时论文中还存在以下几点不足和需要改进的地方:①FFT处理器的并行递归结构中,当点数N大于1024时,若仍采用单蝶形运算模块,N点FFT运算的时间将大于N个时钟周期,为达到高速运算的目的,有必要采用多蝶形单元并行运算。②相关运算的频域方法仅实现了32点和128点,由于时间关系未能完成更高点数的运算。这些问题有待后续同学完善和提高。③图像声纳预处理模块仅完成了在实验室的联调,需要在水池做进一步的实验。
二、结论
本文以FPGA在数字信号处理的背景下,讨论了高效FFT的实现、相关运算与滤波器的实现、图像声呐的实现等 FPGA 实现方法的具体事项。 综合验证了FPGA在这些领域的应用,结果都较为理想,为以后FPGA的更广泛的发展提供一点粗略的经验。
参考文献
[1]行韶谞,段衍东,韩涛.基于FPGA的简易数字信号传输性能分析系统[J].气象水文海洋仪器,2012,29(3):41-46.
[2]彭宇,姜红兰,杨智明等.基于DSP和FPGA的通用数字信号处理系统设计[J].国外电子测量技术,2013,(1):17-21.