下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、cvsd算法分析及其在fpga中的实现在众多的语音编译码调制中,延续可变斜率增量调制(cvsd)作为许多增量调制中的一种,只需编一位码,在发送端与接收端之间不需要码型同步,量阶的大小能自动地跟踪信号变幻,因而具有强抗误码能力,在10-3时仍可保持高质量的话音。目前市场上有cvsd的专用芯片,但专用芯片的通用性、灵便性和可扩展性受到了很大的限制,并且产品的开发周期长,开发成本也较高。专用cvsd芯片只能实现一路编译码,在需要多路cvsd编译码时则需要无数专用芯片,具有局限性;而单片简单实现多路cvsd编译码功能。此外假如专用芯片停产或者买不到,已有的通信设备修理将会因器件缺乏导致后续工作无法开展
2、。为了弥补专用cvsd芯片的不足,同时也便利在现场可编程门阵列(fpga)中增强一些其他相关的应用功能,因此在fpga中实现cvsd语音编译码调制功能的前景将是十分广大的。这里将具体介绍基于fpga的cvsd语音编译码的设计思路、详细实现以及和专用芯片cmx639之间的相互通信。1 cvsd工作原埋cvsd是一种量阶随着输入语音信号平均斜率(斜率肯定值的平均值)大小而延续变幻的增量调制方式。它的工作原理如下:用多个延续可变斜率的折线来靠近语音信号,当折线斜率为正时,对应的数字编码为“1”;当折线斜率为负时,对应的数字编码为“0”。当cvsd工作于编码方式时,其系统框图1所示。语音信号xin(t
3、)经采样得到数字信号x(n),数字信号x(n)与积分器输出信号g(n)比较后输出误差信号d(n),误差信号d(n)经判决后输出数字编码c(n),同时该信号作为积分器输出斜率的极性控制信号和积分器输出斜率大小规律的输入信号。在每个时钟周期内,若语音信号大于积分器输出信号,则判决输出为“1”,积分器输出升高一个量阶;若语音信号小于积分器输出信号,则判决输出为“0”,积分器输出下降一个量阶。当cvsd工作于译码方式时,其系统框图2所示。在每个时钟周期内,数字编码c(n)被送到连码检测器,然后送到平滑以控制积分器输出斜率的大小。若数字编码c(n)输入为“1”,则积分器的输出升高一个量阶,若数字输入为“
4、o”,则积分器的输出下降一个量阶,这相当于编码过程的逆过程。积分器的输出g(n)通过低通平滑滤波后将重临输入语音信号xout(t)。可见输入信号的波形升高越快,输出的连“1”码就越多,同样下降越快,输出的连“o”码越多,cvsd编译码能够很好地反映输入信号的斜率大小,有效地避开了斜率过载失真和颗粒失真。为使积分器的输出能够更好地靠近输入语音信号,量阶随着输入信号斜率大小而变幻,当信号斜率肯定值很大,编码浮现3个或4个连“l”或连“o”码时,则量阶加一个增量0;当不浮现上述码型时,量阶则相应地削减。2 cvsd的软件算法21 cvsd的编码算法图3是cvsd编码算法框图,其量阶调节是基于前3位的
5、连码。x(n)是语音经过采样得到的数字信号,数字信号x(n)与积分器地i1输出的预测信号xp(n)经过比较后输出误差信号d(n),误差信号d(n)经一阶量化(d(n)0,c(n)=1;d(n)0,c(n)=o)得到输出的数字编码c(n),该信号同时作为积分器i2的极性控制信号和控制积分器i2输出斜率大小规律的输入信号。当输出码浮现延续的“1”码或者延续的“0”码,则解释信号波形的斜率较大,因此量阶需要适当增强,当输出码c(n)长时光没有浮现连码,则积分器i2向“o”值方向衰减,量阶减小。最小和最大阶距是由min和max分离确定的。当长时光没有浮现连码,cvsd退化为一个线性增量调制(ldm)编
6、码器。22 cvsd的译码算法图4是cvsd译码算法框图,其量阶调节是基于前3位的连码。译码过程就是编码的逆过程,只是在积分器i1后面增强了一个,用于抑制带外干扰。3 cvsd算法在fpga中的实现31 硬件实现框图考虑到实际需求,采纳了通用性较强的ad,da元器件和fpga器件。该硬件可以同时实现3路cvsd编译码算法,一路采纳fpga(xc3s1500)实现,两路采纳专用芯片实现;同时编译码之间可以通过fpga内部规律控制相互通信。在fpga内设计实现了cvsd编译码算法,在该器件内融合多种控制功能,可以在线编程、便利调试。音频信号在举行ad采样之前,为了防止带外信号进入,首先举行低通滤波
7、;再通过高倍时钟举行采样得到数字信号进入fpga举行编译码处理。译码过后的信号通过da输出模拟信号,该信号再经过低通滤波器后输出,得到音频信号。32 cvsd算法实现框图在fpga内部算法实现上,采纳了“自顶向下”的设计办法,即按照要求的功能先设计出顶层的原理图,该图由若干个功能模块组成。再把各个模块细化为子模块,各子模块的功能采纳实现,也可用硬件描述语言实现。设计中顶层采纳原理图实现,子模块采纳硬件描述语言实现,利用ise自带的ip core乘法器,经过综合和优化等过程,终于将程序下载到芯片中,用法在线规律分析仪chipscope pro举行规律和功能测试分析。33 cvsd算法的以正弦单音
8、输入信号为例,利用信号源产生信号幅度o5 vpp,频率fin(t)=1 khz的正弦信号作为测试信号,在fpga中利用高倍时钟产生fs(t)=64 khz的采样时钟。对输入ad的音频信号采纳专用低通滤波芯片举行了滤波。da输出的信号包含了许多不须要的高次谐波重量,因此也采纳低通滤波器对其举行了平滑滤波。在设计上,不仅仅是采纳fpga实现和验证自己的cvsd编译码算法,还和专用芯片cmx639举行相互通信举行验证。cmx639是一款cvsd全双工音频调制芯片,集成了编码和译码功能,实现了单芯片语音处理能力,外围设备容易,用户可以按照实际状况,自主挑选采样速率。图8是通过chipscope pro
9、采集的实时正弦信号。从图中可以看出量阶的大小能够很好地反映输入信号斜率的大小,输出端输出信号能够很好地重临输入信号,解释cvsd编译码方式是有效的。34 cvsd算法的实现采纳原理图和vhdl语言相结合的方式在fpga中实现了cvsd电路。详细实现步骤如下:(1)按照算法框图设计顶层原理图cvsdsch;(2)利用ip core产生底层所需要的乘法器;(3)利用vhdl语言完成cvsd编译码模块;(4)io管脚定义,约束条件编写;(5)设计综合、编译;(6)bit文件生成、下载,通过chipscope pro举行仿真测试;(7)按照仿真测试结果返回修改设计,直到设计胜利;(8)mcs文件生成、加载,终于验证。验证是fpga设计中很重要的一环,惟独通过验证才干解释设计的正确与否。采纳xilinx公司的spartan一3系列中的xc3s1500来详细实现cvsd的编译码功能。通过自己设计的编译码算法和cmx639专用芯片的编译码模块相互通信,输入实际语音信号测试,能够很好地从da输出语音信号
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 玉溪师范学院《外国文学》2022-2023学年第一学期期末试卷
- 玉溪师范学院《色彩设计基础》2021-2022学年第一学期期末试卷
- GB 50205-2001钢结构工程施工质量验收规范
- 省实验七年级2024-2025(上)语文期中模拟测试
- 2024年特种油墨项目评估分析报告
- 2024年超声波通讯项目评价分析报告
- 2024年米面类项目评估分析报告
- 2019湘美版 高中美术 选择性必修5 工艺《第三单元 陶瓷工艺》大单元整体教学设计2020课标
- 2024届河北省承德市隆化县存瑞中学高三下第六次月考数学试题试卷
- 餐厅供消合同
- 传染病疫情上报流程
- 2024年江苏地区“三新”供电服务公司招聘320人(第二批)【重点基础提升】模拟试题(共500题)附带答案详解
- 脑室引流管护理课件
- DL-T 1476-2023 电力安全工器具预防性试验规程
- 防洪工程竣工报告
- 消防安全责任制度的建立
- 湖北商会法律知识讲座
- 全面质量管理培训-(完整版)
- 药品质量与安全职业生涯规划
- 2024年高考语文思辨类作文写作:二元思辨性“敢为人先与不为人先”
- 苏教版四年级上册竖式计算400题及答案
评论
0/150
提交评论