基于FPGA的32 Kbit/s 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.00电感生产8 6 0.002 9]。如图4所示,由于信号经过14阶FIR低通滤波器,输出信号与原采样信号相比存在一定的延时,经低通滤波后原信号得到了较好的恢复。平面变压器厂家 | 平面电感厂家
开关电源外围器件续问之前问过上图中,两个电感的作用,以及电感出现的位置现在我查阅开关电源书籍,下图是典型的升压和降压电路的原理图根据升降压要求,储能电感出现的位置有所变化那么上图中两个开关
[DCDC]-48V转3.3V方案 本帖最后由 sdapo 于 2015-5-16 15:10 编辑 谁有低价的-48V转3.3V方案。 。 耐压60V以上。 。 真坑爹的需求...这个方案很不稳定 有其他稳定方案不。 。 。 电流低于0.1A低价的没见过TI有几款80~100V的片子还有,估计你是做通信设备的,如果你的东西要与别家设备有连接,最好电源转换是隔离的,不然说不定哪天你就冒烟了s
手机数码相机的低压闪光灯设计作者Email: alec@keikong.com摘要:本文介绍了手机数码相机用低压闪光灯电路设计、主要器件选用要求。关键词:低压闪光灯 Flash LED 电荷泵 手机的周边设计是增加手机附加功能、