[发明专利]一种基于通过神经网络硬件系统实现的傅里叶变换系统及方法在审
申请号: | 202011057903.5 | 申请日: | 2020-09-29 |
公开(公告)号: | CN112328957A | 公开(公告)日: | 2021-02-05 |
发明(设计)人: | 孔超;唐士斌;欧阳鹏 | 申请(专利权)人: | 北京清微智能科技有限公司 |
主分类号: | G06F17/14 | 分类号: | G06F17/14;G06N3/063 |
代理公司: | 北京索睿邦知识产权代理有限公司 11679 | 代理人: | 李根 |
地址: | 100192 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 通过 神经网络 硬件 系统 实现 傅里叶变换 方法 | ||
本发明公开一种基于通过神经网络硬件系统实现的傅里叶变换系统,属于基于神经网络芯片技术领域。包括:将输入数据点排列为一个设定二维长度。根据输入数据点和旋转因子实部方程,分别获取与之对应的第一实部矩阵和第二实部矩阵。将输入数据矩阵排列排列为与计算单元阵列的行位数、列位数相应的二维第一矩阵。根据二维第三矩阵、第二实部矩阵和第二虚部矩阵获取第四矩阵。通过第一全连接层计算单元实现第四矩阵与第一实部矩阵、第一虚部矩阵的运算获取第五矩阵。根据第五矩阵获取输出傅里叶实部数据和输出傅里叶虚部数据。本发明解决了现有技术人工智能芯片在语音识别和语音合成等应用场景下计算傅里叶变换时,性能较低高和面积较大的问题。
技术领域
本发明属于基于神经网络芯片技术领域,尤其涉及一种基于通过神经网络硬件系统实现的傅里叶变换系统及方法。
背景技术
傅里叶变换是一种常用于语音和DSP(数字信号处理)中的算法。目前在人工智能芯片中在硬件上大多数采用集成ASIC(专用集成芯片)的方式,在算法上大多以FFT(快速傅里叶变换)来计算傅里叶变换。以计算点数为1024个点为例,若使用上述办法,计算完成1024个点需要大约20000个时钟周期,性能难以满足需求,而且面积和功耗也难以接受。如何在人工智能芯片中,在语音识别和语音合成等应用场景下,计算傅里叶变换时,使得其性能高和面积小就成为了一个技术难点。
发明内容
本发明的目的是提供一种基于通过神经网络硬件系统实现的傅里叶变换系统及方法,以解决现有技术中人工智能芯片在语音识别和语音合成等应用场景下计算傅里叶变换时,性能较低高和面积较大的问题。
为了实现上述目的,本发明提供如下技术方案:
一种基于通过神经网络硬件系统实现的傅里叶变换系统,包括:
神经网络硬件系统包括一个第一全连接层计算单元和一个第二全连接层计算单元。神经网络硬件系统具有多个计算单元阵列。计算单元阵列为二维阵列。二维矩阵位数等于行位数乘以列位数。通过神经网络硬件系统实现的傅里叶变换方法包括:
步骤S101,将多个输入数据点排列为一个设定二维长度的输入数据矩阵。多个输入数据点的数量为二维阵列位数的整数倍。二维长度与计算单元的行位数和列位数相应。
步骤S102,联立旋转因子公式和欧拉公式获取旋转因子实部方程和旋转因子虚部方程。
步骤S103,根据多个输入数据点和旋转因子实部方程,分别获取与之对应的第一实部矩阵和第二实部矩阵。根据多个输入数据点和旋转因子虚部方程,分别获取与之对应的第一虚部矩阵和第二虚部矩阵。
第一实部矩阵和第一虚部矩阵根据第一位数排列。第一位数为行位数或列位数。第二实部矩阵和第二虚部矩阵根据第二位数排列。第二位数为二维矩阵位数。
步骤S104,将输入数据矩阵排列排列为与计算单元阵列的行位数、列位数相应的二维第一矩阵。将第一实部矩阵、第一虚部矩阵均分别排列为与计算单元阵列的行位数、列位数相应的二维第二矩阵。
步骤S105,将二维第一矩阵、二维第二矩阵的行列次序对调。
步骤S106,通过第一全连接层计算单元实现二维第一矩阵与二维第二矩阵相乘获取二维第三矩阵。
步骤S107,根据二维第三矩阵、第二实部矩阵和第二虚部矩阵获取第四矩阵。
步骤S108,通过第一全连接层计算单元实现第四矩阵与第一实部矩阵、第一虚部矩阵的运算获取第五矩阵。
步骤S109,根据第五矩阵获取输出傅里叶实部数据和输出傅里叶虚部数据。
在上述技术方案的基础上,本发明还可以做如下改进:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京清微智能科技有限公司,未经北京清微智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011057903.5/2.html,转载请声明来源钻瓜专利网。