基于fpga的语音信号lpc参数提取算法的实现

基于fpga的语音信号lpc参数提取算法的实现

ID:23821068

大小:53.50 KB

页数:7页

时间:2018-11-10

基于fpga的语音信号lpc参数提取算法的实现_第1页
基于fpga的语音信号lpc参数提取算法的实现_第2页
基于fpga的语音信号lpc参数提取算法的实现_第3页
基于fpga的语音信号lpc参数提取算法的实现_第4页
基于fpga的语音信号lpc参数提取算法的实现_第5页
资源描述:

《基于fpga的语音信号lpc参数提取算法的实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于FPGA的语音信号LPC参数提取算法的实现

2、第1摘要:介绍语音信号LPC分析中部分相关系数的舒尔递推算法的FPGA实现,给出了电路设计思想及具体电路结构,并对其工作过程进行了详细分析说明,为嵌入式系统设计提供了一种有效手段。关键词:部分相关系数舒尔递推算法FPGA并行处理技术随着语音技术应用的发展,越来越多的语音信号数字处理系统需要按照实时方式或在线方式工作,特别在嵌入式系统设计中,对系统的硬件环境要求更高。随着语音处理算法的日益复杂,用普通处理器对语音信号进行实时处理,已显得力不从心。本文将采用新一代现场可编程门阵列FLEX10K系列的

3、FPGA芯片实现语音信号的LPC分析,并通过舒尔(Schur)递推算法,提取语音信号算是中的重要参数——部分相关系数,即PARCOR系数。1LPC分析及舒尔递推算法1.1LPC分析基本原理线性预测分析(LPC)是对一给定的时域离散线性系统用输出信号的过去值的线性组合来估计即将到来的输出值。即某一时刻n的语音信号的估计值为:500)this.style.ouseg(this)">预测误差为:500)this.style.ouseg(this)">按均方误差最小准则,即LMS算法,可求得预测器最佳预测系数ai应满足下列方程组:500)this.s

4、tyle.ouseg(this)">其中500)this.style.ouseg(this)">这组方程称为LPC正则方程,其中R(l)称为自关函数,它们是进行LPC分析的基础。1.2舒尔递推算法将正则议程作适当变换,定义一个变量Ql(m)如下:500)this.style.ouseg(this)">其中r(l)=R(l)/R(0)为归一化自关函数。根据Ql(m)的性质和正交定理[1]可证明部分相关系数K(m)与Q1(m)有下列关系:500)this.style.ouseg(this)">同时还可证明Ql(m)满足如下递推公式:500)thi

5、s.style.ouseg(this)">由此可得如下递推算法:(1)给定预测器阶数P的值;(2)算出归一化自关函数:r(l)=R(l)/R(0),l=-P~P;(3)计算Q1(m)初始值:500)this.style.ouseg(this)">Ql(0)=r(l),l=-P~P;(4)令m=1;(5)利用上述两公式求出:K(m,)和Ql(m);(6)若m<P,则令m=m+1,转(5)继续执行;若m≥P,则停止运行并输出K(1)~K(p)。由于部分相关系数K(1)~K(p)与最佳预测系数a1(P)~aP(P)间存在简单对应关系,因而部分

6、相关系数K(m)被广泛应用于语音识别、语音合成和低速语音编译器中。2系统设计2.1系统总体设计由于语音信号具有短时平稳性,因此在进行处理时需进行分帧处理,然后逐帧对语音信号进行LPC分析。本系统中,语音信号S(n)的精度为12位,采样率为20k,帧长为10ms,相应于每帧有200个采样点,每帧提取的部分相关系数K(m)的阶数取为12。对取出的每帧语音S(n)还需进行加窗处理,即用窗函数阵列;U9为由EAB构成的200×12bit的ROM查找表,内置n=0~199的窗函数值表U9获得,将取出的,采用并行取数方式,同时取出参与运算的两个量,进行乘

7、法运算,运算结果立即送入累加器进行累加。而此时乘法器又可进行下一对数据的乘积运算。整个过程中,乘法器和累加器一直在并行工作,从而保证了系统的流水线操作持续进行,最大限度地保证了系统的运行速度。500)this.style.ouseg(this)">自关函数模块的原理框图如图2所示。图中U1、U2为EAB构成的200×12bit的双口RAM阵列、U8是带清零功能的数据寄存器,U7为加法器,它们二者共同构成累加器,为保证中间运算结果的精度,累加器的宽度为32位;U3、U4、U6、U9、U10为数据寄存器;U5为12位乘法器,乘积为24位;U11为

8、32位除法器,商取16位。该模块的工程过程是:将前面得到的加窗语音信号S结构和同时取数同时运算的并行处理技术,所有运算单元的精度都是16位,每处理一次递推过程,就输出一个K(m)值。舒尔递推模块原理框图如图3所示。图中U2、U3为12×16bit的双口RAM;U4、U6、U7、U8、U9、U11、U13为数据寄存器;U5、U10、U12分别为16位的除法器、乘法器和加法器;U1为多路转换开关。该模块的工作过程是:当归一体自关函数r(l)通过U1送入U2和U3后,立即从中限出Qm和Q0送入除法器U5进行除运算,除得的结果送入U8;与此同时又分别

9、从U2和U3中同时取出Ql和Qm-1,将Qm-1与Km在U10相乘后,送入U11,接着与Q1在U12进行相加,将结果经U13、U1重新送回U2和U3,接着又进行下一

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。