当前位置: 首页 > 专利查询>南京大学专利>正文

一种适用于多种卷积模式的FIR滤波器实现制造技术

技术编号:17597888 阅读:25 留言:0更新日期:2018-03-31 10:49
本发明专利技术公开了一种可适用于多种卷积模式的FIR滤波器及其硬件实现,该结构可以支持目前卷积神经网络中主流的卷积运算,如步长为1的3*3和5*5的卷积计算以及步长为2的3*3卷积运算等,并运用6并行快速FIR算法来减小硬件消耗,降低卷积计算复杂度,提高数据吞吐率。本发明专利技术完成了步伐为2的三并行卷积运算的硬件结构推导,并在不增加加法器与乘法器的基础上将其与6并行快速FIR滤波器硬件结构相结合,使得该结构在适配的每种模式下都极大得利用了硬件资源。本发明专利技术通过该单一硬件结构的不同配置可以实现目前绝大多数主流的卷积神经网络计算,提高了硬件利用率,具备了高通用性,简化了卷积神经网络的硬件实现。

Implementation of a FIR filter suitable for multiple convolution modes

【技术实现步骤摘要】
一种适用于多种卷积模式的FIR滤波器实现
本专利技术涉及计算机及电子科学领域,特别涉及深度学习领域卷积神经网络的硬件实现,一种兼容步伐为1卷积计算与步伐为2卷积运算的通用架构及硬件实现。
技术介绍
卷积神经网络(CNN)由于其在图像,音频等领域卓越的表现,如今已成为当前最为流行,且应用最广泛的深度学习算法之一。随着近年来卷积神经网络的飞速发展,大卷积核在模型中的应用已经越来越少,目前各个模型中运用最广泛的是3*3与5*5的卷积运算,并且步伐为2的卷积运算也被越来越多的模型运用到。而针对步伐为2的卷积运算,却一直没有一个很好的硬件实现优化方案。传统的步伐为1的卷积运算可以通过快速FIR算法以提高并行度并减少乘法器资源。一个N抽头的FIR滤波器在时域的多项式表示为:或者在z域中可以表示为若将长度为N的FIR滤波器系数序列{h(n)}作为N维离散卷积的系数,则该FIR滤波器可以实现一个N维的卷积运算。通过N个该滤波器的组合,可以实现卷积神经网络中N*N的卷积运算。而快速FIR算法可以实现高并行度,以及通过增加加法器而减少乘法器的方法来实现低复杂度。但是该方法对于步长为2的卷积运算并不合适,通过该方法进行计算并选择性的输出来实现步长为2的卷积会带来硬件资源的严重浪费,每个周期内都有约50%的硬件资源对计算结果是无影响的。所以一种既能够实现传统步长为1的卷积运算又能实现步长为2的卷积运算,且具有低复杂度、高并行度、高硬件资源利用率的通用硬件架构将成为一种需求。
技术实现思路
针对上述问题,本专利技术提出了一种在快速FIR算法框架上既可兼容步长为1又可兼容步长为2的卷积计算架构及其硬件实现。本专利技术在一种硬件架构上实现了三种计算模式,分别为6抽头6并行卷积计算,三个独立的3抽头3并行卷积运算,以及2个独立的步长为2的3抽头3并行卷积计算。本专利技术具备高通用性,通过对该硬件架构的不同配置,可以实现大部分当前主流的卷积运算。具体
技术实现思路
如下:一种可适用于多种卷积模式的FIR滤波器,其硬件架构包括:1)数据输入选择单元,针对不同的卷积模式,将输入数据进行重新选择排列输入至相应的卷积计算模块。2)卷积计算单元,基本组成单元是3并行的3抽头快速FIR滤波器,并插入了数据选择器控制数据流来针对不同的卷积运算。3)卷积后计算单元,对卷积计算单元的的输出进行处理计算从而实现对卷积计算单元内多个独立组成单元的级联,形成一个多并行多抽头的快速FIR滤波器。4)数据输出选择单元,针对不同的卷积模式,选择与其对应的计算结果作为模块输出。本专利技术的第二种计算模式为三个独立的3抽头3并行快速FIR算法硬件结构,其中3抽头3并行快速FIR硬件结构是最基本的组成模块,通过公式推导可得每一个输出Y与输入X之间的关系:Y0=H0X0-z-3H2X2+z-3[(H1+H2)(X1+X2)-H1X1]Y1=[(H0+H1)(X0+X1)-H1X1]-[H0X0-z-3H2X2]Y2=[H0+H1+H2)(X0+X1+X2)]-[(H0+H1)(X0+X1)-H1X1]-[(H1+H2)(X1+X2)-H1X1]而对于步长为2的3抽头3并行卷积运算,可以推导出每一个输出Y与输入X之间的关系为:Y0=H0X0+z-6(H2X4+H1X5)Y1=H2X0+H1X1+H0X2Y2=H2X2+H1X3+H0X4通过乘法器与加法器的复用,并且加入多路复用器的方式将步长为2的卷积运算与快速FIR算法相结合,从而实现具有高硬件资源利用率,高并行度,高通用性的卷积运算硬件架构。附图说明图1为步长为2的3并行卷积计算硬件结构图。图2为3抽头3并行快速FIR滤波计算硬件结构图。图3为本专利技术整体架构图。图4为本专利技术一种适用于多种卷积模式的FIR滤波器硬件结构图。具体实施方式下面将结合附图对本专利技术的具体实施作更进一步的说明,步长为2的卷积运算与步长为1的卷积运算在具体实施时有着很大的不同,因为每一次输入的数据与上一次数据间隔为2,这使得用快速FIR算法进行并行计算的时候,由于数据的非连续性,使得一半的计算结果都是无用数据。若不使用快速FIR算法,由输入与输出的关系:Y0=H0X0+z-6(H2X4+H1X5)Y1=H2X0+H1X1+H0X2Y2=H2X2+H1X3+H0X4可以得到若将步长为2的卷积运算做成3并行,其硬件结构如图1所示。该硬件结构一共用到了9个乘法器和6个加法器,每输入6个数据计算得到3个输出,相对于快速FIR算法在做到相同并行的条件下,实现了硬件资源的高利用率。一种快速FIR滤波器的硬件结构如图2所示。该硬件结构通过增加加法器减少乘法器的方法来降低硬件实现复杂度并做到了高并行度。对于传统步长为1的卷积运算,该硬件结构可以实现高效的运算。本专利技术通过将上述两种硬件结构的融合实现了对步伐为1与步伐为2的卷积运算的高效的支持,在高并行度的前提下具有复杂度低,硬件利用率高,通用性强等特点。图3为本专利技术的硬件架构,如图该架构包括四个模块:1)数据输入选择单元,针对不同的卷积模式,将输入数据进行重新选择排列输入至相应的卷积计算模块。2)卷积计算单元,基本组成单元是3并行的3抽头快速FIR滤波器,并插入了数据选择器控制数据流来针对不同的卷积运算。3)卷积后计算单元,对卷积计算单元的的输出进行处理计算从而实现对卷积计算单元内多个独立组成单元的级联,形成一个多并行多抽头的快速FIR滤波器。4)数据输出选择单元,针对不同的卷积模式,选择与其对应的计算结果作为模块输出。具体的硬件电路结构如图4所示。本专利技术通过复用乘法器与加法器并加入多路复用器的方法从而实现了将步长为2的3并行卷积计算硬件结构与三并行快速FIR滤波器的融合,在没有增加一个乘法器与加法器的条件下实现了对步伐为2与步伐为1两种卷积模式的兼容。将3个3并行快速FIR滤波器级联实现6并行快速FIR滤波器。本专利技术共有三种工作模式可以选择,第一种为3个独立的3并行3抽头快速FIR滤波器,通过设置抽头系数H,可以是实现3*3的卷积运算。第二种为2个独立的步长为2的3抽头卷积运算。第三种为单个6并行快速FIR滤波器。通过对第三种模式的最后一位抽头系数置0可以实现5*5的卷积运算。只需将数据输入X,抽头系数H,以及工作模式M输入至该硬件电路,本专利技术会根据输入的模式对X与H进行自动分配,输入至每个子模块进行运算,并将得出的结果通过多路复用器选择与模式相匹配的数据作为结果输出。当然本专利技术不仅仅适用于卷积神经网络的计算中,在数字图像处理,数字信号处理,无线通信等领域也有很多适用场景,并且通过乘法器与加法器复用并插入多路复用器的方式对一些其他滤波器的改进可以实现对更多卷积计算模式的匹配。对于本
的普通技术人员来说,在不脱离本专利技术原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本专利技术的保护范围。本实施例中为明确的各组成部分均可用现有技术加以实现。本文档来自技高网
...
一种适用于多种卷积模式的FIR滤波器实现

【技术保护点】
一种可适用于多种卷积模式的FIR滤波器,其硬件架构包括:1)数据输入选择单元,针对不同的卷积模式,将输入数据进行重新选择排列输入至相应的卷积计算模块。2)卷积计算单元,基本组成单元是3并行的3抽头快速FIR滤波器,并插入了数据选择器控制数据流来针对不同的卷积运算。3)卷积后计算单元,对卷积计算单元的的输出进行处理计算从而实现对卷积计算单元内多个独立组成单元的级联,形成一个多并行多抽头的快速FIR滤波器。4)数据输出选择单元,针对不同的卷积模式,选择与其对应的计算结果作为模块输出。

【技术特征摘要】
1.一种可适用于多种卷积模式的FIR滤波器,其硬件架构包括:1)数据输入选择单元,针对不同的卷积模式,将输入数据进行重新选择排列输入至相应的卷积计算模块。2)卷积计算单元,基本组成单元是3并行的3抽头快速FIR滤波器,并插入了数据选择器控制数据...

【专利技术属性】
技术研发人员:王中风袁炅林军
申请(专利权)人:南京大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1