一种基于FFT短时傅里叶算法的语音综合电路结构及其控制方法与流程

文档序号:11097693阅读:305来源:国知局
一种基于FFT短时傅里叶算法的语音综合电路结构及其控制方法与制造工艺

本发明属于语音综合领域,具体涉及一种基于FFT短时傅里叶算法的语音综合电路结构及其控制方法在语音时域信号重建上的应用。



背景技术:

在典型的助听器应用中,语音的处理经过语音分析、语音频域子带处理和语音综合三个关键步骤。其中,语音综合技术实现语音从频谱数据到时域信号的重建过程,是语音处理中的重要技术。语音综合作为语音输出前的最后一个环节,直接影响着输出语音的质量。基于FFT的语音综合具有高效灵活的实现结构,具体方法是先对频谱数据作反傅里叶变换,将变换结果循环移位后进行周期延拓,周期延拓序列最终与综合窗序列相乘,乘积和输出缓冲区中的暂存结果叠加即得到重建的时域语音信号。



技术实现要素:

鉴于以上分析,本发明的目的是提供一种基于FFT短时傅里叶算法的语音综合电路实现结构以及相应电路系统的控制方法。

本发明提供一种基于FFT短时傅里叶算法的语音综合电路实现结构,其并行化设计能够降低处理时延,快速实现语音信号的时域重建。

本发明提供一种基于FFT短时傅里叶算法的语音综合电路结构的控制方法,能够提高系统的数据吞吐率,降低系统功耗。

本发明中基于FFT短时傅里叶算法的语音综合电路结构实现所采取的技术方案如下:

根据短时傅里叶分析算法提出一种基于FFT短时傅里叶算法的语音综合电路实现结构如图1所示,其包括主控制模块(1)、I2S输入模块(2)、IFFT模块(3)、数据移位延拓模块(4)、输出缓存器模块(5)、I2S输出模块(6)、寄存器初始化模块(7)、AHB总线模块(8)、I2C总线模块(9)。

进一步地,主控制模块(1)分别与IFFT模块(3)、数据移位延拓模块(4)、输出缓存器模块(5)通过AHB总线模块(8)相互连接,与寄存器初始化模块(7)通过AHB总线模块(8)和I2C总线模块(9)相互连接,I2S输入模块(2)与IFFT模块(3)相互连接,IFFT模块(3)与数据移位延拓模块(4)相互连接,数据移位延拓模块(4)与输出缓存器模块(5)相互连接,输出缓存器模块(5)与I2S输出模块(6)相互连接。

进一步地,I2S输入模块(2)、IFFT模块(3)、数据移位延拓模块(4)、输出缓存器模块(5)和I2S输出模块(6)分别包含一个功能模块和数据存储模块。

进一步地,基于FFT的语音综合电路结构包括:主控制子模块(101)、I2S输入功能模块(103)、I2S输入存储模块(102)、IFFT存储模块(104)、IFFT功能模块(105)、IFFT旋转因子存储子模块(106)、数据移位延拓功能模块(107)、数据移位延拓存储模块(108)、输出缓存器功能模块(109)、输出缓存器存储模块(110)、I2S输出存储模块(111)、I2S输出功能模块(112)、寄存器初始化子模块(113)、AHB总线模块(114)及I2C总线子模块(115)。

进一步地,主控制子模块(101)根据寄存器初始化子模块(113)的内容配置整个电路系统中的寄存器参数,并启动电路功能,语音频谱数据通过I2S接口进入I2S输入功能模块(103),I2S输入功能模块(103)将接收到的语音频谱数据存入I2S输入存储模块(102)中,I2S输入存储模块(102)与IFFT存储模块(104)相连。

进一步地,I2S输入存储模块(102)接收数据满并发出访存请求,主控制子模块(101)根据电路系统状态仲裁后通过AHB总线子模块(114)通知IFFT存储模块(104)取走数据并存储,IFFT功能模块(105)对FFT存储模块(104)和IFFT旋转因子存储模块(106)中的数据进行IFFT变换,完成频域到时域的转换,并发出数据输出请求,主控制模块(101)根据电路系统状态仲裁后通过AHB总线子模块(114)通知数据移位延拓功能模块(107)取走数据并存入数据移位延拓存储模块(108)中进行处理,数据移位延拓功能模块(107)完成数据的移位、周期延拓以及与综合窗序列相乘加权后发出数据输出请求,主控制子模块(101)根据电路系统状态仲裁后通过AHB总线子模块(114)通知输出缓存器功能模块(109)取走数据并存入输出缓存器存储模块(110)中,缓存器功能模块(109)对数据进行移位累加,并将累加结果输出给I2S输出存储模块(111),等待用户通过I2S输出功能模块(112)取走语音综合数据,完成语音信号的实时综合。

进一步地,I2S输入存储模块(102)为DPRAM,其深度为256bit,宽度为64bit,I2S输入模块每帧传递的语音数据为128个64bit的数据。

进一步地,IFFT存储模块(104)为DPRAM,其深度为128bit,宽度为64bit,IFFT功能模块输出的每帧分段数据为128个32bit的数据。

进一步地,IFFT旋转因子存储模块(106)为ROM,其深度为64bit,宽度为64bit。

进一步地,数据移位延拓存储模块(108)为单端口ROM,其深度为512bit,宽度为32bit,数据移位延拓功能模块(107)输出的每帧分段数据为512个16bit的数据。

进一步地,输出缓存器存储模块(110)为单端口RAM,其深度为512bit,宽度为16bit。

进一步地,I2S输出存储模块(111)为DPRAM,其深度为256bit,宽度为16bit。

进一步地,寄存器初始化子模块(113)为E2PROM。

根据本发明的另一方面,还提供了一种采用上述发明设计的一种基于FFT短时傅里叶分析的语音综合电路结构的控制方法流程如图2所示,用于语音信号的综合,该控制方法包括如下步骤:

(1)对语音综合电路系统供电,主控制模块(1)根据E2PROM中的初始化数据配置寄存器,执行启动功能;

(2)I2S输入模块(2)、IFFT模块(3)、数据移位延拓模块(4)、输出缓存器模块(5)、I2S输出模块(6)并行工作,其中I2S输入模块(2)、I2S输出模块(6)的工作时钟频率为1.536MHz,IFFT模块(3)的工作时钟频率为512KHz,数据移位延拓模块(4)的工作时钟频率为256KHz,输出缓存器模块(5)的工作时钟频率为256KHz;

(3)I2S输入功能模块(103)处理通过I2S接口输入的64bit复数频谱数据,将数据存入I2S输入存储模块(102);

(4)I2S输入存储模块(102)存储满128个频谱数据时发出访存请求,主控制模块((101))根据IFFT功能模块(105)的工作状态进行仲裁,在IFFT功能模块(105)空闲时允许I2S输入模块(2)将频谱数据存入IFFT存储模块(104);

(5)IFFT功能模块(105)对IFFT存储模块(104)中的频谱数据进行128点的基2频率IFFT运算,蝶形运算所需的64个旋转因子取自IFFT旋转因子存储模块(106),IFFT模块(3)输出128个32bit的实数数据;

(6)IFFT功能模块(105)完成数据频域到时域的转换后发出数据输出请求;

(7)主控制子模块(101)根据数据移位延拓功能模块(107)的工作状态进行仲裁,在数据移位延拓功能模块(107)空闲时,允许数据移位延拓功能模块(107)将数据存入数据移位延拓存储模块(108),执行操作;

(8)数据移位延拓功能模块(107)完成数据的循环移位、周期延拓以及与综合窗序列相乘加权的功能后,发出数据输出的请求;

(9)主控制子模块(101)根据输出缓存器功能模块(109)的工作状态进行仲裁,在输出缓存器功能模块(109)空闲时,通知输出缓存器功能模块(109)取走数据,并存入输出缓存器存储模块(110)中;

(10)输出缓存器功能模块(109)完成数据的移位累加后,发出数据输出的请求;

(11)主控制子模块(101)根据I2S输出模块(6)的状态进行仲裁,在I2S输出模块(6)空闲时,允许语音数据写入I2S输出存储模块(111);

(12)I2S输出存储模块(111)等待外部通过I2S输出功能模块(112)取走语音综合完成的时域语音信号。

本发明成功将基于FFT短时傅里叶算法的语音综合电路实现,能够用于将语音频谱数据转换成时域数据,并完成语音信号的实时综合。

附图说明:

图1为本发明方法设计的一种基于FFT短时傅里叶算法的语音综合电路实现结构图。

图2为本发明方法设计的一种基于FFT短时傅里叶算法语音综合电路结构的控制方法流程图。

具体实施方式:

为了更清楚地描述本发明的技术方案,以下结合附图和具体实施例对本发明进行详细的说明。

如图1所示,整个电路实现架构包括主控制模块(1)、I2S输入模块(2)、IFFT模块(3)、数据移位延拓模块(4)、输出缓存器模块(5)、I2S输出模块(6)、寄存器初始化模块(7)、AHB总线模块(8)、I2C总线模块(9)。

进一步地,主控制模块(1)分别与IFFT模块(3)、数据移位延拓模块(4)、输出缓存器模块(5)通过AHB总线模块(8)相互连接,与寄存器初始化模块(7)通过AHB总线模块(8)和I2C总线模块(9)相互连接,I2S输入模块(2)与IFFT模块(3)相互连接,IFFT模块(3)与数据移位延拓模块(4)相互连接,数据移位延拓模块(4)与输出缓存器模块(5)相互连接,输出缓存器模块(5)与I2S输出模块(6)相互连接。I2S输入模块(2)、IFFT模块(3)、数据移位延拓模块(4)、输出缓存器模块(5)和I2S输出模块(6)分别包含一个功能模块和相应的数据存储模块。

进一步地,基于FFT短时傅里叶算法的语音综合电路结构实现包括:主控制子模块(101)、I2S输入存储模块(102)、I2S输入功能模块(103)、IFFT存储模块(104)、IFFT功能模块(105)、IFFT旋转因子存储模块(106)、数据移位延拓功能模块(107)、数据移位延拓存储模块(108)、输出缓存器功能模块(109)、输出缓存器存储模块(110)、I2S输出存储模块(111)、I2S输出功能模块(112)、寄存器初始化模块(113)、AHB总线子模块(114)及I2C总线子模块(115)。

主控制子模块(101)根据寄存器初始化子模块(113)的内容配置整个电路系统中的寄存器参数,并启动电路功能,语音频谱数据通过I2S接口进入I2S输入功能模块(103),I2S输入功能模块(103)将接收到的语音频谱数据存入I2S输入存储模块(102)中,I2S输入存储模块(102)与IFFT存储模块(104)相连。

I2S输入存储模块(102)接收数据满并发出访存请求,主控制子模块(101)根据电路系统状态仲裁后通过AHB总线子模块(114)通知IFFT存储模块(104)取走数据并存储。

IFFT功能模块(105)对FFT存储模块(104)和IFFT旋转因子存储模块(106)中的数据进行IFFT变换,完成频域到时域的转换,并发出数据输出请求,主控制子模块(101)根据电路系统状态仲裁后通过AHB总线子模块(114)通知数据移位延拓功能模块(107)取走数据并存入数据移位延拓存储模块(108)中进行处理。

数据移位延拓功能模块(107)完成数据的移位、周期延拓以及与综合窗序列相乘加权后发出数据输出请求。

主控制子模块(101)根据电路系统状态仲裁后通过AHB总线子模块(114)通知输出缓存器功能模块(109)取走数据并存入输出缓存器存储模块(110)中,输出缓存器功能模块(109)对数据进行移位累加,并将累加结果输出给I2S输出存储模块(111)。

用户通过I2S输出功能模块(112)取走语音综合数据,完成语音信号的实时综合。

如图2所示是一种基于FFT短时傅里叶算法语音综合电路系统的控制方法流程图,系统控制方法包括如下步骤:

(1)对语音综合电路系统供电,主控制模块(1)根据E2PROM中的初始化数据配置寄存器,执行启动功能;

(2)I2S输入模块(2)、IFFT模块(3)、数据移位延拓模块(4)、输出缓存器模块(5)、I2S输出模块(6)并行工作,其中I2S输入模块(2)、I2S输出模块(6)的工作时钟频率为1.536MHz,IFFT模块(3)的工作时钟频率为512KHz,数据移位延拓模块(4)的工作时钟频率为256KHz,输出缓存器模块(5)的工作时钟频率为256KHz;

(3)I2S输入功能模块(103)处理通过I2S接口输入的64bit复数频谱数据,将数据存入I2S输入存储模块(102);

(4)I2S输入存储模块(102)存储满128个频谱数据时发出访存请求,主控制模块((101))根据IFFT功能模块(105)的工作状态进行仲裁,在IFFT功能模块(105)空闲时允许I2S输入模块(2)将频谱数据存入IFFT存储模块(104);

(5)IFFT功能模块(105)对IFFT存储模块(104)中的频谱数据进行128点的基2频率IFFT运算,蝶形运算所需的64个旋转因子取自IFFT旋转因子存储模块(106),IFFT模块(3)输出128个32bit的实数数据;

(6)IFFT功能模块(105)完成数据频域到时域的转换后发出数据输出请求;

(7)主控制子模块(101)根据数据移位延拓功能模块(107)的工作状态进行仲裁,在数据移位延拓功能模块(107)空闲时,允许数据移位延拓功能模块(107)将数据存入数据移位延拓存储模块(108),执行操作;

(8)数据移位延拓功能模块(107)完成数据的循环移位、周期延拓以及与综合窗序列相乘加权的功能后,发出数据输出的请求;

(9)主控制子模块(101)根据输出缓存器功能模块(109)的工作状态进行仲裁,在输出缓存器功能模块(109)空闲时,通知输出缓存器功能模块(109)取走数据,并存入输出缓存器存储模块(110)中;

(10)输出缓存器功能模块(109)完成数据的移位累加后,发出数据输出的请求;

(11)主控制子模块(101)根据I2S输出模块(6)的状态进行仲裁,在I2S输出模块(6)空闲时,允许语音数据写入I2S输出存储模块(111);

(12)I2S输出存储模块(111)等待外部通过I2S输出功能模块(112)取走语音综合完成的时域语音信号。

如上所述,在本发明设计的一种基于FFT短时傅里叶算法的语音综合电路结构及其控制方法中,I2S输入模块(2)、IFFT模块(3)、数据移位延拓模块(4)、输出缓存器模块(5)、I2S输出模块(6)分别采用不同的工作时钟,能够相互配合实现流水线并行工作,从而提高数据吞吐率。在满足实时地将频谱数据转换成时域数据,并完成语音信号的实时综合,同时还能够降低电路功耗。

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