基于FPGA的线性卷积的实时实现
观察图8可知,经过FFT变换和IFFT变换以后的累积相对误差保持在±3%以内,主要原因是FPGA计算FFT和IFFT过程中由于精度的要求,进行数据舍去,造成误差的产生。这种误差是由硬件客观条件限制的,不可避免,但是±3%的误差精度完全可以满足实际应用。
本系统由于涉及到高速A/D、高速D/A,所以在PCB设计过程中必须考虑电磁兼容EMC(Electro Magnetic Compatibility)和抗电磁干扰EMI(Electro Magnetic Interference)性和信号的完整性。总体来说,在进行高速PCB设计过程中,不仅要考虑PCB的元器件布局和布线,同时设计中的接地、去耦和旁路同样重要。例如在A/D部分这种混合信号PCB设计中,由于混合了模拟信号与数字信号,只有尽可能减小电流环路的面积才能降低数字信号与模拟信号之间的相互干扰。一个可行的方法是将地平面分割,然后在A/D转换器下面将模拟地和数字地连接在一起。
在处理FFT和IFFT核的指数问题时,正常做法是在FFT结束后直接做一次指数调整,在IFFT结束后再做一次指数调整。设经过FFT核后的直接输出结果为X’(k)、对应指数输出为(-expl),x(n)的真实结果为X(k),则有
由式(12)可知,FFT和IFFT的两次指数调整实际可以在IFFT合为一次,可以减少控制的复杂程度。两次调整指数的示意图如图9所示。一次调整指数的示意图如图10所示。
6 结束语
本文基于Altera的FPGA EP2S60F1 020C8,搭建了结合A/D,D/A等功能的配套处理平台,完成了对高速离散卷积的硬件实现,使该系统在100 MHz时工作正常,满足了设计要求。同时,分析了影响处理速度的多个方面,提出了对应的改进方法,为系统的升级提供了依据。随着电子技术的发展,更高性能的FPGA处理芯片的出现和各种商业IP核的技术升级,本文提出的高速卷积的硬件实现方法在速度和灵活性等方面均逐渐展现出优越性。
评论