[发明专利]基于FPGA的卷积实现方法及卷积器有效
申请号: | 201811493666.X | 申请日: | 2018-12-07 |
公开(公告)号: | CN109635929B | 公开(公告)日: | 2021-07-16 |
发明(设计)人: | 何峰 | 申请(专利权)人: | 锐捷网络股份有限公司 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/063 |
代理公司: | 北京太合九思知识产权代理有限公司 11610 | 代理人: | 张爱 |
地址: | 350007 福建省福州市仓*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 fpga 卷积 实现 方法 | ||
本申请实施例提供一种基于FPGA的卷积实现方法及卷积器。在本申请实施例中,将待卷积序列滑动输出,对于一个采样周期输出的N个待卷积数,在该采样周期内的每个时钟周期到达时输出M个待卷积数,以与常量缓存模块在该时钟周期滑动输出的M个常量在M个并行通道下相乘后,再将相乘结果进行求和,之后针对每个采样周期,将各采样周期内的每个时钟周期得到的求和结果分别进行累加,进而得到待卷积序列与常量序列的卷积结果。在本申请实施例中,在固定长度的常量序列下,无论待卷积序列的长度为多少,整个卷积过程都只需M个乘法器和M个加法器,减少了卷积计算的乘法器和加法器等资源消耗。
技术领域
本申请涉及数字信号处理技术领域,尤其涉及一种基于FPGA的卷积实现方法及卷积器。
背景技术
现场可编程门阵列(Field-Programmable Gate Array,FPGA)是在可编程阵列逻辑器件(Programmable Array Logic,PAL)、通用阵列逻辑器件(General Array Logic,GAL)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)等可编程器件的基础上进一步发展的产物。FPGA上各个逻辑模块相互独立处理,依赖各自的电路资源同时工作,且可将任务切片,在同一时刻执行多任务,因此FPGA可对数据进行并行处理,提高数据处理效率。
由于FPGA具有并行处理的优势,而被广泛应用于数字信号处理中。在数字信号处理算法中,例如高斯移频键控(Gauss Frequency Shift Keying,GFSK)调制、数字滤波器、小波变换等,经常会用到卷积计算,但是卷积计算过程会大量消耗FPGA的存储空间和乘法器。因此,在FPGA上能够进行消耗资源较少的资源的卷积计算显得尤为重要。
发明内容
本申请的多个方面提供一种基于FPGA的卷积实现方法及卷积器,用以减少FPGA上进行卷积计算时的资源消耗。
本申请实施例提供一种基于FPGA的卷积器,包括:常量缓存模块、卷积序列排序模块、M个乘法器和累加求和模块;其中,
所述卷积序列排序模块,用于接收采样周期为T1的待卷积序列,并根据计算顺序在每个时钟周期输出所述待卷积序列中的M个待卷积数至所述M个乘法器;
所述常量缓存模块具有与所述M个乘法器一一对应的M个缓存通道,用于存储常量序列并在每个时钟周期分别向对应的乘法器提供卷积常量;
所述M个乘法器,分别用于将每个时钟周期内到达的待卷积数和卷积常量相乘并将相乘结果输出至所述累加求和模块;
所述累加求和模块,用于在采样周期T1内,对所述M个乘法器在各个时钟周期输出的相乘结果进行累加,以得到所述待卷积序列与所述常量序列的卷积结果;
其中,INT(·)表示取整函数;N为所述常量序列中的常量的个数,T2为所述卷积器的时钟周期;其中,T2=T1/K,K为大于或等于2的整数。
本申请实施例还提供一种基于FPGA的卷积实现方法,包括:
卷积序列排序模块接收采样周期为T1的待卷积序列,并根据计算顺序,在每个时钟周期输出所述待卷积序列中的M个待卷积数;
存储常量序列的具有M个缓存通道的常量缓存模块,在每个时钟周期输出M个卷积常量;
将所述M个待卷积数和所述M个常量相乘后的乘积进行求和,得到每个时钟周期的求和结果;
将各个采样周期内的每个时钟周期的求和结果分别进行累加,以获得所述待卷积序列与所述常量序列的卷积结果;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于锐捷网络股份有限公司,未经锐捷网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811493666.X/2.html,转载请声明来源钻瓜专利网。