一种FFT的硬件加速实现装置及方法与流程

文档序号:11707541阅读:397来源:国知局
一种FFT的硬件加速实现装置及方法与流程

本发明属于计算机技术领域,涉及一种fft实现方法,特别是涉及一种fft的硬件加速实现装置及方法。



背景技术:

fft(fastfouriertransformation,快速傅氏变换)算法在语音领域的回声消除(adaptiveechocontrol,aec)、噪声抑制(noisesuppresser,ns)、语音识别等方面具有很大的运算价值。一般的做法是通过软件实现音频数字信号的信号处理,但是软件操作需要消耗cpu运算功能,处理速度较慢,无法满足日益增长的语音以及音频信息高速处理的需求。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种fft的硬件加速实现装置及方法,用于解决现有fft软件算法处理音频数字信号效率较低的问题。

为实现上述目的及其他相关目的,本发明提供一种fft的硬件加速实现装置,所述fft的硬件加速实现装置包括:静态随机存储器,缓存第一数据;fft控制模块,与所述存储器相连,对所述第一数据进行fft计算,在fft计算完成后将所述第一数据的fft计算结果存储至缓存,并发出中断信号;所述缓存与所述fft控制模块相连;只读存储器,与所述fft控制模块相连,存储fft计算的相关参数。

可选地,所述fft的硬件加速实现装置还包括:所述静态随机存储器通过软件从所述缓存中读取存储所述第一数据的fft计算结果。

可选地,所述fft的硬件加速实现装置还包括:所述静态随机存储器通过内置的dma操作指令读取缓存所述第一数据;所述第一数据包括音频数据。

可选地,所述fft的硬件加速实现装置还包括:ahb接口模块,与所述静态随机存储器相连,用于通过ahb总线与外部通信。

可选地,所述fft的硬件加速实现装置还包括:mux模块,与所述静态随机存储器、fft控制模块、缓存和ahb接口模块分别相连,用于实现所述静态随机存储器分别与fft控制模块、缓存和ahb接口模块之间的数据传输。

本发明还提供一种fft的硬件加速实现方法,所述fft的硬件加速实现方法包括:利用一静态随机存储器缓存第一数据;利用一与所述存储器相连的fft控制模块对所述第一数据进行fft计算,在fft计算完成后将所述第一数据的fft计算结果存储至缓存,并发出中断信号;所述缓存与所述fft控制模块相连;利用一与所述fft控制模块相连的只读存储器存储fft计算的相关参数。

可选地,所述fft的硬件加速实现方法还包括:利用所述静态随机存储器通过软件从所述缓存中读取存储所述第一数据的fft计算结果;利用一与所述静态随机存储器相连的ahb接口模块通过ahb总线与外部通信;或/和利用一与所述静态随机存储器、fft控制模块、缓存和ahb接口模块分别相连的mux模块实现所述静态随机存储器分别与fft控制模块、缓存和ahb接口模块之间的数据传输。

可选地,所述利用一静态随机存储器缓存第一数据的一种实现过程包括:通过内置的dma操作指令读取所述第一数据,并将所述第一数据缓存至所述静态随机存储器;所述第一数据包括音频数据。

可选地,所述fft的硬件加速实现方法还包括:开始所述fft的硬件加速实现方法时,首先选择fft的实现模式,并发出对应实现模式的fft使能信号;所述fft的实现模式包括纯软件模式和软硬件结合模式;然后检测选择的fft的实现模式是否繁忙,若是则继续检测选择的fft的实现模式是否繁忙;若否则开始执行所述利用一静态随机存储器缓存第一数据的步骤。

可选地,所述fft的硬件加速实现方法还包括:检测所述第一数据的fft计算是否完成,若是则发出所述中断信号,若否则继续检测fft计算是否完成。

如上所述,本发明所述的fft的硬件加速实现装置及方法,具有以下有益效果:

本发明通过硬件加速设计利用硬件高效的计算速度快速完成了fft算法的运算功能,而且各硬件组成模块可以通过ip核复用,不但可以有效提高音频信息处理速度,还降低了软件消耗,在电子类产品特别是日益发展的语音识别业务处理上具有重要的使用价值。

附图说明

图1显示为本发明实施例所述的fft的硬件加速实现装置的一种实现结构示意图。

图2显示为本发明实施例所述的fft的硬件加速实现方法的一种实现流程示意图。

元件标号说明

100fft的硬件加速实现装置

110静态随机存储器

120fft控制模块

130只读存储器

140缓存

150mux模块

160ahb接口模块

s201~s207步骤

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

请参阅图1,本发明提供一种fft的硬件加速实现装置100,所述fft的硬件加速实现装置100包括:静态随机存储器(sram)110,fft控制模块120,只读存储器(rom)130,缓存(register)140,mux模块150,ahb接口模块160。

所述静态随机存储器(sram)110缓存第一数据。其中,sram是英文staticram的缩写,即静态随机存储器。它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。

进一步,所述静态随机存储器110通过内置的dma操作指令读取缓存所述第一数据;所述第一数据包括音频数据。其中,dma是让硬盘不用通过cpu来控制读写,而是直接由存储器存取,是一种快速传送数据的机制。dma技术的重要性在于,利用dma进行数据存取时不需要cpu进行干预,有利于减轻cpu负担,加快读取速度,提高系统执行应用程序的效率。利用dma传送数据的另一个好处是,数据直接在源地址和目的地址之间传送,不需要是中间媒介。

所述fft控制模块120与所述存储器110相连,对所述第一数据进行fft计算,在fft计算完成后将所述第一数据的fft计算结果存储至缓存140,并发出中断信号;所述缓存140与所述fft控制模块120相连。所述静态随机存储器110通过软件从所述缓存140中读取存储所述第一数据的fft计算结果。其中,所述软件是指促发cpu进行硬件操作的上层应用。

所述只读存储器(rom)130与所述fft控制模块120相连,存储fft计算的相关参数。所述fft计算的相关参数即指快速傅里叶变换(fft)公式中的参数变量。rom是只读存储器(read-onlymemory)的简称,是一种只能读出事先所存数据的固态半导体存储器,其特性是一旦储存资料就无法再将之改变或删除,通常用在不需经常变更资料的电子或电脑系统中,并且资料不会因为电源关闭而消失。

所述mux模块150与所述静态随机存储器110、fft控制模块120、缓存140和ahb接口模块160分别相连,用于实现所述静态随机存储器分别与fft控制模块、缓存和ahb接口模块之间的数据传输。

所述ahb(advancedhigh-performancebus)接口模块160与所述静态随机存储器110相连,用于通过ahb总线与外部通信。ahb主要用于高性能模块(如cpu、dma和dsp等)之间的连接。ahb总线上最多可以有16个主模块和任意多个从模块,整个ahb总线上的传输都由主模块发出,由从模块负责回应。

本发明的创新点在于实现软硬件协同的快速傅里叶硬件加速功能,通过内置dma操作指令读取音频数据缓存在内部sram后,再对音频数据进行fft计算,完成fft计算后由硬件实现数据(即计算结果)存储在缓存,并发出fft完成中断标志(或信号),由软件将缓存中的数据读取进sram,完成整个硬件加速过程。

本发明所述的fft的硬件加速实现装置的保护范围不限于本实施例列举的各个组成模块,凡是根据本发明的原理所做的现有技术的模块增减、模块替换所实现的装置都包括在本发明的保护范围内。

本发明还提供一种fft的硬件加速实现方法,所述fft的硬件加速实现装置可以实现本发明所述的fft的硬件加速实现方法,但本发明所述的fft的硬件加速实现方法的实现装置包括但不限于本实施例列举的fft的硬件加速实现装置的结构,凡是根据本发明的原理所做的现有技术的结构变形和替换,都包括在本发明的保护范围内。

参见图2所示,所述fft的硬件加速实现方法包括:

s201,开始所述fft的硬件加速实现方法时,首先选择fft的实现模式,并发出对应实现模式的fft使能信号。例如:所述fft的实现模式包括纯软件模式和软硬件结合模式。

s202,检测选择的fft的实现模式是否繁忙,若是则继续检测选择的fft的实现模式是否繁忙;若否则开始执行步骤s203。

s203,利用一静态随机存储器缓存第一数据。其中,sram是英文staticram的缩写,即静态随机存储器。它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。

进一步,所述步骤s203利用一静态随机存储器缓存第一数据的一种实现过程包括:通过内置的dma操作指令读取所述第一数据,并将所述第一数据缓存至所述静态随机存储器;所述第一数据包括音频数据。其中,dma是让硬盘不用通过cpu来控制读写,而是直接由存储器存取,是一种快速传送数据的机制。dma技术的重要性在于,利用dma进行数据存取时不需要cpu进行干预,有利于减轻cpu负担,加快读取速度,提高系统执行应用程序的效率。利用dma传送数据的另一个好处是,数据直接在源地址和目的地址之间传送,不需要是中间媒介。

s205,利用一与所述存储器相连的fft控制模块对所述第一数据进行fft计算。其中,利用一与所述fft控制模块相连的只读存储器存储fft计算的相关参数。所述fft计算的相关参数即指快速傅里叶变换(fft)公式中的参数变量。

s206,检测所述第一数据的fft计算是否完成,若是则发出所述中断信号,若否则继续检测fft计算是否完成。

s207,在fft计算完成后将所述第一数据的fft计算结果存储至缓存,并发出中断信号。所述缓存与所述fft控制模块相连。利用所述静态随机存储器通过软件从所述缓存中读取存储所述第一数据的fft计算结果。其中,所述软件是指促发cpu进行硬件操作的上层应用。

进一步,利用一与所述静态随机存储器相连的ahb(advancedhigh-performancebus)接口模块通过ahb总线与外部通信。ahb主要用于高性能模块(如cpu、dma和dsp等)之间的连接。ahb总线上最多可以有16个主模块和任意多个从模块,整个ahb总线上的传输都由主模块发出,由从模块负责回应。

更进一步,利用一与所述静态随机存储器、fft控制模块、缓存和ahb接口模块分别相连的mux模块实现所述静态随机存储器分别与fft控制模块、缓存和ahb接口模块之间的数据传输。

本发明所述的fft的硬件加速实现方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本发明的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本发明的保护范围内。

本发明通过硬件加速设计利用硬件高效的计算速度快速完成了fft算法的运算功能,而且各硬件组成模块可以通过ip核复用,不但可以有效提高音频信息处理速度,还降低了软件消耗,在电子类产品特别是日益发展的语音识别业务处理上具有重要的使用价值。

综上所述,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1