您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

多制式语音编码及其DSP实现

时间:2007-1-20栏目:电子通信论文

采取DMA方式。
  
  图3数据流的收发和传输
  
  3软件系统
  
  (1)CVSD算法的修正
  
  CVSD是每样点1bit的编码方式,所以32kbps和16kbps的CVSD输出信号分别由32kHz和16kHz采样的PCU信号编码得到。而实际CVSD编码器的输入总是8kHz的采样信号,为了满足算法要求。对输入PCM码流进行插值滤波。
  
  根据插值这理,可以选择低通滤波器无失真地恢复原始信号。为了取得信号质量和运算量的折中,设计了5阶的椭圆型IIR滤波器。
  
  1:2插值(16kbps)
  
  分子多项式系数:
  
  [1.02295e-01,1.14533e-01,2.41943e-01,
  
  2.41943e-01,1.45325e-01,1.02295e-01]
  
  每母多项式系数:
  
  [1.00000e+00,-1.26125e+00,1.91846e+00,-1.21680+00,6.79321e+01,-1.54358e+01]
  
  1:4插值(32kbps)
  
  分子多项式系数:
  
  [4.48200e+02,-6.9309e+02,4.68041e+02,4.6041e+02,-6.9309e+02,4.48200e+02]
  
  分母多项式系数:
  
  [1.00000e+00,-3.56926e+00,5.66631e+00,-4.83285e+00,2.20789e+00,-4.2822e+01]
  
  另外,在对编解码后的信号进行频谱测试时,发现在3kHz处,信号的幅度超出要求3db左右。为此在编码端加入了谱调整的模块,使3kHz处频谱下降3db,作为补偿。
  
  
  
  (2)G.729算法的回声抵消模块
  
  G.729算法编码延时为15ms,回声现象比较明显,必须引入加声抵消算法加以抑制。
  
  自适应回声抵消器的一般算法中,所需运算量最大的是更新参数部分。阶数越大,运算量越大。考虑到DSP的性能和算法的运算量要求,采用128阶的自适应滤波器进行回声抵消。
  
  回声抵消模块的输入是当前一帧输入语音信号与以前解码器输出的一阶合成语音。回声抵消器利用解码器输出的合成语音信号对一帧输入信号进行回声抵消,然后将抵消掉回声的一帧输入语音信号提供给编码器作为输入信号。
  
  (3)存储区的优化
  
  ①由于使用DP寻址,变量名仅指示偏移量;而4路信号分时处理,各路所用变量与程序代码相同,所以可以使用不同页上同名变量,在不混淆各路信号数据存储区的前提下,简化程序存储区大小。
  
  对于ADPCM程序,编解码器的有状态变量各占25字,编解码器都使用的变量占14字。鉴于DP一页有128字,所以可以考虑前两路编解码器变量共用一页存储区;后两路编解码器变量共用一页存储区。这样,2路编解码器的存储量有25×2×2+14=114字

上一页  [1] [2] [3] [4] [5] 下一页

下页更精彩:1 2 3 4 下一页