基于FPGA技术和CVSD编解码算法实现语音编解码器的设计和仿真研究

时间:2025-11-01  作者:Diven  阅读:0

64 Kbit/s的A律或μ律的对数压扩PCM编码在大容量的光纤通信系统和数字微波系统中已得到应用,但由于占用较大的传输带宽和具有复杂的成帧结构,PCM编码不适合无线语音系统的应用。连续可变斜率增量(Continuously Variable Slope Delta,CVSD)调制较低的应用难度、成本和编码速率,较好的语音质量应用于战术通信网、卫星通信、蓝牙等无线语音传输领域。近年来FPGA不断发展演化,并在构架方面针对DSP应用有了显著增强。这些增强使得FPGA能够支持各领域的众多复杂DSP应用,如电信(基站信号处理、雷达信号处理等)、多媒体处理(视频处理、音频信号处理等)及其应用领域,笔者结合FPCA的灵活性、强大的数字信号处理能力、较短的开发周期,提出了基于FPGA的32 Kbit/s CVSD语音编解码器

基于FPGA技术和CVSD编解码算法实现语音编解码器的设计和仿真研究

1、 CVSD原理

增量调制(Delta Modulation,DM)用一位编码表示相邻样值的相对大小,从而反映出抽样时刻波形的变化趋势,分为线性增量调制(Linear Delta Modulation,LDM)和自适应增量调制(Adaptive Delta Modulation,ADM)。LDM中采用固定的量化台阶△,在量化编码的过程中会引起两类失真,一类是斜率过载失真,是由于量化台阶△过小,跟不上信号波形中斜率陡峭部分造成的,另一类是颗粒失真,是由于量化台阶△过大,在信号波形斜率较小部分造成的。CVSD是自适应增量ADM算法,动态调整量化台阶△的大小随输入信号变化,当输入信号幅度变化率增大时,量化台阶相应增大,当输入信号幅度变化率减小时,量化台阶相应减小。

2、 CVSD编解码算法

2.1 编码算法

编码算法流程如图1所示,x(n)为输入语音采样信号,采样频率fs=32 kHz,xp(n)为一阶预测值,d(n)为输入采样信号x(n)和一阶预测值xp(n)的差值,β为量阶衰减因子,△0为初始量阶。模块L实现电平转换,输入c(n)=1时输出为+1,输入c(n)=0时输出为-1,因此模块L的输出值为2c(n)-1。

当x(n)≥xp(n)时,d(n)≥0,编码输出c(n)=1,当x(n)《xp(n)时,编码输出c(n)=0。CVSD编码过程中,动态地调整量化台阶△(n),当检测到连续3个编码“1”或者连续3个编码“0”时,说明信号斜率陡峭,这时量阶增大△0。

2.2 译码算法

译码算法流程如图2所示,是编码的逆过程,由于积分器输出的xQD(n)是阶梯波,有较高的谐波分量,这里通过一个数字低通滤波器平滑积分器的输出。当c(n)=1时,xQD(n)=xQD(n-1)+△(n);当c(n)=0时,xQD(n)=xQD(n-1)-△(n)。其中量阶△(n)的取值同编码算法。

3、 FPGA的设计和实现

3.1 参数设计

CVSD编译码算法中涉及到量阶衰减因子β、初始量阶△0和低通滤波器系数的设计。量阶衰减因子满足:β=1-T/τ,T表示语音信号的周期,语音信号频率f=300~3 400 Hz,所以周期T=0.29~3.30 ms,τ为音节时间常数,一般情况下τ=5~10ms。△0的选取很重要,如果△0选取过小,会导致初始的一段时间量化的数字信号与输入信号之间存在较大的失真,需要经过较长的时间才能跟踪上输入信号,为减少颗粒失真和过载失真,根据欧洲通信组织标准,结合多次的MATLAB仿真测试,取β=0.855,△0=0.043,如图3所示。

升余弦窗具有较好的旁瓣抑制和阻带衰减,数字低通滤波器设计成14阶升余弦窗有限脉冲响应(Finite Impulse Response,FIR)滤波器,其参数采样率fs=32 kHz由于语音信号频谱集中在300~3 400 Hz,数字低通滤波器通带截止频率设计为fc=4 kHz/32 kHz=0.125,FIR滤波器系数向量B=[0.0029 0.0086 0.02600.058 0 0.1000 0.1400 0.1645 0.1645 0.1400 0.1000 0.058 0 0.0260 0.008 6 0.002 9]。如图4所示,由于信号经过14阶FIR低通滤波器,输出信号与原采样信号相比存在一定的延时,经低通滤波后原信号得到了较好的恢复。

3.2 CVSD编解码器

硬件设计时采用自顶向下的设计方法,将编解码器分成各种功能模块。CVSD编码器负责处理采样频率32 kHz采样的16 bit语音信号,由比较判决模块、三连码检测模块、量阶调整模块和预测值产生模块组成,硬件结构如图5所示。比较判决模块将预测值产生模块产生的预测值与语音信号值进行比较,如果输入语音信号值≥预测值,则编码输出“1”,否则编码输出“0”。编码输入三连码检测模块进行三连电平的判决,通过量阶调整模块和预测值产生模块产生动态的量阶和预测值。其中预测值产生模块需要注意防止数据溢出。

CVSD解码器负责处理32 kHz的单比特符号,根据图2,编码过程中预测值的产生模块就已经实现了译码过程,后面数字低通FIR滤波器采用分布式算法(Distributed ArithmetIC,DA)进行设计,极大地提高了乘累加运算的效能且节省了FPGA的硬件资源。解码器还需要设计一个时钟产生模块,因为采用分布式算法的14阶的低通滤波器的时钟频率是数据时钟的16倍。

4 、仿真测试

采用Quartus Ⅱ6.0进行开发仿真,verilog语言编程。为了便于软件仿真,设计了DDS信号源,CVSD编码器的输入由正弦信号源DDS模块提供。仿真结果如图6所示。

最后在Altera DE2开发板上进行了硬件测试,芯片为Cyclone II EP2C35,编解码器硬件资源消耗见表1。A/D输入模拟的语音信号,采样频率32 kHz,采样信号经编码器、解码器、低通滤波再通过D/A转换输出解码的语音信号,如图7所示。测试结果表明输出语音信号理想,说明设计是可行的。

5、 结束语

CVSD是自适应增量脉冲编码调制,对误码有很强的鲁棒性,擅长处理丢失和被损坏的语音采样,编码器是单比特编码,和PCM相比不需要复杂的成帧设备,并且解码器中集成了数字低通滤波器,使得编解码设备简单,综合这些优越性,CVSD特别适合应用于无线语音通信系统,具有很广阔的应用前景。

猜您喜欢

电子电路中,电流检测电阻(也称为分流电阻或电流传感器)是一个重要的元件,主要用于测量电流的大小。通过测量流经电阻的电压降,结合欧姆定律(V=IR),可以计算出电...
2025-04-14 10:00:40

导言在很久之前便陆续谈过亚稳态,FIFO,复位的设计。本次亦安做一个简单的总结,从宏观上给大家展示跨时钟域的解决方案。什么是亚稳态?对大多数工程师来讲,亚...
2024-01-08 09:39:00

花形扳手是常用的工具,应用于机械维修和日常生活中。规格尺寸通常分为多个型号,以适应不同大小的螺母和螺栓。常见的花形扳手规格有8mm、10mm、12mm、14mm...
2024-05-29 00:00:00

电荷泵是一种能有效转换电压的小型电源装置,应用于现代电子设备中。的工作原理有别于传统的电压转换器,特别适用于轻便、低能量消耗的应用场景,如智能手机、平板电脑等便...
2024-02-07 00:00:00

采样电阻作为关键组件,应用于各种电路设计中,以实现电流检测、过流保护等功能。而“台康(TAICON)”作为业内知名的品牌,其采样电阻产品在电压参数方面的表现尤为...
2020-03-18 01:58:30

方形铜端子因其优良的导电性能和可靠的连接方式,应用于多个领域。在电力行业,方形铜端子常用于电缆连接和配电设备中,确保电流的稳定传输。在电子产品制造中,被用于电路...
2012-02-26 00:00:00

空调、除湿机和加湿机在现代生活中是重要配件,各自的应用领域而多样。空调主要用于调节室内温度和湿度,应用于家庭、办公室、商场等场所。在炎热的夏季,空调能够提供舒适...
2016-03-16 00:00:00

旋转开关是常见的电气元件,应用于家电、仪器仪表等设备中。其规格尺寸通常取决于具体的应用需求和设计标准。旋转开关的外径一般在15mm到30mm之间,而安装孔径通常...
2024-01-13 00:00:00

潮湿的施工场所,安全用电很重要,尤其是在照明方面。潮湿环境会增加触电风险,因此必须采取必要的预防措施,确保施工人员的人身安全。本指南将为您提供在潮湿场所施工照明...
2024-10-02 00:00:00

贴片电阻 105,这种看似不起眼的小元件,却是现代电子产品中很重要的一部分。在电路中是重要的配件,能够精确控制电流,稳定电路工作。105代表其阻值为10*10^...
2024-11-29 10:26:10