基于FPGA下智能仪表信号处理的分析

2018-05-14 09:57任家峪孙蓓蓓
数字技术与应用 2018年2期
关键词:智能仪表信号处理

任家峪 孙蓓蓓

摘要:传统的DSP处理器在进行信号处理的时候,会花费较多的成本,造成较大的系统功耗,需要应用现场可编程门阵列(FPGA)完成DSP任务。基于此,本文从FPGA的结构特点出发,分析了基于FPGA的智能仪表信号处理,FPGA能够提升复数乘法、数字滤波器以及傅里叶变换的信号处理能力,使信号处理设备具有更优异的性能,成本与系统功耗有显著的降低。

关键词:FPGA;智能仪表;信号处理

中图分类号:TP216 文献标识码:A 文章编号:1007-9416(2018)02-0073-02

基于FPGA的信号处理设备获得了广泛的应用,大量的FPGA产品应用于智能仪表中,比如,路由器、无线基站以及调制器等。FPGA具备较强的灵活性,能够帮助技术人员开发出多样化的产品,还能够自动进行重配置,以此满足不同协议的需求。因此,对于基于FPGA下智能仪表信号处理的分析是很有必要的。

1 FPGA概述

FPGA是指现场可编程门阵列,是除了CPLD以外,另一种用于大规模可编程逻辑的PLD器件,主要通过基于SRAM的LUT逻辑形式结构,通过SRAM形成一个逻辑函数发生器。具体而言,FPGA包括以下结构:

第一,逻辑单元。在FPGA结构中,逻辑单元属于最小的单元,能够实现FPGA的逻辑功能。每个逻辑单元都由四个输入的LUT、一个可编程触发器、进位链以及级联链组成。其中,LUT是函数发生器,可以实现四个输入一个输出的所有逻辑函数;可编程触发器能够设置成为D触发器、T触发器、JK触发器或者SR触发器这四种;进位链能够为高速计算器以及加法器的应用提供支持;级联链能够保障多输入逻辑函数的有效计算。

第二,逻辑阵列。在FPGA结构中,逻辑阵列由八个逻辑单元、逻辑阵列的控制信号以及局部互连组成。逻辑阵列形成的“粗粒度”结构,能够实现EDA的布线以及布局,有效提升各个器件的性能。

第三,快速通道。在FPGA结构中,快速通道主要用于连接逻辑单元和I/O引脚,通过水平走向与垂直走向形成连续式布线通道。这种布线通道能够准确预测设计复杂器件的延时性能。与此同时,有些FPGA结构会应用分段式连线通道,这种通道的逻辑布线工作更为简单,但是延时性能的预测结果得不到保障。

第四,嵌入式阵列块。在FPGA结构中,嵌入式阵列块是指输入口和输出口位置安装有寄存器的RAM块,包括多个嵌入式RAM单元。如果需要应用到存储器相关功能的时候,嵌入式阵列块能够提供2048个位,每一个LAB均具有独立的结构,共同进行信号的输入和控制。与此同时,嵌入式阵列块不仅可以形成RAM、FIFO以及ROM等功能块,还可以进行计算器、DSP以及乘法器等多种复杂逻辑的计算,在计算的过程中,每个嵌入式阵列块可以提供一百到六百个等效门[1]。

2 基于FPGA下智能仪表信号处理

2.1 复数乘法在信号处理中的应用

复数运算能够用于多种智能仪表的信号处理,能够体现出智能仪表信号处理设备的性能,特别是复数乘法,可以体现出智能仪表信号处理中的复数运算能力。对于智能仪表而言,与DSP-24类似的元器件会在100ns内进行24×24位复数乘积,两个操作数的虚实部全都是24位精度,复数乘积算法需要进行四次实数乘法、一次加法以及一次减法。通常来说,一个满精度的24×24实数乘法器会占用348个逻辑片,将四次实数乘法计算的结果进行加法与减法,共需要48个逻辑片,由此可以计算出,复数乘法共需要4×348+48=1440个逻辑片,大約为Virtex XCV1000 FPGA提供资源的12%。FPGA不仅可以为复数乘法提供实现其算法功能的逻辑结构,还会为复数乘法提供足够的I/O带宽,分为片上数据传输带宽、片下数据传输带宽以及算术单元等多种部件间的数据传输带宽。

一般来说,软件信号处理器执行复数乘法的效率非常高,250MHz的DSP芯片会在每个时钟周期内实施两次16×16的复数乘法运算,也就是说,每2ns就会出现一个新的乘积。而FPGA的性能要更加优异,基于FPGA下智能仪表信号处理能够支持160MHz的频率,每1.56ns就能够出现一个新的乘积[2]。

2.2 数字滤波器在信号处理中的应用

作为信号处理器的基本构件,FIR滤波器的实现主要通过信号处理芯片来实现。根据目前的研究状况,基于FPGA的硬件系统,能够提升滤波器的信号处理能力,由此开发出FPGA多速率滤波器。该设备主要通过分布式算法得出多相十进制编码器,各个多相分段都能够看做是独立的DA过程,并行运行,共同形成一个能够支持特高输入采样率的多速率滤波器。其中,多相差值器主要通过并行MAC方法或者分布式算法来解决不同的问题。对于数字接收机而言,信号与载波的同步和自动增益的有效控制全部都需要控制回路来实现,而多相差值器能够在回路中进行信号采样相位的调整,并据此驱动差值器的跟踪回路。虽然多相差值器能够支持多个相位,但是仅有几个分段部分能够运行,需要依靠预置MAC的方法,将滤波器需要的系数集导入到一个或者多个MAC中,为内积的计算提供便利。

除此之外,还可以通过CIC方法实现FPGA多速率滤波器的运转,因为CIC方法需要通过寄存器、加法器以及减法器进行算法的运算,FPGA能够在这些算法运算方面具有较高的效率。

2.3 傅里叶变换在信号处理中的应用

和FIR滤波器相同,离散傅里叶变换在信号处理器中的应用也较为广泛,离散傅里叶变换主要通过快速傅里叶变换来完成。在智能仪表中,快速傅里叶变换能够提取信号传输信道的特点,实现带宽资源的最大化利用。通常来说,在OFDM中,快速傅里叶变换算法能够作为发送端的调制器,也能够作为接收端的解调器。在应用快速傅里叶变换算法的时候,DSP会在66μs对16位精度复数采样进行1次1024点的复数快速傅里叶变换算法。在某种特定的情况下,还会增加9μs进行位反向置换。但是基于FPGA,同样的快速傅里叶变换算法能够在41μs内实现复数计算以及位反向置换。

在进行FPGA DSP与其他DSP比较的时候,I/O带宽是非常重要的参数。对于FPGA而言,除了专用的引脚之外,大部分引脚都能够为用户所用,这种功能使得FPGA在进行信号处理时,I/O带宽具备十分优异的性能,使信号并行处效率更高。基于FPGA,智能仪表中存在独立的输入存储模块、工作存储模块以及结果缓存模块,能够保障I/O和傅里叶变换运算同时进行。由此可以看出,在41μs的时间内,涵盖了信号输入、信号处理以及信号输出。因此,基于FPGA,使用快速傅里叶变换算法进行信号处理,能够真正实现并行处理,提高了智能仪表信号处理的效率与准确度[3]。

3 结语

综上所述,基于FPGA的信号处理设备能够提升信号处理的效率与准确率,需要进行推广应用。分析可得,通过对基于FPGA下智能仪表信号处理的分析可知,技术人员在应用复数乘法、FIR滤波器以及傅里叶变换进行智能仪表信号处理的时候,可以应用现场可编程门阵列,提升信号处理的效率,保障信号处理的准确率。本文的然就仍旧存在不足之处,仅供参考。

参考文献

[1]王志杰.智能仪表远程通信信号中断故障处理[J].设备管理与维修,2016,(01):45-46.

[2]王晓燕,秦海鹏,丁启胜.传感信号检测与智能仪表一体化实验装置研制[J].实验技术与管理,2014,31(03):66-69+78.

[3]邵联合,曲卫冬.基于AVR单片机的智能仪表信号采集与显示系统设计[J].仪器仪表用户,2010,17(04):48-50.

猜你喜欢
智能仪表信号处理
智能仪表技术及工业自动化应用发展分析
《信号处理》征稿简则
《信号处理》第九届编委会
《信号处理》征稿简则
《信号处理》第九届编委会
智能仪表在动态称重系统中的应用
智能仪表在工业自动化控制中的运用研究