论文部分内容阅读
通信系统中最重要和最常见的业务之一是语音通信。在语音通信领域,低速率语音编码技术是一个重要的研究方向和热点。混合激励线性预测编码(MELP)算法在2.4kb/s的码率下取得了较好的语音质量,成为目前许多低速率语音编码算法中的主要参考算法,在低速率语音编码领域占有重要的地位。目前,研究者一般都以各种DSP处理器为平台对MELP算法的实现进行研究。但随着现代数字系统设计中现场可编程门阵列(FPGA)的快速发展,为其广泛应用于数字信号处理领域创造了条件。随着FPGA中的IP核与DSP模块在数字信号处理领域中的应用越来越多,基于FPGA平台的语音编码技术的研究也成为实际应用的需要。MELP算法中,语音合成部分的作用是将解码后的语音参数重构成语音信号,合成部分中的各模块对合成语音的质量有着直接的影响。本论文研究了利用FPGA实现MELP解码器中的语音合成部分。首先,作为理论基础,阐述了低速率语音编码的研究状况,并且介绍了几种低速率语音编码的模型;随后介绍了MELP语音编解码的流程,对MELP语音合成算法的实现过程进行了详细的分析;接着为在FPGA平台上实现MELP语音合成算法,本文对FPGA及其设计方法进行了研究;最后本文在深入研究MELP算法C定点实现程序的基础上,用Verilog HDL对语音合成算法的C程序代码进行了改写,将改写的程序移植到FPGA平台,并最终完成了整个MELP语音合成算法在FPGA平台上的实现。在利用Verilog HDL对语音合成部分进行编程时,采用了自顶向下的设计方法,先对每个模块中的底层函数进行建模,例如乘法、左移函数,然后对语音合成部分中的高层功能模块建模,例如自适应谱增强、线性预测合成,通过层层建立硬件模型,最后完成了MELP语音合成算法的FPGA实现。并在实现过程中根据Verilog HDL的特点和FPGA的特性对各层模型的设计进行了优化。程序编写完成后,对每段程序编写测试模块,通过查看综合后仿真结果,对程序进行功能性验证。本文对实现结果进行了性能分析,把本文的程序性能与Vivado HLS转换C语言为Verilog语言的程序性能进行了对比,本文的实现结果在资源占用和程序的处理时间两个方面均有良好的体现。