微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > CVSD算法分析及其在FPGA中的实现

CVSD算法分析及其在FPGA中的实现

时间:10-15 来源:互联网 点击:
3.3 CVSD算法的仿真

以正弦单音输入信号为例,利用信号源产生信号幅度O.5 Vpp,频率fin(t)=1 kHz的正弦信号作为测试信号,在FPGA中利用高倍时钟产生fs(t)=64 kHz的采样时钟。对输入A/D的音频信号采用专用低通滤波芯片进行了滤波。D/A输出的信号包含了许多不必要的高次谐波分量,因此也采用低通滤波器对其进行了平滑滤波。

在设计上,不仅仅是采用FPGA实现和验证自己的CVSD编译码算法,还和专用芯片CMX639进行互相通信进行验证。CMX639是一款CVSD全双工音频调制芯片,集成了编码和译码功能,实现了单芯片语音处理能力,外围设备简单,用户可以根据实际情况,自主选择采样速率。

图8是通过ChipScope Pro采集的实时正弦信号。从图中可以看出量阶△的大小能够很好地反映输入信号斜率的大小,输出端输出信号能够很好地重现输入信号,说明CVSD编译码方式是有效的。



3.4 CVSD算法的实现

采用原理图和VHDL语言相结合的方式在FPGA中实现了CVSD电路。具体实现步骤如下:

(1)根据算法框图设计顶层原理图CVSD.SCH;

(2)利用IP Core产生底层所需要的乘法器;

(3)利用VHDL语言完成CVSD编译码模块;

(4)I/O管脚定义,约束条件编写;

(5)设计综合、编译;

(6)bit文件生成、下载,通过ChipScope Pro进行仿真测试;

(7)根据仿真测试结果返回修改设计,直到设计成功;

(8)mcs文件生成、加载,最终验证。

验证是FPGA设计中很重要的一环,只有通过验证才能说明设计的正确与否。采用XILINX公司的Spartan一3系列中的XC3S1500来具体实现CVSD的编译码功能。通过自己设计的编译码算法和CMX639专用芯片的编译码模块互相通信,输入实际语音信号测试,能够很好地从D/A输出语音信号,从CMX639译码输出也能听到语音信号,达到了满意的效果。

4 结 语  

本文提出的FPGA设计方法很好地实现了CVSD编译码功能,充分利用了FPGA的优势,可以同时实现多路CVSD编译码功能,弥补了采用专用芯片实现CVSD编译码的不足,设计灵活、简单,成本低,具有很好的应用前景。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top