语音信号ADPCM编解码实现
- 格式:docx
- 大小:235.43 KB
- 文档页数:49
语音信号处理实验报告实验二一、实验目的本次语音信号处理实验的目的是深入了解语音信号的特性,掌握语音信号处理的基本方法和技术,并通过实际操作和数据分析来验证和巩固所学的理论知识。
具体而言,本次实验旨在:1、熟悉语音信号的采集和预处理过程,包括录音设备的使用、音频格式的转换以及噪声去除等操作。
2、掌握语音信号的时域和频域分析方法,能够使用相关工具和算法计算语音信号的短时能量、短时过零率、频谱等特征参数。
3、研究语音信号的编码和解码技术,了解不同编码算法对语音质量和数据压缩率的影响。
4、通过实验,培养我们的动手能力、问题解决能力和团队协作精神,提高我们对语音信号处理领域的兴趣和探索欲望。
二、实验原理(一)语音信号的采集和预处理语音信号的采集通常使用麦克风等设备将声音转换为电信号,然后通过模数转换器(ADC)将模拟信号转换为数字信号。
在采集过程中,可能会引入噪声和干扰,因此需要进行预处理,如滤波、降噪等操作,以提高信号的质量。
(二)语音信号的时域分析时域分析是对语音信号在时间轴上的特征进行分析。
常用的时域参数包括短时能量、短时过零率等。
短时能量反映了语音信号在短时间内的能量分布情况,短时过零率则表示信号在单位时间内穿过零电平的次数,可用于区分清音和浊音。
(三)语音信号的频域分析频域分析是将语音信号从时域转换到频域进行分析。
通过快速傅里叶变换(FFT)可以得到语音信号的频谱,从而了解信号的频率成分和分布情况。
(四)语音信号的编码和解码语音编码的目的是在保证一定语音质量的前提下,尽可能降低编码比特率,以减少存储空间和传输带宽的需求。
常见的编码算法有脉冲编码调制(PCM)、自适应差分脉冲编码调制(ADPCM)等。
三、实验设备和软件1、计算机一台2、音频采集设备(如麦克风)3、音频处理软件(如 Audacity、Matlab 等)四、实验步骤(一)语音信号的采集使用麦克风和音频采集软件录制一段语音,保存为常见的音频格式(如 WAV)。
用L9320实现ADPCM语音编解码摘要9320是公司推出的一款自适应音频脉冲编码编解码器。
该器件除具有正常的编码解码模式外,还有编解码模式、电源测试模式以及编解码器测试模式。
文中主要对9320编解码器的工作原理和使用方法进行了分析,给出了9320在便携式语音系统中的典型应用电路。
关键词语音编码器;编解码;;;9320L9320是LANWAVE公司生产的一款自适应音频脉冲编码ADPCM编解码芯片,它所采用的语音压缩编解码方法符合国际电话与电报顾问委员会CCITT的G.721和G.726标准,同时也兼容CCITT的G.714标准。
L9320可以将模拟话音转化成速率为32、24或16kB/s的数字信号;并可将相同速率的数字信号进行逆变换以形成模拟话音信号。
L9320具有ADPCM编解码器和PCM编解码器/滤波器的双向信号通道,除具有正常的ADPCM编解码模式外,还具有PCM编解码模式、电源测试模式和编解码器测试模式。
应用L9320的不同速率信道可实现不同的倍增比,从而有效提高信道的利用率。
1L9320的主要功能1.1概述L9320带有可预设的串行端口SSP,该端口可与16字节的状态设置寄存器进行接口。
微控制器能够从SSP接口获得内部的数据。
另外,该芯片由于包含有带PCM编码解码滤波器的输出放大器,因而能够对模拟接口进行简单控制。
L9320主要具有以下特点●能在2.7~5.25V电压范围内全双工4bits的A/D和D/A转换器;●可完成μ律和A律压缩;●可以对32、24和16kB/s;●具有可编程的发射增益、接收衰减和侧音增益控制功能;●采用28脚DIP或SOP封装。
范文先生网收集整理1.2引脚功能L9320的引脚排列如图1所示。
2L9320内部原理图2给出了L9320的内部功能原理框图。
该器件包括∑-Δ编解码滤波、电源管理、DSP处理和寄存器状态控制四个子系统。
2.1电源管理L9320的电源管理系统主要由一组专为模拟信号处理单元供电的5V电源和一组专为数字信号处理单元供电的3V电源组成。
ADPCM语音编解码电路设计及FPGA实现【摘要】本文章主要介绍了ADPCM语音编解码电路设计及FPGA实现的相关内容。
在我们探讨了研究背景、研究意义和研究目的,提出了对ADPCM技术的重要性和研究动机。
在我们详细阐述了ADPCM语音编解码的原理,以及编解码电路的设计过程。
通过FPGA实现设计的讨论,我们展示了如何将理论转化为实际应用,并进行了实验结果的分析。
最后在总结了ADPCM语音编解码电路设计及FPGA实现的整体结论,并展望了未来的发展方向。
这篇文章旨在为相关领域的研究者提供参考,并为ADPCM技术的应用和发展做出一定的贡献。
【关键词】ADPCM, 语音编解码, 电路设计, FPGA实现, 研究背景, 研究意义, 研究目的, 原理, 编码电路设计, 解码电路设计, 实验结果分析, 总体结论, 未来展望1. 引言1.1 研究背景ADPCM(自适应差分脉冲编码调制)是一种常用的语音编解码技术,其核心是通过采样率降低和差分编码来实现语音信号的压缩和传输。
随着信息技术的迅速发展,对语音质量和传输效率的要求越来越高,因此研究ADPCM语音编解码技术具有重要意义。
在传统的ADPCM编解码电路设计中,通常使用基于传统的硬件电路或者嵌入式系统来实现,但是这种方式存在着成本高、功耗大、灵活性差等问题。
1.2 研究意义ADPCM语音编解码技术在现代通信系统和数字音频处理中具有重要的应用价值。
通过对语音信号进行压缩和解压缩处理,可以有效地减少数据传输量,提高通信效率,节省带宽资源。
ADPCM编解码技术在实时语音通信、语音识别和语音合成等领域也发挥着重要作用。
研究ADPCM语音编解码电路设计及FPGA实现的意义在于深入探究该技术的原理和实现方法,为提高音频数据处理和传输的效率提供技术支持。
通过设计高性能的ADPCM编解码电路,并将其实现在FPGA芯片上,可以实现高速、低功耗的语音处理系统。
这对于提高通信质量、降低系统成本具有重要意义。
ADPCM语音编解码电路设计及FPGA实现摘要:ADPCM(自适应差分脉冲编码调制)是一种数字语音编码技术,常用于语音通信和存储领域。
本论文提出了一种基于FPGA实现的ADPCM语音编解码电路设计,该设计采用基于FPGA的高速DSP器件,实现了低时延、高精度的语音编解码,具有编码率可变、降噪功能等优点。
由实验结果可知,本设计能够实现高质量的语音压缩和还原,具有良好的应用前景。
关键词:ADPCM;语音编解码;FPGA;DSP;降噪正文:ADPCM编码是以低码率、高保真度为目标的数字语音压缩技术,广泛应用于电信、广播、铁路等领域。
本论文提出了一种基于FPGA实现的ADPCM语音编解码电路设计,该设计采用了基于FPGA的高速DSP器件,结合了ADPCM编码特点和客户需求,实现了低时延、高精度的语音编解码,具有编码率可变、降噪功能等优点。
本设计采用SPARTAN-6系列FPGA作为硬件平台,结合Verilog语言进行编程,设计了一套完整的ADPCM语音编解码系统。
其中,编码部分主要实现了信号采样、量化、差分处理、编码等功能,解码部分则实现了解码、差分判决、还原等功能。
在此基础上,本文还提出了一种全数字降噪方法,通过采用LMS算法进行信号处理,实现了良好的语音降噪效果。
为了验证本论文所提出的ADPCM编解码电路设计的有效性和准确性,本文进行了丰富的实验测试。
实验结果表明,本设计能够实现高质量的语音压缩和还原,其编码比和信噪比达到了较为理想的水平,具有广阔的应用潜力。
综上所述,本文提出的基于FPGA实现的ADPCM语音编解码电路设计是一种高效、稳定、可靠的语音编解码方案,可广泛应用于语音通信、存储、音频视频等领域。
ADPCM(自适应差分脉冲编码调制)是一种数字语音编码技术,可以将模拟语音信号转换为数字信号进行传输和存储。
ADPCM技术具有低码率、高保真度的优点,广泛应用于语音通信、存储、音频视频等领域。
下面将从几个应用场景分别探讨ADPCM技术的应用。
语音编码格式名词解释
语音编码格式是指将语音信号转换为数字信号的过程,以便在数字通信系统中传输和存储。
以下是一些常见的语音编码格式及其解释:
1. PCM(脉冲编码调制):将模拟语音信号转换为数字信号的最基本方法,每秒钟采样8000次,每次采样用8位或16位表示。
2. ADPCM(自适应差分脉冲编码调制):采用自适应算法对PCM信号进行压缩,从而减少传输带宽和存储空间。
3. MP3(MPEG音频层3):一种有损压缩格式,通过去除人耳听不见的音频信号来减小文件大小。
4. AAC(高级音频编码):一种有损压缩格式,比MP3更高效,可以实现更高质量的音频传输和存储。
5. Opus:一种开放源代码的音频编码格式,支持低延迟和高质量的音频传输。
学习技巧:
1. 熟悉常见的语音编码格式,了解它们的特点和适用场景。
2. 学习数字信号处理和音频编码的基本原理,包括采样、量化、压缩等。
3. 练习使用相关的工具和软件,如Audacity、FFmpeg等,实践音频编码和解码的过程。
4. 参考相关的文献和教程,了解最新的音频编码技术和发展趋势。
ADPCM基本原理与应用实例简介姓名(``大学```学院,陕西省西安710054)摘要:本文介绍了PCM、ADPCM的基本原理,并重点介绍ADPCM以及ADPCM在通信中的实际应用,对其编解码原理及算法实现的流程框图进行了一定的讨论。
最后以ADPCM在通信中的应用为例简单介绍了在实际通信中的应用实例。
关键词:PCM ;ADPCMAbstract: This paper introduces the basic principle of PCM, ADPCM, ADPCM and ADPCM is introduced in communication in the practical application, the coding principle and algorithm flow diagram is discussed. Finally to ADPCM application in communication as an example introduced in the practical communication application.Keyword: PCM;ADPCM中图分类号:N 34 文献标志码:A一、引言ADPCM是波形编码中非常有效的一种数字编码方式。
在ADPCM系统中量化器和预测器均采用自适应方式,即量化器和预测器的参数能随输入信号的统计特性自适应于或接近于最佳的参数状态。
与PCM系统相比,ADPCM的量化器和预测器都是根据前面出现的PCM抽样值并对下一个抽样值进行预测,将当前的抽样值和预测值进行求差,然后对差值进行编码。
对差值编码需要的位数要比直接对原始语音信号编码所需的位数少,从而达到对信号压缩的目的,在这里编码所包含的信息从原来的原始语音信号变为语音信号之间的变化。
本文对PCM、ADPCM的编码、译码原理进行讨论,并对它们性能进行比较,最后简单介绍了ADPCM在飞行员语音采集及遥测系统的框架设计的应用实例。
ADPCM 编码解码.详解2020-03-24 16:17:09 阅读126 评论0 字号:大中小定阅ADPCM 编码解码算法因为种种原因,最近需要把原始的wav文件压缩成ADPCM格式。
但是网上几乎搜不到相关的中文资料。
花了相当长的时间,七拼八凑的从一些文章中得到了些信息,终于搞定了它。
为了方便遇到跟我一样麻烦的人,我决定把它详细的写下来。
1. 关于DPCM DPCM是differential pulse code modulation的缩写,也就是差分脉冲编码调制的意思。
他的主要思想是通过已知的数据预测下一个数据,然后传递预测值与实际值之间的差值。
具体的细节可以在很多信号处理相关的书上找到。
一般的DPCM编码器都是采用的线性预测。
假设传递的数据是X1,X2,...Xn,而下一个数据,Xn+1还是未知。
可以通过前面的X1,X2,...Xn的加权和来预测Xn+1,也就是Xn+1 = ∑(Ai*Xi),其中i属于1...n 为了简化计算,大部分编码的实现只取前两项,也就是,Xn+1 = a*Xn + b*Xn-1, 现在,最主要的事情就是如何对a,b进行取值,才能使得Xn+1的误差最小。
如果假设 x~i 是预测值,xi是实际值,那么,∑(x~i-xi)^2 最小的时候,a,b就是最优的。
设F=∑(X~i-Xi)^2,因为 X~i = a*X~i-1 + b*X~i-2,可以得出,F是关于a,b的二元函数.也就是 F=f(a,b) 。
可以分别对a和b求偏导数,求出它的极值点。
f<sub>a</sub>(a,b) =0 ; f<sub>b</sub>(a,b) = 0 ; 可以得到 a * ∑(Xi-1)^2 + b * ∑(Xi-1)*(Xi-2) = ∑Xi*Xi-1a * ∑(Xi-1)*(Xi-2) +b * ∑(Xi-2)^2 = ∑Xi*Xi-2 如果设alpha = ∑(Xi-1)^2 beta =∑(Xi-1)*(Xi-2)gama = ∑(Xi-2)^2m = ∑Xi*Xi-1n = ∑Xi*Xi-2 上面的式子就可以写成a*alpha + b*beta = m a*beta + b*gama = n 算出alpha,beta,gama,m,n以后,a和b的值就可以计算出来了,实际上我们只需要一个循环遍历前n个数就能把它们都求出来。
封面作者:Pan Hongliang仅供个人学习1 绪论1.1 课题研究地背景和意义随着社会时代地发展,人类迅速进入信息时代,对于各种资源地利用率要求越来越高,从而推动了语音编解码技术地飞跃发展.与此同时,伴随着微电子技术地快速发展,以及超大规模集成电路设计技术地不断完善,使得语音编解码技术越来越广泛地深入到通信领域、消费电子领域,辟如数字录音笔、IP电话、复读机等等都是语音压缩编码技术地典型应用.语音编码技术就是将模拟地语音信号数字化离散化,利用语音听觉上地制约或者数据地冗余度来压缩信号地一些不必要地信息,以此来增加传输速率、减少存储容量,然后再进行传输、存储或者处理,而解码就是相反地一个过程.ADPCM是自适应差分脉冲编码调制地简称,是语音编码地多种算法中地一种,更是最早使用于数字通信系统中地一种语音编解码算法.此算法利用了语音信号样点间地相关性,针对语音信号地非平稳特点,使用了自适应预测和自适应量化,即预测器和量化器它们地参数能随着输入信号地统计特性,自适应于或接近于最佳地参数状态,在32kbps地速率上能够给出网络等级话音质量.ADPCM究其本质是一种针对 16bits( 或8bits或者更高) 声音波形数据地一种有损压缩算法,它可以将声音流中每次采样地 16bit 数据用4bit 来存储,所以其压缩比为1:4.而且它地压缩/解压缩算法非常简单,所以又是一种低空间消耗、高质量高效率声音获得地好途径.ADPCM 其主要是针对连续波形数据地,保存地则是波形地变化情况,从而以达到描述整个波形地目地.1.2语音编码地发展和研究状况数字语音有很多地优点是模拟语音不可比拟地,它能更方便地传输和存储,可以在噪声信道中进行相当可靠地传输,容易进行交换,能够很方便地对信号进行加密传输.数字语音可以由模拟语音简单地抽样,量化来得到,但由于数字语音其数据量比较大如果不经过处理,那它在传输和存储时就会占用很大量地信道资源以及存储空间,那么给系统提出地要求势必就会很高,所以数字语音通常情况下都是要进行压缩编码地.在确保编码语音一定质量地前提下,究竟如何高效率进行压缩编码,或者说在给定信息速率地前提下,如何去提高编码后地语音质量,是当代语音编码所要研究地重点.语音编码技术一般分为两种:信源编码和信道编码.信源编码地目地是为了提高信号地传输和存储效率,在这指地就是数字语音信号被压缩地比特率(即每秒钟传输语音信号所得出地比特数,通常也可以称为数码率),使得更多路地语音信号能在同样地信道容量中传输,或者说只需要较小地容量存储数字语音信号,所以这一类编码又被称为语音信号地压缩编码.而信道编码因为是为了提高传输地可靠性而作出地处理,所以又被称为可靠性编码.语音信号编码从方法上讲有波形编码和分析合成系统两大分支.波形编码是以尽最大可能无失真地重构出语音波形为目标,在其编码时以波形逼近为基本原则,在时域上或变换域上直接进行编码,虽然这种方法压缩效率不很高,但是在64~16Kb/s 地速率上,却可以合成出相当高地语音质量,然而在速率进一步下降时,编码语音地质量将会随之大幅度下降.常用地波形编码算法有:时域上编码地PCM(Pulse Code Modulation),ADPCM,APC(Adaptive Predictive Coding);在频域上进行编码地子带编码SBC(Sub-Band Coding)和自适应变换编码ATC(Adaptive Transform Cording).分析合成系统是把语音信号产生模型作为基础,把语音信号变换成模型参数后再进行编码,因此又称之为参数编码.参数编码其出发点同波形编码有所不同,它地原则是以在尽量保持语音可懂度地条件下,为语音信号搭建一个数学模型,然后通过给定地语音信号计算模型参数并且量化编码来实现.而且它地模型参数对比于语音波形来说数据量是很小地,因而其压缩效率很高.虽然也许参数编码会导致重建话音和原始语音在它时域波形上有很大地区别,但它地可懂度仍然可以保持在一个相当高地程度.现在,还时常采用混合编码地方案,混合编码是波形编码和参数编码优点地结合,这种结合是保留分析合成编码技术精华地基础,引用波形编码准则优化激励源信号,从而在一个较小地数码率上(4.8~9.6kbit/s)获得更高质量地合成语音.自1937年以来地脉冲编码调制(PCM)是AH里夫斯已经提出,语音编码技术地发展历史已经超过60年.尤其是在过去地20年里,随着计算机地语音编码技术和微电子技术地发展得到了快速发展.64kbit/s地PCM系统标准CCITT于1972年确定了64kbit/s地PCM语音编码G. 711建议,已被广泛应用于数字交换机,数字通讯等领域,到现在为止,仍然是占主导地位.虽然这种编码方法可以得到良好地语音质量,但缺点是,它会占用更多地带宽,有限地带宽资源条件下不使用.CCITT在20世纪80年代初,就开始专攻小于64KB/s地非PCM编码算法,32K 比特/秒ADPCM语音编码G. 721建议,于1984年通过,它不仅可以实现与PCM等效语音质量,还更好地抗误码性能,它被广泛用于海底电缆,卫星,和可变速率地数字语音内插编码器清空设备.连续地,在那之后,1986年,1988,做了进一步地修改在此,也可以是32K比特/秒地PCM比特率,一般是高速率地一半,达到接近正常地PCM语音质量,防误性能优于PCM格式.随后颁布G. 723标准,扩大到24Kbit/s和40Kbit/s地编码标准税率. 1990年G. 723,G. 721由ITU合并,将进一步扩展地编码率16KBIT /秒,从而促进G. 726标准形成地.语音插值技术和浮动利率结合原来地PCM通道地ADPCM编码,可扩展到8-10倍,称之为数字语音通道倍增设备DCME. G. 726标准算法不仅简单,但高品质地声音,即使在经过反复地切换,以确保他们地声音质量,所以网络会议系统,8-ISDN通信和VOIP网络通信等方面具有广泛地应用.然后16KB/s地低时延码激励线性预测(LD-CELP)G. 728建议,在1992年出版.正是由于其较低地利率,高性能,低延迟在实践中广泛使用,如:单路单载波卫星,无绳电话和数字插值空气设备,海事卫星通信,存储,数字移动无线系统,分组语音,转发系统,语音留言录制.最后,在11月1995年共轭代数码激励线性预测(CS-ACELP)8KB/s地语音编码G. 729建议ITU-TSGl5全体会议通过,并通过G. 729附件降低复杂8KB/s地CS-ACELP讲话编解码器在ITU-TSGl5 1996年6月地会议上正式成为国际标准.这种编码其延迟小,可以节省带宽地87.5%,为32KB/s地ADPCM语音质量,音质在同级别最优地比特率,在嘈杂地环境中也可以更好地语音质量.虽然CS—ACELP语音编解码器占用比特率比ADPCM地少,但是其算法复杂度远没有ADPCM地算法简单明了,所以在现代通信系统中,ADPCM这种编码算法仍然占主导地位.1.3 语音压缩编码地评价语音质量是一个语音编码系统必然要保证地性能指标,速率再低,编码效率再高,不能得到满意地语音质量也不能算是一个优良地编码算法.那么,在语音压缩编码中,怎样评价一个语音压缩质量地好坏就成为了是一个极其重要地概念,通常,评价语音压缩地标准主要有以下几点:1)语音质量语音质量地评价方法可分为主观评定和客观评定两大类.客观评定方法用客观测量地手段来评价语音编码质量,常用地方法有均方误差、信噪比、加权信噪比、平均分段信噪比等.主观评定方法是用人们自身去感受语音质量地感觉,然后主观评判其语音压缩编码地质量.2)编码速率编码速率,可以使用“比特/秒”(比特/秒或bps)地措施,即总速率编码,通常用I表示,即每秒地编码比特地数量.3)编解码复杂度所谓编解码地复杂度指地就是实现一个信号编解码算法地难易程度.编解码算法地复杂程度和语音编码地话音质量有着相当密切地联系.在一个相同地数码率情况下,算法复杂一些地将会获得更好地语音质量.编解码复杂度可以由算法复杂程度、硬件实现及价格等许多因素来衡量.4)编解码延时数字音频编解码器地延迟主要由两部分组成:算法延迟和处理延迟.之前地压缩地音频信号到高速缓存中地数据必须是有效地,这个时间延迟称为算法延迟,它是不是唯一地方法,以减少通过改变延迟时间.即,音频信号压缩编码器和解码器地编解码器地实现在不同地应用程序所需地时间地处理延迟,国际社会已延时地编解码器不同地要求,如长途编解码器延迟不超过5-10毫秒,但对于可视电话可以扩展到几十毫秒到几百毫秒.5)稳健性(Robustness)所谓稳健性是指编译码系统地抗噪声、抗信道误码能力.一个实用地声码器,其误码率要求在10-3地信道上传输时,语音质量不至于过分恶化,而对于移动通信中地声码器则要求在信道误码率为3×10-2时仍能正常工作.ADPCM就语音质量地评价上来说,语音质量地客观评价方法主要采用均方误差和信噪比来评定.但客观评价还不能全面反映人对语音质量地感觉,而主观评定方法符合人们对语音质量感觉地要求.主观评价地优越性,主要体现在其处理还原后给人主观感觉效果很好,感觉语音失真度小;就编码速率来讲,ADPCM地编码速率为16KB/S,优于其他编码方式;就其编解码地复杂度而言,ADPCM采用四位二进制地差值编码方式,使用起来简单又容易实现;它地抗噪能力也比较强即稳健性相当好.1.4 论文研究地主要内容及章节内容安排本论文研究地内容是语音编解码地算法及软件实现过程,主要是研究ADPCM 地语音编解码算法及在MATLAB软件中地实现.论文共分4章,各章内容安排如下:第一章:简要介绍课题研究背景和意义,语音编解码地发展和研究状况以及它地评价标准.第二章:主要介绍语音信号脉冲编码基本理论,为对语音进行ADPCM编码译码系统提供理论依据.第三章:介绍PCM与DPCM(Differential Pulse Code Modulation)地工作原理,并对二者进行比较,从而体现出DPCM编码地优越性.接着介绍增量调制DM(delta modulation)及自适应增量调制ADM(adaptive delta modulation)地原理与运用,二者比较得出ADM更容易跟踪信号变化快地地语言,最后阐述了ADPCM地由来及主要原理.第四章:确定ADPCM实现地总体设计框图,以及ADPCM编码和解码实现过程地设计流程图, 并采用MATLAB软件对ADPCM编解码系统地实现进行了仿真.2 语音信号脉冲编码基本理论当前最主要地通信业务有电话、图像(传真、电视)等,它们都是时间上和幅度上连续地模拟信号,如果要想实现数字化地传输和交换,则首先要做地就是把模拟信号变化成数字信号,电话信号数字化一般被称为语音编码,而图像信号数字化就被称为图像编码.虽然两者各有各地特点,但两者地编码原理基本上仍然是一致地.而当前地通信网中很多业务基本上都是电话业务,因此语音编码将为本章讨论地重点.可以说这些理论对任何模拟信号数字化地实现过程都是适用地,其不失一般意义.依照语音地特点,通常把语音编码方法分为波形编码和参量编码,波形编码是指对信号地波形进行编码,它具有较高重建信号质量地能力.参量编码则是通过提取语音信号地一些特征参量,从而对其进行编码,它地特点是码速率较低,但其语音质量要较波形编码差一些.波形编码地质量比较高,通常在300~3400Hz话路通道中传输模拟信号(例如模拟数据信号、电话信号、传真信号及各种随路信令信号等)在数字化以后,仍然可以达到原来地质量容限.这一特点是通信网由模拟转换为数字过渡过程中极其重要地一点.根据语音地特性,通常分为波形编码和参数编码类型地两类语音编码方法,波形编码,用于编码地信号波形,它具有更高地能力来重建信号地质量.参数编码是通过提取语音信号地参数地一些特点,从而编码,它地特点是较低地比特率,但不如波形编码地语音质量.波形编码质量是比较高地,通常会在通道300〜3400Hz传输各种模拟信号(如模拟数据信号,电话信号,传真信号,与信道相关信令地各种信号)后地数字仍实现其原来地质量宽容.地通信网络,其特征在于由模拟到数字地转换是非常重要地.语音信号有很多波形编码方法,例如脉冲编码调制(PCM)、自适应增量调制(ADM)、自适应差值脉冲编码调制(ADPCM)、子带编码(SBC)、矢量编码(VQC:Vector Quantitation Coding)等.为对语音进行ADPCM编码译码系统提供理论依据,下面主要介绍编码地一些基本理论.2.1 语音信号压缩地基本原理在数字通信中,语音信号被编码为二进制数字序列,通过信道传输或存储,在经过解码后恢复为可懂地语音.将语音信号编码为二进制数字序列后再经传输或储存有其独特地优点.例如,可摆脱传输或存储中噪声地干扰.模拟传输信道地噪声总是要使语音信号发生畸变,而数字通信只要有足够地通信站,就能排除所有噪声地影响;另一方面,磁带录音机存储模拟信号时要受磁带噪声和其他噪声地影响,而采用计算机存储数字语音信号时,惟一地失真来自模数转换前地低通滤波.另外,数字编码地信号还便于处理和加密、再生与转发,也可与其他信号复用一个信道,设备便于集成等.最简单地语音编码方法是对其直接进行模/数变换;只要其取样率足够高,量化每个样本地比特数足够大,那么就能保证解码恢复地语音信号有非常好地音质,而且也不会丢失有用信息.可是对语音信号直接进行数字化其所需数码率太高,比如普通电话通信中采用8KHZ取样率,如用12bit进行量化,则数码率为96kbit/s,这样大地数码率即使对很大容量地传输信道也是难以承受地.而语音信号用PCM编码后,数码率为64kbit/s,不进行压缩很难用调制解调器在电话线路上传输,所以必须进行压缩编码.对语音进行编压缩码地基本依据有两个.一是,从产生地物理机理和语音结构地性质来看,语音信号中存在较大地冗余度.从信息保持地角度讲,只有当信源本身具有冗余度,才能对其进行压缩.语音压缩实质上就是识别语音中地冗余度并设法去除掉它们.冗余度最主要部分可以分别从时域或频域来考虑,归纳起来有以下几个方面:1,语音信号样本间地相关性很强,即其短时谱不平坦.2,浊音语音段具有准周期性.3,声道地形状及其变化比较慢.4,传输码值地概率分布是非均匀地.语音编码地第二个依据是利用人类听觉地某些特性.人耳听不到或感知不灵敏地语音分量可视为冗余(这种冗余可看作为主观上地冗余),所以可以利用人耳感知模型,去除掉人耳感觉不灵敏地语音分量,而重构后地语音质量不明显下降.总之,利用冗余度或者是听觉上地制约,可以压缩表示语音信号地必要信息,从而可降低传输速率或存储容量.下面给出脉冲编码地基本框图:图1 模拟脉冲编码框图2.2 采样定理2.2.1 Nyquist采样定理采样是指将时间上连续地模拟信号变为时间上离散样值地过程.采样定理最主要要回答地问题是看能不能由离散样值序列重建出原始地模拟信号.且抽样定理还是任何模拟信号数字化地理论基础.其主要有以下几种:①Nyquist采样定理;②带通采样定理;③自然采样④平顶采样.接下来简单地介绍一下Nyquist 采样定理和带通采样定理.Nyquist采样定理:设定一个频率带限信号为,将其频带限制在(0, )或以下,若对以不低于地采样速率进行等间隔采样,那么获得时间离散地采样信号 (其中称为采样间隔), 通过所得到地采样值原信号将完全地确定.奈奎斯特采样定理指出,如果信号是一个不小于2倍地采样率进行采样地,则由所得到地离散采样值就可以唯一地恢复原信号.根据抽样理论,使采样信号通过一个低通滤波器,其带宽不小于,过滤掉高频成分,因此它可以恢复地原始信号地无失真地从中.随着时间离散采样值来代替连续时间模拟信号地采样定理地意义是,这将模拟信号处理数字化奠定了理论基础.2.2.2 带通信号采样Nyquist采样定理仅仅讨论了频谱分布在(0, )上地基带信号地采样问题, 但在实践中,我们遇到地信号,尤其是语音信号中,通常会在一个有限地频带(, )范围内地信号地带通频率分布,由奈奎斯特采样定理,依然能按照地采样速率去进行采样.当时,即当信号最高频率远远大于该信号带宽B时,若仍然按照Nyquist采样率去进行采样地话,那么它地采样频率就会变得很高,从而就很难去实现, 或随后地处理速度是非常困难符合要求地.带通采样定理:设一个带限信号,将其频带限制在(,)范围内,若其采样速率关系式满足:(1)其中n为整数,其取值区间为:[0,N],N为/B地整数部分.那么地频谱将不会发生混叠,即能从中无失真地恢复出.从以上采样定理中很容易推导出最低采样率(2)(当n=最大值N时, 最小),且又由式可以得知:带通采样频率最小值在2B到4B之间,即(3)通常,当带通信号地带宽比信号地最低频率大时,就可将此信号作为低通信号处理.只有当不满足上述条件时才使用带通抽样定理.2.3 量化定理2.3.1 基本概念量化是指将一个幅度连续变化地信号变为一个离散信号地过程.由于用有限长度地二进制数字码组表示模拟信号样值是PCM地数字化过程,然而有限长度地二进制数字码组又只能代表有限数量地样值,所以若要用有限地数量样值去表示原模拟信号无限个幅度抽样值,那么就需要对其进行量化.量化地方法就是,将所需量化样值地最大变化范围分成若干个相邻区间段落,当其样值落在某一间区间内,它地输出数值就用此区间内地某一个单一固定值来表示.量化间隔可以是相等地,也可以是不相等地,一般有均匀量化和非均匀量化两种量化方法.从量化结果可以发现,不论量化地间隔有多么小,都会带来一定地误差,随之就产生了量化噪声.虽然将量化间隔取得较小,量化级数会因此变多从而能减小一定地量化误差,但与此同时,也会相应地增加数码率,提高编码设备地复杂程度,而且需要较宽地传输信道.例如,对语音信号,其抽样速率为,如果每个样值编码8位,量化共有256个量化间隔,每路语音PCM编码后地数码率为8x8=64kib/s;如果每位样值编11位码,数码率提高到88kbit/s.2.3.2 均匀量化均匀量化也叫线性量化,它在量化时各量化间隔是相等地.任意一个量化器都会有一定地量化范围,通常取-V~V.在均匀量化地情况下与, 量化间隔(Δ)和量化级数N地关系为:(4)通常情况下每一个量化间隔内地量化值可以取此区间内地任意一值,但是理论上为了减小平均量化误差功率, 一般量化值地取值会取量化间隔中间值,那么这样量化地最大误差便为Δ/2.一般来说,信源码都是二元码,所以其码位n与量化级数N地关系为,即.对于均匀量化地量化间隔或是量化电平用n位码表示,就得到了数字编码信号,通常称为线性PCM编码信号.2.3.3 非均匀量化非均匀量化是一种量化间隔取决于使用不同信号地,在信号幅度值比较小地区间内就采用小地量化间隔,而在信号幅值比较大地区间内则采用大地量化间隔,量化间隔不再是一个恒定值.非均匀量化较均匀量化方法具有以下两个优点:a)当对一个概率密度非均匀分布地语音信号进行量化时,非均匀量化方式就可以得到较高地平均信号量化噪声功率比.b)在非均匀量化,量化噪声地语音信号地rms值地功率大致成比例地采样,即,量化地或大或小地语音信号地量化噪声信号地方法,无论水平是相同地,即改善均匀量化地声音时,小信号量化噪声比.非均匀量化小地用于小信号地量化噪声,以确保在同一时间有一定地限制,在量化过程中,有足够地动态范围地量化比特数并没有把一个大地信号过载.如果我们知道地语音信号地幅度地概率密度函数地序列,我们可以设计给定地量化比特数地量化噪声是最小地非均匀量化器.输入语音信号地方差和概率密度函数进行量化,与量化地质量密切相关,我们需要通过量化方法一种受二者影响较小地,目前在这方面地杰出贡献地,我们经常看到地A律或μ律量化.非均匀量化地过程中,可以等效地视为非线性地压缩语音信号地振幅,然后地线性量化处理.非线性压缩方法是目前理想地对数压缩.所谓地对数压缩,也就是说,要量化地对数压缩地语音信号地振幅值,振幅地第一语音信号地对数,然后量化值,提高量化器地动态范围.在解码侧,通过过程地逆过程 - 恢复地话音消息地采样地指数函数地对数.仅取自量化步长地量化噪声对数压缩,从该语音信号地方差.然而,其值地对数地语音信号地振幅可能很大,需要定量或定量地特定地量化比特地电平,以便对数压缩更难以实现.可将对数压缩特性作些近似,这样才有了后来地律地压缩方式:先将语音抽样信号作公式(5)变换得到,量化器再对进行量化.(5)当时, 当时, 当时, 输入输出信号相同,即没有进行压缩,信号子幅度范围即量化电平均匀分布;当μ很大,并且也很大时,则有:(6)此时地μ律量化器地信噪比可推导为:(7)由上述公式可知: μ律量化器信噪比与关系不大.大量实验结果表明,对于一个固定地值,若减为二分之一,则减少6dB;而对于一个固定地值,码每增加一位,则增加6dB.μ律量化器以量化信噪比作较小牺牲为代价,使量化器有一个比较宽地动态范围.通常作为“长途电话质量”语音波形标准地7位μ律PCM在动态范围合适地情况下保持有34dB地信噪比.而若用均匀量化器得到同样宽度地动态范围,大约需要11位,比μ律量化器高出50%还多.2.3.4自适应量化一方面,在语音信号中地量化器地量化步长,从选定地足够大,以适应动态范围;另一方面,希望减小量化步长,以减少量化噪声相差.这种现象地原因是语音信号,语音通信过程是不固定地.与扬声器或通信环境地变化,和由浊音清音段到段地语音内容,语音信号地幅度会在一个很宽地范围内.正如我们所看到地,使用非均匀量化,以适应这些幅度地波动是一种方式,还有一个比这更好地方式,采用自适应量化,即使量化地量化步长自动适应输入电平地变化.在本节将介绍自适。
课程设计报告设计课题:ADPCM编解码器的实现姓名: XXX专业:集成电路设计与集成系统学号: 04日期 2015年1月17日指导教师: XXX国立华侨大学信息科学与工程学院一:课程设计任务与要求。
ADPCM编解码器的实现。
m转为Verilog,使用Matlab和Modesim联合仿真验证二:系统设计原理。
脉冲编码调制PCM脉冲编码调制就是把一个时间连续,取值连续的模拟信号变换成时间离散,取值离散的数字信号后在信道中传输。
脉冲编码调制就是对模拟信号先抽样,再对样值幅度量化,编码的过程[9]。
抽样,就是对模拟信号进行周期性扫描,把时间上连续的信号变成时间上离散的信号,抽样必须遵循奈奎斯特抽样定理。
该模拟信号经过抽样后还应当包含原信号中所有信息,也就是说能无失真的恢复原模拟信号。
它的抽样速率的下限是由抽样定理确定的。
抽样速率采用8KHZ。
量化,就是把经过抽样得到的瞬时值将其幅度离散,即用一组规定的电平,把瞬时抽样值用最接近的电平值来表示,通常是用二进制表示。
量化误差:量化后的信号和抽样信号的差值。
量化误差在接收端表现为噪声,称为量化噪声。
量化级数越多误差越小,相应的二进制码位数越多,要求传输速率越高,频带越宽。
为使量化噪声尽可能小而所需码位数又不太多,通常采用非均匀量化的方法进行量化。
非均匀量化根据幅度的不同区间来确定量化间隔,幅度小的区间量化间隔取得小,幅度大的区间量化间隔取得大。
一个模拟信号经过抽样量化后,得到已量化的脉冲幅度调制信号,它仅为有限个数值。
编码,就是用一组二进制码组来表示每一个有固定电平的量化值。
然而,实际上量化是在编码过程中同时完成的,故编码过程也称为模/数变换,可记作A/D。
差分脉冲编码调制DPCM差分脉冲编码调制DPCM是利用样本与样本之间存在的信息冗余度(预测样值与当前样值之差)来代替样值本身进行编码的一种数据压缩技术[10]。
差分脉冲编码调制可以实现在量化台阶不变(即量化噪声不变)的情况下,编码位数显着减少,信号带宽大大压缩。
根据过去的样本去估算下一个样本信号幅度大小,这个值称为预测值,对实际信号值与预测值之差进行量化编码,从而就减少了表示每个样本信号的位数。
差分脉冲编码的概念,如图中,差分信号d(k)是离散输入信号s(k)和预测器输出的估计值)1(e -k S 之差。
此刻,)1(e -k S 是对S (k )的预测值,而不是过去样本的实际值。
DPCM 系统实际上就是对这个差值的d(k)进行量化编码,用来补偿过去编码中产生的量化误差。
DPCM 系统实际就是一个负反馈系统,采用这种结构可以避免量化误差的积累。
重建新号)(k S r 是由逆量化器产生的量化差分信号)(k d q ,与对过去样本信号的估算值)1(-k S e 求和得到。
他们的和,即)(k S r 作为预测器确定下一个信号估算值的输入信号。
由于在发送端和接收端都使用相同的逆量化器和预测器,所以接收端的重建信号)(k S r 可以传送信号I(k)中获得。
图 DPCM 原理图在PCM 中,每个波形样值都独立编码,与其他样值无关,样值的整个幅值编码需要较多位数,比特率较高,数字化的信号带宽大。
然而,大多数以奈奎斯特或更高速率抽样的信源信号在相邻抽样间表现出很强的相关性,利用信源的这种相关性,一种比较简洁的解决方案是对相邻样值的差值而不是样值本身进行编码。
由于相邻样值的差值比样值本身小,可以用较少的比特数表示差值。
如果将样值之差仍用N位编码传送,则DPCM的量化信噪比显然优于PCM系统。
自适应差分脉冲编码调制ADPCM前述概要地介绍了DPCM的工作原理。
但为了能进一步提高DPCM方式的质量还需要采取一些辅助措施。
即自适应措施。
语声信号的变化是因人、因时而不同的,为了能在相当宽的变化范围内仍能得到最佳的性能,DPCM也需要自适应系统,自适应预测和自适应量化,称为ADPCM。
图所示为采用固定预测并带有自适应量化的ADPCM系统。
图中多电平量化与调制器用Q表示,积分器用P组成的预测系统表示。
自适应量化的基本思想是:让量化间隔)(t的变化,与输入信号方差相匹配,即量化器阶距随输入信号的方差而变化,它正比于量化器输入信号的方差。
现有的自适应量化方案有两类:一类是其输入幅度或方差由输入信号本身估算,这种方案叫前馈自适应量化器。
另一类是其阶距根据量化器的输出来进行自适应调整,或等效的用输出编码信号来进行自适应调整,这类自适应量化方案称为反馈自适应量化器。
无论是采用前馈式还是反馈式,自适应量化都可以改善动态范围及信噪比。
反馈控制的主要优点是量化阶距的信息由码字序列提取,因此不需要传输或存储额外的阶距信息。
但是在重建信号输出时,传输中的误码对质量的影响比较敏感,在前馈控制时,要求码字和阶距一起,用来得出信号。
这样是增加了其复杂程度,但它有可能在差错控制保护下传输阶距从而大大改善高误码率传输时的输出信号质量。
不论是前馈型还是反馈型自适应量化都可以希望得到超过相同电平数固定量化的10~20dB 的改善。
为了进一步有效地克服语声通信过程中的不平稳行,要考虑量化器和预测器都适应匹配于语声信号瞬时变化,又设计了同时带有自适应量化和自适应阶距的ADPCM 系统。
自适应量化和自适应预测都可以是前馈型的或是反馈型的。
对ADPCM 来说,预测系统的预测系数的选择是很重要的。
如果信号)(t F S 的样值用S(n)表示,)('t F d 的样值用)('n d 表示,)(d t F 的样值用)(d n 表示,则当采用线性预测,即)('n d 是以前量化值的线性组合时,其预测值为)()()n (d 1k n d n a pk k -='∑=式中P 为预测器的阶数。
要使预测系数)(n a k 自适应,通常是假定短时间内语声信号的参量保持恒定的。
并使短时间内的均方预测误差为最小值来选择预测系数[11]。
(a)编码器(b)解码器图 ADPCM原理图编码过程编码的核心思想是对输入信号与预测信号差值进行编码和预测,采用的是非均匀量化,为了使不同幅值的信号信噪比接近一致,从而避免大幅值语音信号信噪比大而小幅值语音信号信噪比小[12]。
ADPCM编码过程如图所示输示。
输入Si是一个线性16bit补码PCM数据,其范围在32767到-32767之间。
如果是非线性的PCM则之前先加个线性转化模块使得输入的数据是线性的。
经过预测器出来的预测采样值Sp=(1)X n-,与线性输入Si的差值为d,我们就可以在这个差值上进行处理。
接下p来量化器模块对有符号的4位编码数据I,由于是带符号的所以这个数据的表示范围在7到-7之间,最高位为符号位。
具体实现过程如下,首先计算16位的PCM值的当前采样值Si和上一时刻预测采样值(1)X n-之间的差值d,这个差值的量化编p码即输出4位ADPCM值I(k)。
在算法实现中,定义一个结构变量存储预测采样Sp 和量化步长索引,并制定了两个表。
一个表为索引调整表,其输入为差值量化编码I(k),用来更新步长索引。
另一个表为步长调整表,其输入为步长索引,输出为步长q 。
编码时,首先用上一个采样点的步长索引查步长调整表求出步长q 。
如果当前采样值Si 和采样预测值(1)p X n -之间的差值d 为负,则I 的D3位置1。
如果该差值绝对值大于步长q ,则I 的D2位置1。
如果d-q 大于q/2,则I 的D1位置1,如果d-q-q/2大于q/4,则I 的D0位置1。
如果以上条件不满足,则相应位置0。
这样就确定了编码值I(k)。
然后编码值I(k)作为索引调整表的输入,查表输出索引调整,并和结构变量中原步长索引相加,产生新的步长索引,在下一个采样值的编码中使用。
编码输出I 后,编码还需要重复进行和解码完全一样的计算过程,求出新的预测采样值Sp 。
图 协议编码概括起来其主要步骤如下① 计算Si 与自适应预测器输出(1)p X n -的差值)1(i --=n X S d p ;② 通过自适应量化模块对d 进行量化,得到ADPCM 码字I(k);③ 通过自适应反量化模块对I(k)计算得到量化差分预测信号q d ;④ 根据重建信号p r S d S +=q 和q d 更新预测滤波器系数;⑤ 利用新的系数,计算得到)(n X P ,重复上述5个步骤,压缩下一个语音采样数据。
图 协议解码解码过程解码是编码的逆过程,ADPCM 的解码过程如图所示。
解码输入即编码输出I ,逆量化器将I 逆量化成差值dq 。
差值dq 与预测采样Sp 相加得到解码输出Sr 。
解码过程同编码过程中求预测采样的原理是一样的,当编码端的Sr 能很好的跟踪上Si 时,解码端的Sr 也能同样再现Si 。
这里涉及算法本身的时延和实现平台、实现方法的实时性等因素。
解码时首先通过步长索引查步长调整表得到量化步长,差值量化编码I 经逆量化器得到语音差值dq ,这是求I 的逆过程;然后与前次预测值一起重建当前语音信号Sr ,最后用固定预测Sp=Sr ,更新预测采样Sp ,用I 更新量化步长索引值[13][14][15]。
其主要步骤如下:① 通过自适应逆量化器和自适应预测得到q d 和P S 。
② 通过q d 同P S 相加便得到编码输出Sr 。
③ 采用与编码器相同的方法更新预测滤波器系数,。
④ 采用与编码器相同的方法更新步长索引表,得到新的q d⑤ 利用新的滤波器系数,重复上述5个步骤,解码下一个I(k)。
三:测试与验证主要采用Matlab来验证ADPCM的结果,以及和Modlsim来联合仿真。
而我们利用 FPGA 资源消耗低、灵活性强、速度快、性价比突出等优势,使用 VerilogHDL 硬件描述语言设计并实现了ADPCM 编/解码器,运用Modelsim 仿真测试,来确保编/解码器的正确性和稳定性,整个设计充分利用了 FPGA 芯片的资源、硬件结构简单、可靠性高,具有良好的应用前景。
仿真根据协议,再由上述原理编写ADPCM的编解码器C代码,将代码导入到matlab 中[17]。
我们用一段类似语音的正弦波取200点来验证波形。
其代码如下:t=0:pi/50:2*pi;y=sin(t);adpcm_y=adpcm_encoder(y);Y=adpcm_decoder(adpcm_y);其中adpcm_encoder( )为ADPCM的编码模块,代码见附录1,而adpcm_decoder( )为ADPCM的解码模块,其代码也见附录1。
y为输入波,adpcm_y为ADPCM编码波形,Y为解码输出波形则输入波形如图。
图输入波形ADPCM编码波形如图。
图 ADPCM编码波形ADPCM解码波形如图。
图 ADPCM解码输入与输出波形的差值如图。