用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

语音信号的数字化噪声抑制技术

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:48:23
TP3094工作于32bit短帧方式时的时序图如图2所示。

输入和输出的PCM信号DR、DX包含了从CH0至CH3的四路数字语音信号,每路为一个时隙,8个bit。每路语音的PCM编码中D7为符号位。D6~D0为数值位。FSX1和FSR1可用于级联下一个芯片。

3 数字化噪声抑制电路的原理框图

数字化噪声抑制电路的原理框图如图3所示。由于采用的是“自顶向下”的CPLD设计方法,这一电原理框图本身就是最顶层的图形设计文件(.gdf文件)。图中的各个组成部分,根据需要分别采用了基本逻辑门电路、参数化模块、以缺省符合(Default Symbol)表示的文本输入(Text Entry)和宏功能逻辑单元(Mega Function)组合。

图3的原理简述如下:

从PCM解码输出端DX输出表示八路语音信号的64bit串行信号,进入64位的参数化移位寄存器模块进行串/并变挛,变换后的输出经64位参数化锁存器模块锁存,每帧刷新一次。锁存信号以八位为一路,依次送到八个噪声抑制控制器(Symboll)。每个噪声抑制控制器独自控制一路语音信道,将PCM信号的偶数位取反后,再将除符合位(最高位)以外的七位数字与由S[6..0]设定的噪声抑制门限值进行比较,比较结果输出给延时器(Symbol2),延时器输出则作为控制信号送到噪声抑制控制器。各噪声抑制控制器输出的PCM信号经64位参数化称位寄存器模块完成并/串行变换后恢复成串行PCM码流送往两片TP3094解码成为具有噪声抑制效果的语音信号。噪声抑制控制器还输出八路指示信号LED[7..0]至八只发光二极管作为各语音信道的噪声抑制门限指示。

Symbol3用来产生TP3094要求的帧脉冲F0,提供移闰寄存器、锁存器、噪声抑制控制器所需的时序信号,并为延时器提供不同的时钟信号;P0、P1用来选择PCM帧32个时隙中的哪八个时隙用于本片作语音噪声抑制处理;TSET[3..0]用来选择CLK1、CLK2的分频系数以调整噪声抑制延时时间。这些输入都可以通过外部数字信号进行设置和调节。

按以上方法对PCM信号进行的数字化噪声抑制处理使语音信号产生一帧(125μs)的固定时延,但人耳的听觉对这一时延是完全不能觉察的。

4 CPLD设计要点

CPLD器件选用Altera公司的EPF6016ATC100集成电路[3],内含16000个等效门,1320个逻辑单元,采用100-Pin TQFP封装。设计软件使用MAX+PLUS II 10.0版本[4],下面介绍设计要点。

4.1 Symbol1的设计

Symbol1实施噪声抑制控制功能,首先通过偶数位取反将PCM码转换成便于作大小比较的码型,再将D[6..0]与S[6..0]输入的设定值进行噪声抑制门限比较。比较结果从D端输出到延时器,并从B端收延时信号。根据比较结果和延时状态决定是将输入的PCM信号原样送往输出,还是将代表无语音信号的“55H”码送往输出。
javascript:window.open(this.src);" style="cursor:pointer;"/>
    Symbol1的逻辑功能由AHDL语言编写,具体如下:

Subdesign symbol1

(A[7..0],S[6..0],B:input;

Y[7..0],D,L:output;)

variable

E[6..0]:node;

begin

E6=!A6;E5=A5;E4=!A4;

E3=A3;E2=!A2;E1=A1;

E0=!A0;

L=!B;

if(E[6..0]>S[6..0]) then

(D) = B "1";

end if;

if (B) then

(Y[7..0])=H"55";

else(Y[7..0]) = A[7..0];

end if;

end;

以上文本通过编译后即可建为缺省图形符号Symbol1。

4.2 Symbol2的设计

Symbol2实现前后延时功能,采用图形输入,电路图见图4。

图4中CLK1、CLK2为前、后延时的计时脉冲,由2.048MHz的MCLK主时钟经分频后得到,分别用于前延时计数器Countr1和后延时计数器Counter2计时。当无语音信号时,噪声抑制控制器Symbol1的输出D为“0”,Counter2计至Q2端为“1”后停止计数,并通过反相器将CLK2的输入封住。Q2端的高电平同时对Counter1清零,使B输出为“1”,噪声抑制控制器输出PCM码“55H”,即无语音信号。

当接收到的PCM信号幅度超过设定的噪声抑制阈值时,D变为“1”,Counter2被清零,此时Counter1脱离清零状态开始计数器。Counter1计至Q1为“1”后B端输出电平从“1”转为“0”,前延时结束,Symbol1的输出从“55H”变为转发输入的PCM码。与此同时,B端的低电平将CLK1时钟封住,只要Counter1不被清零,B始终为低。

如果接收到的PCM信号不是连续的语音而是突发噪声,幅度只是短暂地超过设定的噪声抑制阈值,那么D变为“1”后在Counter1未来得及将B变为“0”时D又回到了“0”,B的电平就一直是“1”,PCM输出码也始终是“55H”,突发的噪声就不会传到输出端。

在话音信号持续期间,信号幅度在短暂时间内低于噪声抑制阈值虽然使得D端电平有时为“0”,从而使Counter2有时脱离清零状态开始计数,但只要信号幅度低于噪声抑制阈值的时间不超过设定的后延时时间,Counter2就总是在计数未满时就被再次清零,其输出一直保持为“0”,使B也一直为“0”,输出与输入的PCM信号始终保持一致,语音不会发生继续。只有当输入信号幅度低于噪声抑制阈值的时间超过设定的后延时时间后,Q2输出“1”,才使Counter1被清零,使B为“1”,输出PCM码“55H”。再有信号来时,仍按上述流程工作。

4.3 时序的设计

数字化噪声抑制电路必须严格按照标准的PCM时序工作,电路由外部提供2.048MHz的主时钟信号MCLK和帧同步信号Fi。Fi用于本部分电路PCM信号与其它电路的PCM信号组帧时进行同步,在不需要该功能时可将Fi输入端接高电平。

Symbol3在MCLK的作用下产生PCM编解码电路TP3094所需的帧同步信号F0,又从TP3094接收TSX0和TSX1信号以产生数字噪声抑制处理所需的时序信号TSX、TT。为了保证PCM信号的正确读入、锁存、处理和移位输出,这些信号间的时序关系必须如图5所示。
javascript:window.open(this.src);" style="cursor:pointer;"/>
   

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

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:17,578.13000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号