[发明专利]一种卷积计算方法在审
| 申请号: | 201810101741.7 | 申请日: | 2018-02-01 |
| 公开(公告)号: | CN110110283A | 公开(公告)日: | 2019-08-09 |
| 发明(设计)人: | 林江南;冯雪林;孙刚;周一青;石晶林 | 申请(专利权)人: | 北京中科晶上科技股份有限公司 |
| 主分类号: | G06F17/15 | 分类号: | G06F17/15 |
| 代理公司: | 北京泛华伟业知识产权代理有限公司 11280 | 代理人: | 王勇;李科 |
| 地址: | 100190 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 卷积计算 数据段 运算效率 矢量 卷积 合并 | ||
本发明提供了一种卷积计算方法。该方法利用矢量DSP执行第一序列x和第二序列h的卷积计算,包括以下步骤:将所述第一序列x划分为多个数据段;将所划分的第一序列x的多个数据段分别与所述第二序列h执行卷积计算,以获得多个计算结果;合并所述多个计算结果,以获得所述第一序列x和第二序列h的卷积结果。本发明的方法能够通过短卷积计算实现任意序列长度的卷积计算,提高了运算效率。
技术领域
本发明涉及数字信号处理技术领域,尤其涉及一种卷积计算的方法。
背景技术
在移动通信和数字信号处理领域中,卷积发挥着至关重要的作用,其是将两个离散序列h和x的有关序列值分别两两相乘再相加的一种的运算,卷积可以用于数字信号的滤波,以滤除无用的频率分量,也可以用于完成两个序列的相关,以进行信号的同步等。
卷积通常在数字信号处理器(DSP)上实现,目前,基于矢量DSP的卷积算法主要有两种方案:一种是内循环矢量化(vectorizing the inner loop,VIL)算法,该算法将两个输入序列中的各个元素对应相乘,再将相乘结果累加,以产生单个输出,通过矢量乘法和累加操作,可以引入一定的数据级并行度。然而,该算法需要对滤波矩阵中的系数进行补零操作,会有较多0元素参与运算,从而产生了无用的运算,此外,该算法需要进行标量的存储操作,影响了整体的并行化程度,造成计算效率低下;另一种是外循环矢量化(vectorizingthe outer loop,VOL)算法,该算法利用单个元素与一个序列进行相乘,从而得到多个输出,再将多个输出进行交叠相加,从输出的角度进行数据的并行,从而获得数据级并行度并避免较多的0参与相乘运算。然而,该算法虽然在输出方面做到了数据并行化,但却利用了单个元素作为输入,基本的算法结构和数据处理流程与VIL算法一致,因此也不能有效降低卷积运算的总体复杂度。
综上所述,现有的卷积方法均利用了卷积的直接结构,因此无法缩短卷积算法的执行周期。因此,需要对现有技术进行改进以在矢量DSP上高效地执行卷积计算。
发明内容
本发明的目的在于克服上述现有技术的缺陷,提供一种卷积计算的方法,该方法利用矢量DSP的结构,达到快速计算卷积的目的。
根据本发明的第一方面,提供了一种卷积计算方法。该方法利用矢量DSP执行第一序列x和第二序列h的卷积计算,包括以下步骤:
步骤1:将所述第一序列x划分为多个数据段;
步骤2:将所划分的第一序列x的多个数据段分别与所述第二序列h执行卷积计算,以获得多个计算结果;
步骤3:合并所述多个计算结果,以获得所述第一序列x和第二序列h的卷积结果。
在一个实施例中,步骤2包括:
步骤21:基于预定长度将所述第二序列h进行分组;
步骤22:将所述第一序列x的每一数据段进行分组;
步骤23:将所述第一序列x的每一数据段的各组与所述第二序列h的各组并行进行卷积计算。
在一个实施例中,所述预定长度为2或3或4。
在一个实施例中,所述第一序列x的各组包含的值的数量和所述第二序列h的各组包含的值的数量均为2。
在一个实施例中,对于所述第一序列x的一组值{x0,x1}和所述第二序列h的一组值{h0,h1},通过以下子步骤执行一组卷积计算:
将{x0,x1}依次存储于所述矢量DSP的第一矢量寄存器,将{h0,h1}依次存储于所述矢量DSP的第二矢量寄存器;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中科晶上科技股份有限公司,未经北京中科晶上科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810101741.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种特殊鞍点问题的处理方法
- 下一篇:一种平均数计算方法、装置及电子设备





