1、编号 : p o r k 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 EDA 技术 与 Verilog 草鱼HDL 草鱼 设计报告草鱼 草鱼 草鱼 草鱼 题 草鱼 草鱼 草鱼 草鱼 目 : pork 草鱼 基于 FPGA 的 ADPCM 语音编码器设计 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 院 草鱼 (系) : pork 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 电子工程与自动化 学院 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼
2、草鱼 草鱼 草鱼草鱼 专 草鱼 草鱼 草鱼 草鱼 业 : pork 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 模式识别与智能系统 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼草鱼 学生姓名 : p o rk 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 余庆 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼草 鱼 学 草鱼 草鱼 草鱼 草鱼 号 : pork 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草
3、鱼 草鱼 草鱼 102081501 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼草鱼 同 草鱼 作 草鱼 者 : pork 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 杨宏光 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草 鱼草鱼 指导教师 : p o rk 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 潘 草鱼 明 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼
4、 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 职 草鱼 草鱼 草鱼 草鱼 称 : pork 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 副教授 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼草鱼 草鱼 草鱼 题目类型 : pork 草鱼 草鱼 理论研究 草鱼 草鱼 草鱼 草鱼 实验研究 草鱼 草鱼 草鱼 工程设计 草鱼 草鱼 草鱼 工程技术研究 草鱼 草鱼 草鱼
5、软件开发 草鱼 草鱼 草鱼 2011 草鱼 年 草鱼 草鱼 11 草鱼 月 草鱼 29 草鱼 日 草鱼桂林电子科技大学 基于 FPGA 的 ADPCM 语音编码器设计 第 2 页 共 28 页 草鱼 摘 草鱼 草鱼 草鱼要 草鱼 草鱼 本文介绍了 自适应 差分脉冲编码调制技术 ADPCM 的编码原理和结构 , 鲤鱼 以及脉冲宽度调制技术 PCM 的原理 , 鲤鱼 利用硬件描述语言设计并仿真了 ADPCM 编码器及相关电路 , 鲤鱼 以完成语音的编码功能 。 草鱼 ADPCM 算法有 4:1 压缩率 , 鲤鱼 将 16bit 声音波形数据的压缩方法 , 鲤鱼 但抗噪音和实时性比较差 , 鲤鱼 而
6、利用 草鱼 FPGA 具有很好的可配置型 , 鲤鱼 硬件处理速度快等优点 , 鲤鱼 便可以得到较好的编码效果 。 草鱼草鱼 草鱼 关键字 : pork自适应差分脉冲编码 ; porkADPCM 的编码 ; pork脉冲宽度调制技术 ; pork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 桂林电子科技大学 基于 FPGA 的 ADPCM 语音编码器设计 第 3 页 共 28 页 Abstract 草鱼 草鱼 In 草鱼 this 草鱼 paper, 草鱼 the 草鱼 principle 草
7、鱼 of 草鱼 the 草鱼 encoder 草鱼 of 草鱼 Adaptive 草鱼 Differential 草鱼 Pulse 草鱼 Code 草鱼Modulation 草鱼 (ADPCM) 草鱼 and 草鱼 Pulse 草鱼 Code 草鱼 Modulation 草鱼 (PCM) 草鱼 are 草鱼 introduced. 草鱼 And 草鱼 we 草鱼 used 草鱼hardware 草鱼 description 草鱼 language 草鱼 to 草鱼 design 草鱼 circuit 草鱼 of 草鱼 ADPCM 草鱼 encoder 草鱼 and 草鱼 simulate 草鱼
8、 the 草鱼circuit 草鱼 in 草鱼 order 草鱼 to 草鱼 achieve 草鱼 the 草鱼 function 草鱼 of 草鱼 voice 草鱼 encode. 草鱼 The 草鱼 ADPCM 草鱼 algorithm 草鱼 has 草鱼 a 草鱼compression 草鱼 ratio 草鱼 of 草鱼 4:1,but 草鱼 it 草鱼 is 草鱼 weak 草鱼 in 草鱼 anti-noise 草鱼 and 草鱼 instantaneity. 草鱼 Because 草鱼 of 草鱼 the 草鱼configuration 草鱼 of 草鱼 FPGA 草鱼 is 草鱼
9、 well 草鱼 adapted 草鱼 and 草鱼 also 草鱼 the 草鱼 process 草鱼 rate 草鱼 of 草鱼 the 草鱼 hardware 草鱼 is 草鱼quick, 草鱼 so 草鱼 we 草鱼 improved 草鱼 the 草鱼 encoder 草鱼 in 草鱼 the 草鱼 basic 草鱼 of 草鱼 early 草鱼 version.草鱼 草鱼 Keywords: 草鱼 FPGA;p o r k 草鱼 ADPCM;p o r k 草鱼 adaptive 草鱼 predication;p o r k 草鱼 adaptive 草鱼 quantization;
10、p o r k 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 桂林电子科技大学 基于 FPGA 的 ADPCM 语音编码器设计 第 4 页 共 28 页 草鱼 目 草鱼 草鱼 草鱼 草鱼录 草鱼 草鱼 1 引言 5 草鱼 2 ADPCM 和 PCM 原理 5 草鱼 2.1 差分 草鱼 PCM 6 草鱼 2.1.1 脉冲编码调制 PCM 6 草鱼 2.1.2 差分脉冲编码调制( DPCM) 7 草鱼 2.2 自适应差值脉码调制( ADPCM) 8 草鱼 2.2.1 ADPCM 编码原理 8 草鱼 2
11、.2.2 ADPCM 解码原理 8 草鱼 2.2.3 ADPCM 在通信系统中的应用 9 草鱼 3 FPGA 原理及其相关工具软件的介绍 9 草鱼 3.1 FPGA 开发过程与应用 9 草鱼 3.1.1 FPGA 发展历程及现状 10 草鱼 3.1.2 FPGA 工作原理 10 草鱼 3.1.3 FPGA 开发流程 10 草鱼 3.2 Quartus 草鱼 II 软件 11 草鱼 3.3 Simulink 软件 12 草鱼 3.3.1 代码仿真 12 草鱼 3.3.2 门级仿真和时序仿真 12 草鱼 3.3.3 testbench 编写 12 草鱼 4 实验步骤及仿真调试结果 13 草鱼 4.
12、1 时钟模块 13 草鱼 4.2 8 位非线性码转换 12 均匀模块 16 草鱼 4.3 4 位 ADPCM 码输出模块 18 草鱼 4.4 testbench 模块 24 草鱼 4.5 仿真结果 26 草鱼 5 结论 26 草鱼 谢 草鱼 草鱼 辞 27 草鱼 参考文献 27 草鱼 草鱼 草鱼 草鱼 桂林电子科技大学 基于 FPGA 的 ADPCM 语音编码器设计 第 5 页 共 28 页 草鱼 草鱼 草鱼 引言 草鱼 语音是语音信息的声学表现 , 鲤鱼 是人们用来传递信息和交流感情最方便 、 pork最有效 、 pork最熟悉的手段 。 草鱼 在数字通信技术投入使用前 , 鲤鱼 语音信息始
13、终采用传统的模拟传输方式进行传输和存储 。 草鱼草鱼 近年来多媒体技术正逐渐融入到人们的生活中 , 鲤鱼 而其中的语音编码技术就是最基本的技术之一 。 草鱼 语音编码就是将模拟语音信号数字化 , 鲤鱼 语音信号的数字化表示具有许多优点 , 鲤鱼 但是如果对语音信号直接采用 A/D 转换技术进行编码 , 鲤鱼 则传输 或者存储的语音量太大 , 鲤鱼 因此为了降低传输速率和存储容量 , 鲤鱼 就必须对其进行压缩编码 , 鲤鱼 还原时以压缩相反的算法进行解码 , 鲤鱼 再经过数模转换转换成相似的模拟语音信号 。 草鱼草鱼 第一台语音编码器诞生在 60 多年前 , 鲤鱼 当时是为军用电话的话音加密而研
14、制的 。 草鱼 从那时起到 20 世纪 70 年代 , 鲤鱼 它一直被用于军事通信中 。 草鱼 在最近 30 年 , 鲤鱼 特别是在国际电信联盟公布了采用脉冲编码调制方式的 ITU-TG.711 标准后 , 鲤鱼 语音编码得到了迅速发展 , 鲤鱼 现在它被广泛用于 DAB(数字音频广播) 、 p ork单路单载波卫星和海事卫星 通信 、 pork移动通信 、 pork电话会议 、 po r k会议电视的伴音 、 p o r k数字插空设备和分组话音等领域 。 草鱼草鱼 语音压缩编码 , 鲤鱼 就是在给定的编码速率前提下 , 鲤鱼 利用某种算法去掉冗余信息再编码 , 鲤鱼 力求用最少的码字表示原
15、来的语音信息 , 鲤鱼 并保证编码后恢复的重构语音质量尽可能高 。 草鱼 语音编码走出实验室 , 鲤鱼 投入实际使用 , 鲤鱼 主要归功于语音信号处理技术和数字信号处理等计算能力的迅速提高和超大规模集成电路的发展 。 草鱼 由于存储容量的不断扩充 , 鲤鱼 而其价格却不断下降 ,鲤鱼 使语音编解码芯片的产品能迅速打开市场 , 鲤鱼 而 应用的发展又促使研究人员不断研究出更为复杂的新算法 , 鲤鱼 并形成了多项国际标准 。 草鱼草鱼 迄今已有各种各样的语音编解码技术 , 鲤鱼 而自适应脉冲差分编码调制是波形编码中非常有效的一种数字编码方式 。 草鱼 它的编解码器都是根据前面出现的 PCM 抽样值
16、对下一个 PCM 抽样值进行预测 , 鲤鱼 将当前的 PCM 数据与预测值进行求差 , 鲤鱼 对差值进行的编码位数比对原始信号进行的编码位数要少的多 , 鲤鱼 编码包含的信息从原来的原始语音信号变为语音信号的变化从而达到压缩目的 。 草鱼草鱼 集成技术的快速发展推动了数字系统设计技术的发展 。 草鱼 现有的数字 信号处理系统设计大多基于 DSP 或专用 ASIC 芯片 , 鲤鱼 存在以下这些问题 , 鲤鱼 比如 : pork高速性能不好 , 鲤鱼 升级配置不灵活 ,鲤鱼 给工程师的开发增加了难度等 。 草鱼 在这样一个开发周期要短 , 鲤鱼 成本要低 , 鲤鱼 性能要好的市场督导下 , 鲤鱼
17、这种陈旧的开发方式明显不具备市场竞争力 。 草鱼 而可编程逻辑器件 FPGA 的日趋成熟与强大为语音信号处理提供了一种新的开发方式 。 草鱼 它不但可以提高语音处理速度 , 鲤鱼 同时使系统的配置与升级更加灵活 。 草鱼 本论文研究采用 FPGA 系统实现 ADPCM 编码的应用 。 草鱼 ADPCM算法是一种针对 16-bit 声音波形数据的压缩算法 , 鲤鱼 具有空间消耗低 , 鲤鱼 语音质量高等特点 。 草鱼草鱼 草鱼 草鱼 ADPCM 和 PCM 原理 草鱼 桂林电子科技大学 基于 FPGA 的 ADPCM 语音编码器设计 第 6 页 共 28 页 草鱼 差分 草鱼 PCM 草鱼 脉冲
18、编码调制 PCM 草鱼 脉冲编码调制是使用最为广泛的调制方法 。 草鱼 在 PCM 的调制过程中 , 鲤鱼 将输入的模拟信号进行取样 , 鲤鱼 量化和编码 。 草鱼 这种方法通过用脉冲编码来代表取样后的模拟信号幅度 。 草鱼 即用二进制的大小来代表取样后的信号幅度 , 鲤鱼 在接收端再将这些编码的二进制数还原成为原来的模拟信号 。 草鱼草鱼 采样 草鱼 采样也称抽样 , 鲤鱼 是信号在时间上的离散化 , 鲤鱼 即按照一定 时间间隔 t 在模拟信号 x(t)上逐点采取其瞬时值 。 草鱼 它是通过采样脉冲和模拟信号相乘来实现的 。 草鱼草鱼 采样定理 : pork如果在规定的时间内 , 鲤鱼 以有
19、效信号最高频率的二倍或二倍以上的速率对该信号进行采样 , 鲤鱼 则这些采样信息值中包含了全部原始信号信息 。 草鱼 草鱼 在数字通信中 , 鲤鱼 根据采样定理 , 草鱼 最小采样频率为语音信号最高频率的 2 倍 。 草鱼 电话通令的频带是 300-3400Hz, 鲤鱼 所以最低采样频率为 6800Hz。 草鱼 草鱼草鱼 根据 CCITT 的长途通信协议的标准 , 鲤鱼 目前各国一般采用的声音采样频率为 8kHz; por k所以 , 鲤鱼为了将来系统与其他通信设备交流的方便 , 鲤鱼 最终采样频率确定为 8000Hz。 草鱼草鱼 量化 草鱼 抽样信号虽然是时间轴上离散的信号 , 鲤鱼 但仍然是
20、模拟信号 , 鲤鱼 其样值在一定的范围内 , 鲤鱼 可有无限多个值 。 草鱼 显然 , 鲤鱼 对无限个样值 给出数字码组来对应是不可能的 。 草鱼 为了实现以数字码表示样值 , 鲤鱼 必须采用“四舍五入”的方法把样值分级“取整” , 鲤鱼 使一定取值范围内的样值由无限多个值变为有限个值 。 草鱼 这一过程称为量化 。 草鱼草鱼 量化后的抽样信号与量化前的抽样信号相比较 , 鲤鱼 当然有所失真 , 鲤鱼 且不再是模拟 信号 。 草鱼 这种量化失真在接收端还原模拟信号时表现为噪声 , 鲤鱼 并称为量化噪声 。 草鱼 量化噪声的大小取决于把样值分级“取整”的方式 , 鲤鱼 分的级数越多 , 鲤鱼 即
21、量化级差或间隔越小 , 鲤鱼 量化噪声也越小 。草鱼 量化级数越多误差越小 , 鲤鱼 相应的二进制码位数越多 , 鲤鱼 要求传输速率越高 , 鲤鱼 频带越宽 。 草鱼 为使量化噪声尽可能小而所需码位数又不太多 , 鲤鱼 通常采用非均匀量化的方法进行量化 。 草鱼 非均匀量化根据幅度的不同区间来确定量化间隔 , 鲤鱼 幅度小的区间量化间隔取得小 , 鲤鱼 幅度大的区间量化间隔取得大 。 草鱼草鱼 编码 草鱼 量化后的抽样信号 在一定的取值范围内仅有有限个可取的样值 , 鲤鱼 且信号正 、 pork负幅度分布的对称性使正 、 pork负样值的个数相等 , 鲤鱼 正 、 pork负向的量化级对称分布
22、 。 草鱼 若将有限个量化样值的绝对值从小到大依次排列 , 鲤鱼 并对应地依次赋予一个十进制数字代码(例如 , 鲤鱼 赋予样值 0 的十进制的数字代码为 0) , 鲤鱼 在码前以“ +” 、 pork“ -”号为前缀 , 鲤鱼 来区分样值的正 、 pork负 , 鲤鱼 则量化后的抽样信号就转化为按抽样时序排列的一串十进制数字码流 , 鲤鱼 即十进制数字信号 。 草鱼 简单高效的数据系统是二进制码系统 , 鲤鱼 因此 , 鲤鱼 应将十进制数 字代码变换成二进制编码 。 草鱼 根据十进桂林电子科技大学 基于 FPGA 的 ADPCM 语音编码器设计 第 7 页 共 28 页 制数字代码的总个数 ,
23、 鲤鱼 可以确定所需二进制编码的位数 , 鲤鱼 即字长 。 草鱼 这种把量化的抽样信号变换成给定字长的二进制码流的过程称为编码 。 草鱼草鱼 话音 PCM 的抽样频率为 8KHz, 鲤鱼 每个量化样值对应一个 8 位二进制码 , 鲤鱼 故话音数字编码信号的速率为 8bits*8kHz=64kb/s。 草鱼 量化噪声随量化级数的增多和级差的缩小而减小 。 草鱼 量化级数增多即样值个数增多 , 鲤鱼 就要求更长的二进制编码 。 草鱼 因此 , 鲤鱼 量化噪声随二进制编码的位数增多而减小 , 鲤鱼 即随数字编码信号的速率提高而减小 。 草鱼 自然界中的声音非常复杂 , 鲤鱼 波形极其复杂 , 鲤鱼
24、通常我们采用的是脉冲代码调制编码 , 鲤鱼 即 PCM 编码 。 草鱼 PCM 通过抽样 、 pork量化 、 por k编码三个步骤将连续变化的模拟信号转换为数字编码 。 草鱼草鱼 差分脉冲编码调制( DPCM) 草鱼 DPCM 基本原理 草鱼 DPCM 编码 , 鲤鱼 简称差值编码 , 鲤鱼 是对模拟信号幅度抽样的差值进行量化编码的调制方式(抽样差值的含义请参见“增量调制”) 。 草鱼 这种方式是用已经过去的抽样值来预测当前的抽样值 ,鲤鱼 对它们的差值进行编码 。 草鱼 差值编码可以提高编码频率 , 鲤鱼 这种技术已应用于模拟 信号的数字通信之中 。 草鱼草鱼 对于有些信号(例如图像信号
25、)由于信号的瞬时斜率比较大 , 鲤鱼 很容易引起过载 , 鲤鱼 因此 , 鲤鱼不能用简单增量调制进行编码 , 鲤鱼 除此之外 , 鲤鱼 这类信号也没有像话音信号那种音节特性 , 鲤鱼因而也不能采用像音节压扩那样的方法 , 鲤鱼 只能采用瞬时压扩的方法 。 草鱼 但瞬时压扩实现起来比较困难 , 鲤鱼 因此 , 鲤鱼 对于这类瞬时斜率比较大的信号 , 鲤鱼 通常采用一种综合了增量调制和脉冲编码调制两者特点的调制方法进行编码 , 鲤鱼 这种编码方式被简称为脉码增量调制 , 鲤鱼 或称差值脉码调制 , 鲤鱼 用 DPCM 表示 ,实现过程参考图 一及图二 。 草鱼草鱼 这种调制方式的主要特点是把增量值
26、分为个等级 , 鲤鱼 然后把个不同等级的增量值编为位二进制代码()再送到信道传输 , 鲤鱼 因此 , 鲤鱼 它兼有增量调制和 PCM 的各自特点 。 草鱼草鱼 草鱼 草鱼 图一 、 porkDPCM 系统 草鱼 草鱼 草鱼 图二 、 pork量化电平波形 草鱼 草鱼 图 三( a) 表示对误差信号的抽样 、 p ork量化 , 鲤鱼 图中的红色空心圆点表示误差信号的抽样值 , 鲤鱼图中的蓝色实心圆点表示误差 信号量化后的值 。 草鱼 图 三 (b)表示经抽样与量化后的信号波形 ,鲤鱼 图 三 (c)是编码器输出的 DPCM 码 。 草鱼 若设正脉冲表示二进制数字 “0“,负脉冲表示 “1“,则
27、编码器输出的 DPCM 码为 :0101010000000 由图可见 : p o r k 草鱼草鱼 草鱼 桂林电子科技大学 基于 FPGA 的 ADPCM 语音编码器设计 第 8 页 共 28 页 图三 、 porkDPCM 的编码过程示意图 草鱼 草鱼 DPCM 和 PCM 系统的性能比较 草鱼 PCM 系统的输出信噪比为 草鱼 草鱼 草鱼 草鱼 DPCM 系统的输出信噪 比为 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 比较两式可以看出 , 鲤鱼 当 草鱼 N 和频率比比较大时
28、, 鲤鱼 DPCM 系统的性能要优于 PCM。 草鱼草鱼 草鱼 自适应差值脉码调制( ADPCM) 草鱼 ADPCM 编码原理 草鱼 自适应差分脉冲编码调制 ADPCM(Adaptive 草鱼 Differential 草鱼 Pulse 草鱼 Code 草鱼 Modulation)用预测编码来压缩数据量 。 草鱼 它结合了 ADM 的差分信号与 PCM 的二进制码的方法 , 鲤鱼 是一种性能比较好的波形编码 。 草鱼 它的核心想法是 : pork利用自适应的思想改变量化阶的大小 , 鲤鱼 即使用小的量化阶 (step-size)去编码小的差值 , 鲤鱼 使用大的量化阶去编码大的差值 , 鲤鱼
29、使用过去的样本值估算下一个输入样本的预测值 , 鲤鱼 使实际样本值和预测值之间的差值总是最小 。 草鱼草鱼 +量 化步 长 调 节预 测 器SiXp( n - 1 )-+逆 量 化 器d+编 码 输 出dqSrSpq草鱼 图四 、 p o r k ADPCM 编码器系统 草鱼 编码的核心思想是对差值进行编码和预 测 , 鲤鱼 采用非均匀量化 , 鲤鱼 并使不同幅值的信号信噪比接近一致 , 鲤鱼 避免大幅值语音信号信噪比大而小幅值语音信号信噪比小 。 草鱼 ADPCM 编码过程如图四所示输示 。 草鱼 输入 Si 是一个 16bit 二进制补码语音数据 , 鲤鱼 其范围在 32767 到 -32
30、767 之间 。草鱼 预测采样值 Sp, 鲤鱼 与线性输入 Si 的差值为 d。 草鱼 量化器对差值进行量化产生一个有符号的 4 位编码数据 I, 鲤鱼 这个数据的表示范围在 7 到 -7 之间 , 鲤鱼 最高位为符号位 。 草鱼草鱼 编码时 , 鲤鱼 首先计算 16 位的二进制补码的当前采样值 Si 和上一预测采样值 Sp 之间的差值 d,鲤鱼 这个差值的量化编码即输出 4 位 ADPCM 值 I。 草鱼 在算法实现中 , 鲤鱼 定义一个结构变量存储预测采样 Sp 和量化步长索引 , 鲤鱼 并制定了两个表 。 草鱼 一个表为索引调整表 , 鲤鱼 其输人为差值量化编码I, 鲤鱼 用来更新步长索
31、引 。 草鱼 另一个表为步长调整表 , 鲤鱼 其输人为步长索引 , 鲤鱼 输出为步长 q。 草鱼 编码时 , 鲤鱼 首先用上一个采样点的步长索引查步长调整表求出步长 q。 草鱼 如果当前采样值 Si 和采样预测值 Sp 之间的差值 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。 草鱼 然后
32、编码值 I 作为索引调整表的输入 , 鲤鱼 查表输出索引调整 , 鲤鱼 并和结构变量中原步长索引相加 , 鲤鱼 产生新的步长索引 , 鲤鱼在下一个采样值的编码中使用 。 草鱼 编码输出 I 后 , 鲤鱼 编码还需要重复进行和解码完全一样的计算过程 , 鲤鱼 求出新的预测采样值 Sp。 草鱼草鱼 ADPCM 解码原理 草鱼 桂林电子科技大学 基于 FPGA 的 ADPCM 语音编码器设计 第 9 页 共 28 页 解码是编码的逆过程 , 鲤鱼 ADPCM 的解码过程如图五所示 。 草鱼 解码输入即编码输出 I, 鲤鱼 逆量化器将 I 逆量 化成差值 dq。 草鱼 差值 dq 与预测采样 Sp 相
33、加得到解码输出 Sr。 草鱼 解码过程同编码过程中求预测采样的原理是一样的 , 鲤鱼 当编码端的 Sr 能很好的跟踪上 Si 时 , 鲤鱼 解码端的 Sr 也能同样再现 Si。 草鱼 这里涉及算法本身的时延和实现平台 、 p o r k实现方法的实时性等因素 。 草鱼草鱼 解码时首先通过步长索引查步长调整表得到量化步长 , 鲤鱼 差值量化编码 I 经逆量化器得到语音差值 dq, 鲤鱼 这是求 I 的逆过程 ; pork然后与前次预测值一起重建当前语音信号 Sr, 鲤鱼 最后用固定预测 Sp=Sr, 鲤鱼 更新预测采样 Sp, 鲤鱼 用 I 更新量化步长索引值 。 草鱼草鱼 逆 量 化 器步 长
34、 调 节 预 测 器+IdqSrSpq草鱼 图五 、 p o r k ADPCM 解码器系统 草鱼 ADPCM 在通信系统中的应用 草鱼 根据 CCITT 的 G.721 建议 , 鲤鱼 以码率为 32kb/s 的 ADPCM 作为语音压缩的国际标准 。 草鱼 在 ADPCM算法中 , 鲤鱼 它的采样率可以是 8KHz, 鲤鱼 采样精度 16bit, 鲤鱼 量化阶的保存为 4 位 , 鲤鱼 因此压缩比为4:1, 鲤鱼 即每秒保存或者传送大小为 32Kbit。 草鱼 且从波形恢复出来的声音效果与原始声音几乎没有区别 , 鲤鱼 人耳无法辨别 。 草 鱼 ADPCM 在语音编码的技术要求如下 : p
35、ork语音信号经 ADPCM 编码后 ,鲤鱼 客观测量 SNR 完全符合 PCM 编码系统的指标要求 (CCITT 草鱼 G.721 草鱼 G.711 的建议 ), 鲤鱼 主观听觉测试性能 , 鲤鱼 应非常接近于 PCM 质量 。 草鱼 经过 4 次音频转接后 , 鲤鱼 主观语音测试质量良好 。 草鱼 在信道误码率低于 103 的情况下能稳定工作 。 草鱼 sbit4800 的 Modem 信号经过 4 次编解码后 , 鲤鱼 其误码率应小于 1010 65 。 草鱼 输人输出接口采用标准的 A 律或 律 PCMskbit64 信号 。 草鱼 目前ADPCMskbit32 主要应用于扩充现有 P
36、CM 信道传输容量 , 鲤鱼 即把两个 30 路 PCM 信号合并成一个 skbit2048 的 60 路 ADPCM 信号 , 鲤鱼 这是 CCITT 草鱼 G.761 建议的国际标准 。 草鱼 由于标准PCMskbit64 是经过对数压缩后的数字信号 , 鲤鱼 它不能直接进行一般算术运算 。 草鱼 所以 , 鲤鱼 在进人 ADPCM 编码前 , 鲤鱼 必须把 A 律 PCM 码变换成自然二进码 , 鲤鱼 又称为 PCM 线性码 。 草鱼 这可以通过两者之间内在的对应关系来实现 。 草鱼 在接收端 , 鲤鱼 则需要进行一次反变换 , 鲤鱼 即将收到的 60路的 skbit2048 的信号 ,
37、 鲤鱼 分解成两个含 30 条话路的信号 , 鲤鱼 且这两个 PCM 信号中各话路所占时隙位置与编码转换前完全相同 , 鲤鱼 从而实现了在不提高传输速率的情况下将数字信道的容量扩大一倍 。 草鱼 即用 ADPCM 码解码得到的线性 PCM 码来表示重建的信号 , 鲤鱼 然后变换成 A成律或 律后对数信号输出 。 草鱼 图六是一个 ADPCM 在实际应用中的示意图 。 草鱼草鱼 终 端 机信 道 机 信 道 机终 端 机A D P C M 信 道 机信 道 机A D P C M信 道 机信 道 机草鱼 图六 、 p o r k ADPCM 实际应用示意图 草鱼 草鱼 草鱼 草鱼 FPGA 原理及
38、其相关工具软件的介绍 草鱼 草鱼 FPGA 开发过程与应用 草鱼 随着现场可编程逻辑器件越来越高的集成度 , 鲤鱼 加上不断出现的 I/O 标准 、 pork嵌入功能 、 pork高级时钟管理的支持 , 鲤鱼 使得现场可编程逻辑器越来越广泛 。 草鱼草鱼 桂林电子科技大学 基于 FPGA 的 ADPCM 语音编码器设计 第 10 页 共 28 页 FPGA 发展历程及现状 草鱼 从 Xilinx 公司推出了世界上第一片 FPGA(现场可编程逻辑芯片 ), 鲤鱼 FPGA 已经历几十年的发展 。草鱼 从最初的一千多可 利用门 , 鲤鱼 发展到 90 年代的几十万个可利用门 , 鲤鱼 到十一世纪又
39、陆续推出了几千万门的单片 FPGA 芯片 。 草鱼 FPGA 使用灵活 , 鲤鱼 适用性强 , 鲤鱼 特别适用于复杂逻辑的设计 ,鲤鱼 有利用电子系统小型化 , 鲤鱼 而且其开发周期短 、 pork开发投入少 、 pork芯片价格不断降低 , 鲤鱼 促使 FPGA越来越多地取代了 ASIC 的市场 。 草鱼 草鱼 FPGA 工作原理 草鱼 FPGA 采用了逻辑单元阵列 LCA( Logic 草鱼 Cell 草鱼 Array)这样一个概念 , 鲤鱼 内部包括可配置逻辑模块 CLB( Configurable 草鱼 Logic 草鱼 Block) 、 pork输出输入模块 IOB( Input 草
40、鱼 Output 草鱼 Block)和内部连线( Interconnect)三个部分 。 草鱼 FPGA 的基本特点主要有 : p o r k 草鱼草鱼 1)采用 FPGA 设计 ASIC 电路 , 鲤鱼 用户不需要投片生产 , 鲤鱼 就能得到合用的芯片 。 草鱼 草鱼草鱼 2) FPGA 可做其它全定制或半定制 ASIC 电路的中试样片 。 草鱼 草鱼草鱼 3) FPGA 内部有丰富的触发器和 I O 引脚 。 草鱼 草鱼草鱼 4) FPGA 是 ASIC 电路中设计周期最短 、 p o rk开发费用最低 、 p o r k风险最小 的器件之一 。 草鱼 草鱼草鱼 5) 草鱼 FPGA 采用
41、高速 CHMOS 工艺 , 鲤鱼 功耗低 , 鲤鱼 可以与 CMOS、 p o r k TTL 电平兼容 。 草鱼 草鱼草鱼 可以说 , 鲤鱼 FPGA 芯片是小批量系统提高系统集成度 、 p o r k可靠性的最佳选择之一 。 草鱼 草鱼草鱼 FPGA 是由存放在片内 RAM中的程序来设置其工作状态的 , 鲤鱼 因此 , 鲤鱼 工作时需要对片内的 RAM进行编程 。 草鱼 用户可以根据不同的配置模式 , 鲤鱼 采用不同的编程方式 。 草鱼 草鱼草鱼 加电时 , 鲤鱼 FPGA 芯片将 EPROM 中数据读入片内编程 RAM 中 , 鲤鱼 配置完成后 , 鲤鱼 FPGA 进入工作状态 。 草鱼
42、 掉电后 , 鲤鱼 FPGA 恢复成白片 , 鲤鱼 内部逻辑关系消失 , 鲤鱼 因此 , 鲤鱼 FPGA 能够反复使用 。 草鱼 FPGA的编程无须专用的 FPGA 编程器 , 鲤鱼 只须用通用的 EPROM、 porkPROM 编程器即可 。 草鱼 当需要修改FPGA 功能时 , 鲤鱼 只需换一片 EPROM 即可 。 草鱼 这样 , 鲤鱼 同一片 FPGA, 鲤鱼 不同的编程数据 , 鲤鱼 可以产生不同的电路功能 。 草鱼 因此 , 鲤鱼 FPGA 的使用非常灵活 。 草鱼 草鱼 FPGA 开发流程 草鱼 FPGA 开发流程可以分为如下几步 : p o r k 草鱼 设计输入 , 鲤鱼 设
43、计输入主要包括原理图输入 、 pork状态图输入 、 pork波形图输入以及某种硬件描述语言 , 鲤鱼 比如说是 VHDL、 porkVerilog 的源程序 。 草鱼 它是利用这些输入去描述一个电路的功能 。 草鱼草鱼 功能仿真 , 鲤鱼 功能仿真就是利用相关仿真工具对相关电路进行功能级别仿真 , 鲤鱼 也就是说对你的输入设计的逻辑功能进行相关的模拟测试 。 草鱼 在功能上面来了解电路是否能够达到预期要求 。 草鱼 这里的功能仿真纯粹是模拟性质的 , 鲤鱼 不会设计的任何具体器件的硬件特性 。 草鱼草鱼 综合 , 鲤鱼 综合就是行为或者功能层次表达的电子系统转换成低层次门级电路的网表 。 草鱼草鱼 布 局布线 , 鲤鱼 就是将综合后的网表文件针对某一个具体的目标器件进行逻辑映射 。 草鱼 此时应该使用 FPGA 厂商提供的实现与布局布线工具 , 鲤鱼 根据所选芯片的型号 , 鲤鱼 进行芯片内部功能单元的实际连接与映射 。 草鱼草鱼
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。