语音信号的数字化噪声抑制技术
4.1 Symbol1的设计
Symbol1实施噪声抑制控制功能,首先通过偶数位取反将PCM码转换成便于作大小比较的码型,再将D[6..0]与S[6..0]输入的设定值进行噪声抑制门限比较。比较结果从D端输出到延时器,并从B端收延时信号。根据比较结果和延时状态决定是将输入的PCM信号原样送往输出,还是将代表无语音信号的“55H”码送往输出。
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有时脱离清零状态开始计数,但只
《语音信号的数字化噪声抑制技术(第3页)》