[发明专利]一种基于FFT短时傅里叶算法的语音综合电路结构及其控制方法有效
申请号: | 201710000708.0 | 申请日: | 2017-01-03 |
公开(公告)号: | CN106652998B | 公开(公告)日: | 2021-02-02 |
发明(设计)人: | 薛一鸣;王玉竹;何宁宁;陈鹞;李梦迪;李岩 | 申请(专利权)人: | 中国农业大学 |
主分类号: | G10L13/047 | 分类号: | G10L13/047 |
代理公司: | 北京卫平智业专利代理事务所(普通合伙) 11392 | 代理人: | 郝亮 |
地址: | 100193 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fft 短时傅里叶 算法 语音 综合 电路 结构 及其 控制 方法 | ||
1.一种基于FFT短时傅里叶算法的语音综合电路结构,其特征在于其中所述电路结构包括:主控制模块(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)相互连接;其中所述的主控制模块(1)由主控制子模块(101)构成,主控制模块(1)根据寄存器初始化模块(7)配置整个电路系统中的寄存器参数,并启动电路功能;主控制模块(1)根据IFFT模块(3)、数据移位延拓模块(4)和输出缓存器模块(5)的状态信号,分别控制这三个模块的启动,以保证与系统整体速率相匹配;所述的I2S输入模块(2)由I2S输入功能模块(103)和I2S输入存储模块(102)构成,其每帧传递的语音频谱复数数据为128个64bit;I2S输入功能模块(103)实现对标准I2S总线协议的修改,使每个声道数据位数可达32bit,能满足频谱输入的数据位数需求;I2S输入存储子模块(102)由DPRAM组成,深度为256bit,宽度为64bit;所述的IFFT模块(3)由IFFT存储模块(104)、IFFT功能模块(105)和IFFT旋转因子存储模块(106)构成;IFFT功能模块(105)对输入的每帧128个64bit的复数语音频谱数据进行IFFT变换操作,输出的每帧128个32bit的实数分段数据;所述的数据移位延拓模块(4)由数据移位延拓功能模块(107)和数据移位延拓存储模块(108)构成;数据移位延拓功能模块(107)对输入的每帧128个32bit的实数进行循环移位、周期延拓和乘窗加权的操作,输出每帧512个16bit的数据;乘窗为Sinc函数窗,在8kHz采样频率下窗长为512,周期延拓的段数为4段,每段128个32bit数据;数据移位延拓存储模块(108)由单端口ROM,其深度为512bit,宽度为32bit;所述的输出缓存器模块(5)由输出缓存器功能模块(109)和输出缓存器存储模块(110)构成;输出缓存器功能模块(109)完成数据的移位累加后,发出数据输出请求,输出的每帧数据为128个16bit的语音数据;输出缓存器存储模块(110)为单端口RAM,其深度为512bit,宽度为16bit;所述的I2S输出模块(6)由I2S输出存储模块(111)和I2S输出功能模块(112)构成;I2S输出存储模块(111)由DPRAM组成,深度为256bit,宽度为16bit;I2S输出功能模块(112)实现语音数据的输出,通过左声道输出每帧128个16bit的语音数据,实现标准I2S总线协议;所述的寄存器初始化模块(7)由寄存器初始化子模块(113)构成,寄存器初始化子模块由E2PROM组成,存储整个电路系统初始化所需的数据;所述的AHB总线模块(8)由AHB总线子模块(114)构成,所述的I2C总线模块(9)由I2C总线子模块(115)构成,其控制方法将频谱数据转换成时域数据,实时综合语音信号,包括如下步骤:
(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)取走语音综合完成的时域语音信号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国农业大学,未经中国农业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710000708.0/1.html,转载请声明来源钻瓜专利网。