CN101968964B - 一种去除语音信号中直流分量的方法及装置 - Google Patents
一种去除语音信号中直流分量的方法及装置 Download PDFInfo
- Publication number
- CN101968964B CN101968964B CN201010259762.5A CN201010259762A CN101968964B CN 101968964 B CN101968964 B CN 101968964B CN 201010259762 A CN201010259762 A CN 201010259762A CN 101968964 B CN101968964 B CN 101968964B
- Authority
- CN
- China
- Prior art keywords
- moving average
- average filter
- component
- input speech
- voice signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000001914 filtration Methods 0.000 claims abstract description 19
- 230000008569 process Effects 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 6
- 239000000203 mixture Substances 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 238000005070 sampling Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241000191291 Abies alba Species 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 244000141353 Prunus domestica Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007430 reference method Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种去除语音信号中直流分量的方法及装置。所述方法包括:对输入语音信号x[n]进行滤波,得到直流分量估值v[n];将所述输入语音信号x[n]减去所述直流分量估值v[n],得到去直流分量后的语音信号y[n]。本发明所述技术方案通过滤波的方法得到直流分量估值v[n],从而能够去除语音信号中的直流分量。
Description
技术领域
本发明主要涉及数据处理领域,特征是指一种去除语音信号中直流分量的方法及装置。
背景技术
录音设备录制得到的数字语音信号中一般含有一定的直流分量,语音信号中含有直流分量,在波形上表现为信号均值非零,即不是平衡的分布在0值轴线两侧,而是整体往上或往下偏,从频谱的角度分析,直流分量即为0Hz处的频率分量。
设信号的原始值为y[n],直流分量为v[n],录制得到的信号为x[n],则:
x[n]=y[n]+v[n]。
由于直流分量v[n]的存在,信号的幅值偏离了真实值y[n],因此如果直接对语音信号x[n]进行有关分析,就会得到错误的结果,例如对x[n]利用语音信号时域包络进行VAD(voice activity detection)检测,就会得到完全错误的结果。
发明内容
本发明提出一种去除语音信号中直流分量的方法及装置,能够去除语音信号中的直流分量。
本发明的技术方案是这样实现的:
一种去除语音信号中直流分量的方法,包括:
对输入语音信号x[n]进行滤波,得到直流分量估值v[n];
将所述输入语音信号x[n]减去所述直流分量估值v[n],得到去直流分量后的语音信号y[n]。
优选的,利用滑动平均滤波器对所述输入语音信号x[n]进行滑动平均滤波,得到所述直流分量估值v[n]。
优选的,所述滑动平均滤波器的阶数D设置为2N,其中N为大于0的自然数。
优选的,将所述输入语音信号x[n]减去所述直流分量估值v[n]前还包括:
根据所述滑动平均滤波器的延时对所述输入语音信号x[n]进行延时处理。
优选的,所述滑动平均滤波器根据以下公式得到所述直流分量估值v[n]:
其初值条件为:
v[n]=0,x[n]=0,n<0;
其中,D为所述滑动平均滤波器的阶数。
优选的,利用第一级滑动平均滤波器和第二级滑动平均滤波器组成的两级滑动平均滤波器结构对所述输入语音信号x[n]进行滑动平均滤波,得到所述直流分量估值v[n]。
优选的,将所述输入语音信号x[n]减去所述直流分量估值v[n]前还包括:
根据所述第一级滑动平均滤波器和所述第二级滑动平均滤波器的延时对所述输入语音信号x[n]进行延时处理。
一种去除语音信号中直流分量的装置,包括:
滤波模块,用于对输入语音信号x[n]进行滤波,得到直流分量估值v[n];
运算处理模块,用于将所述输入语音信号x[n]减去所述直流分量估值v[n],得到去直流分量后的语音信号y[n]。
优选的,所述滤波模块为滑动平均滤波器,所述滑动平均滤波器对所述输入语音信号x[n]进行滑动平均滤波,得到所述直流分量估值v[n]。
优选的,所述滑动平均滤波器的阶数D设置为2N,其中N为大于0的自然数。
优选的,还包括:
延时处理模块,用于根据所述滑动平均滤波器的延时对所述输入语音信号x[n]进行延时处理。
优选的,所述滤波模块为由第一级滑动平均滤波器和第二级滑动平均滤波器组成的两级滑动平均滤波器结构。
本发明所述技术方案通过滤波的方法得到直流分量估值v[n],从而能够去除语音信号中的直流分量;进一步,本发明通过滑动平均滤波器对输入语音信号x[n]进行滑动平均滤波,运算量小,符合线性相位要求,并且去直流效果好。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种去除语音信号中直流分量的方法第一实施例的流程示意图;
图2为本发明一种去除语音信号中直流分量的方法第二实施例的流程示意图;
图3为图2所示实施例的原理框图;
图4为滑动平均滤波器的基本框图;
图5为采用两级滑动平均滤波器去直流的原理框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,示出了本发明一种去除语音信号中直流分量的方法第一实施例的流程示意图,包括:
步骤S110、对输入语音信号x[n]进行滤波,得到直流分量估值v[n]。
所述输入语音信号x[n]是通过录音设备录制得到的数字语音信号或通过其它方法得到的数字语音信号。
步骤S120、将所述输入语音信号x[n]减去所述直流分量估值v[n],得到去直流分量后的语音信号y[n]。
由于所述步骤S110中已经得到直流分量估值v[n],因此将所述输入语音信号x[n]减去所述直流分量估值v[n],即可得到去直流分量后的语音信号y[n]。
参照图2,示出了本发明一种去除语音信号中直流分量的方法第二实施例的流程示意图,包括:
步骤S210、利用滑动平均滤波器对所述输入语音信号x[n]进行滑动平均滤波,得到所述直流分量估值v[n]。
如果采用常用的IIR滤波器作为去直流滤波器,由于IIR滤波器是非线性相位滤波器,会引入相位失真。此外,在定点平台上实现IIR滤波器时,需要采取一定措施避免数据溢出和误差累积,实现时具有一定的复杂度;而如果使用普通线性相位FIR(Finite Impulse Response,有限长单位冲激响应)滤波器,则滤波器的阶数需要在100以上才能实现符合要求的过渡带,运算量很大。
针对普通IIR滤波器和FIR滤波器的缺点,本实施例利用滑动平均滤波器得到直流分量估值v[n],具有去直流效果好、不会引入语音失真、运算量小、非常适合在各种定点平台上实现的优势。
步骤S220、根据所述滑动平均滤波器的延时对所述输入语音信号x[n]进行延时处理。
由于滑动平均滤波器会引入延时,因此需要将x[n]作对应的延时才能与v[n]对齐。
步骤S230、将延时处理后的所述输入语音信号x[n]减去所述直流分量估值v[n],得到去直流分量后的语音信号y[n]。
本发明通过滑动平均滤波器对输入语音信号x[n]进行滑动平均滤波,运算量小,符合线性相位要求,并且去直流效果好。
图3为图2所示实施例的原理框图,图4为滑动平均滤波器的基本框图。
滑动平均滤波器(Moving Averaging Filter)是一种特殊的线性相位FIR滤波器,特点是全体滤波器系数的取值均为滤波器长度的倒数,其基本框图如图4所示。
滑动平均滤波器的计算公式为:
其中,D为滑动平均滤波器的阶数。显然,输出v[n]为包含当前输入x[n]在内的D个输入值x[n],x[n-1],......,x[n-D+1]的平均值。在本发明的优选实施例中,并不采用公式(1)直接计算v[n],而是采用递推的方法,由公式(1)变形得到:
利用公式(2)进行计算时,初值条件为:
v[n]=0,x[n]=0,n<0......(3);
与普通FIR滤波器不同,利用(2)、(3)计算滑动平均滤波器输出时,运算量并不会随着滤波器阶数D的增加而增加。
当语音信号的采样率为8kHz时,D的优选取值为64,随着信号采样率的增加,D的取值可随之变化,以保证直流分量估值的准确性。根据线性相位滤波器的基本理论,公式(1)定义的滑动平均滤波器的延时为:
因此,将延时处理后的所述输入语音信号x[n]减去所述直流分量估值v[n],得到去直流分量后的语音信号y[n]为:
当D为2的整数次幂时,公式(2)中的除以D的运算可以用将数据右移log2(D)位来实现,从而整个去直流运算过程中都没有乘除运算,非常适合各种定点平台实现。但考察公式(4)和公式(5),当D为偶数时,需要对输入信号进行分数延时,从而无法直接实现。
因此,在本发明所述一种去除语音信号中直流分量的方法的第三实施例中,利用第一级滑动平均滤波器和第二级滑动平均滤波器组成的两级滑动平均滤波器结构对所述输入语音信号x[n]进行滑动平均滤波,得到所述直流分量估值v[n]。图5为采用两级滑动平均滤波器去直流的原理框图。如图5所示,设两级滑动平均滤波器的阶数均为D。则经过这两级滑动平均滤波器后,直流分量估值v[n]相对x[n]延时了(D-1),从而将输入x[n]也延时(D-1)即可实现同步。
以下以在32位ARM平台上实现图5所述技术方案作为具体实例来说明本实施例技术方案的实现过程,设输入PCM信号的采样率为8kHz,字长为16bits,D的取值为64。
以下所有变量均为32位定点类型变量。虽然输入信号x[n],输出信号y[n]为16bits整形变量,但ARM平台的基本数据类型是32位整数,同时为了避免运算过程中的数据溢出,这里仍采用32位定点数据作为二者的存储数据类型,分别记为xint[n],yint[n],通过对应的数据类型转换即可实现xint[n]与x[n],yint[n]与y[n]的转换。
1、采用递推计算第一级滑动平均滤波器输出w[n]:
w[n]=w[n-1]+(xint[n]-xint[n-D])......(6);
其初值条件为:
w[n]=0,xint[n]=0,(n<0)......(7);
其中,公式(6)中:
xint[n]=(int)x[n]......(8);
与公式(2)不同,为了减少运算量,同时为了提高运算精度,公式(6)中没有除D求均值的运算,而是在后面的步骤中将两级求均值运算集中在一起通过移位完成。参照公式(1),因为输入是16bits整数,D取值为64,则w[n]的有效数据位(全体数据位加一位符号位)最多可能是22bits,因此用32位定点数存储中间运算结果不会溢出。
2、采用递推计算第二级滑动平均滤波器输出v[n]:
v[n]=v[n-1]+(w[n]-w[n-D])......(9);
其初值条件为:
w[n]=0,v[n]=0,(n<0)......(10);
同1中分析,v[n]的有效数据位最多可能是28位,因此也不会有数据溢出的问题。
3、延时信号减去直流估值得到去直流信号yint[n]:
yint[n]=xint[n-(D-1)]-(v[n]>>12)......(11);
其初值条件为:
xint[n]=0,(n<0)......(12)。
如前所述,公式(6)和(9)中都略去了除D求均值的运算,因此公式(11)中需将v[n]右移12位,相当于乘上,即通过一次移位实现了两级滑动平均滤波中求均值的运算。
4、将yint[n]转换为16bits输出数据y[n]:
y[n]=CLIPTOSHORT(yint[n])......(13);
其中,CLIPTOSHORT()函数的参考代码如下:
short CLIPTOSHORT(int x)
{
int sign;
sign=x>>31;
if(sign!=(x>>15))
x=sign^((1<<15)-1);
return(short)x;
}
本发明所述技术方案通过滤波的方法得到直流分量估值v[n],从而能够去除语音信号中的直流分量;进一步,本发明通过滑动平均滤波器对输入语音信号x[n]进行滑动平均滤波,运算量小,符合线性相位要求,并且去直流效果好。
本发明还公开了一种去除语音信号中直流分量的装置,所述装置包括:
滤波模块,用于对输入语音信号x[n]进行滤波,得到直流分量估值v[n]。
运算处理模块,用于将所述输入语音信号x[n]减去所述直流分量估值v[n],得到去直流分量后的语音信号y[n]。
优选的,所述滤波模块为滑动平均滤波器,所述滑动平均滤波器对所述输入语音信号x[n]进行滑动平均滤波,得到所述直流分量估值v[n]。
在本发明所述去除语音信号中直流分量的装置的另一实施例中,所述装置还包括:
延时处理模块,用于根据所述滑动平均滤波器的延时对所述输入语音信号x[n]进行延时处理。
在本发明所述去除语音信号中直流分量的装置的另一实施例中,所述滤波模块为由第一级滑动平均滤波器和第二级滑动平均滤波器组成的两级滑动平均滤波器结构。
需要说明的是,所述装置实施例是与所述方法实施例对应的,在装置实施例部分未详细描述的部分参照方法实施例中相关部分的描述即可。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如上述方法实施例的步骤,所述的存储介质,如:磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。在本发明各方法实施例中,所述各步骤的序号并不能用于限定各步骤的先后顺序,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,对各步骤的先后变化也在本发明的保护范围之内。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种去除语音信号中直流分量的方法,其特征在于,包括:
对输入语音信号x[n]进行滤波,得到直流分量估值v[n];
将所述输入语音信号x[n]减去所述直流分量估值v[n],得到去直流分量后的语音信号y[n];
利用滑动平均滤波器对所述输入语音信号x[n]进行滑动平均滤波,得到所述直流分量估值v[n];
所述滑动平均滤波器根据以下公式得到所述直流分量估值v[n]:
其初值条件为:
v[n]=0,x[n]=0,n<0;
其中,D为所述滑动平均滤波器的阶数。
2.根据权利要求1所述的去除语音信号中直流分量的方法,其特征在于,所述滑动平均滤波器的阶数D设置为2N,其中N为大于0的自然数。
3.根据权利要求1所述的去除语音信号中直流分量的方法,其特征在于,将所述输入语音信号x[n]减去所述直流分量估值v[n]前还包括:
根据所述滑动平均滤波器的延时对所述输入语音信号x[n]进行延时处理。
4.根据权利要求1所述的去除语音信号中直流分量的方法,其特征在于,利用第一级滑动平均滤波器和第二级滑动平均滤波器组成的两级滑动平均滤波器结构对所述输入语音信号x[n]进行滑动平均滤波,得到所述直流分量估值v[n]。
5.根据权利要求4所述的去除语音信号中直流分量的方法,其特征在于,将所述输入语音信号x[n]减去所述直流分量估值v[n]前还包括:
根据所述第一级滑动平均滤波器和所述第二级滑动平均滤波器的延时对所述输入语音信号x[n]进行延时处理。
6.一种去除语音信号中直流分量的装置,其特征在于,包括:
滤波模块,用于对输入语音信号x[n]进行滤波,得到直流分量估值v[n];
运算处理模块,用于将所述输入语音信号x[n]减去所述直流分量估值v[n],得到去直流分量后的语音信号y[n];
所述滤波模块为滑动平均滤波器,所述滑动平均滤波器对所述输入语音信号x[n]进行滑动平均滤波,得到所述直流分量估值v[n];
所述滑动平均滤波器根据以下公式得到所述直流分量估值v[n]:
其初值条件为:
v[n]=0,x[n]=0,n<0;
其中,D为所述滑动平均滤波器的阶数。
7.根据权利要求6所述的去除语音信号中直流分量的装置,其特征在于,所述滑动平均滤波器的阶数D设置为2N,其中N为大于0的自然数。
8.根据权利要求6所述的去除语音信号中直流分量的装置,其特征在于,还包括:
延时处理模块,用于根据所述滑动平均滤波器的延时对所述输入语音信号x[n]进行延时处理。
9.根据权利要求6所述的去除语音信号中直流分量的装置,其特征在于,所述滤波模块为由第一级滑动平均滤波器和第二级滑动平均滤波器组成的两级滑动平均滤波器结构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010259762.5A CN101968964B (zh) | 2010-08-20 | 2010-08-20 | 一种去除语音信号中直流分量的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010259762.5A CN101968964B (zh) | 2010-08-20 | 2010-08-20 | 一种去除语音信号中直流分量的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101968964A CN101968964A (zh) | 2011-02-09 |
CN101968964B true CN101968964B (zh) | 2015-09-02 |
Family
ID=43548108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010259762.5A Expired - Fee Related CN101968964B (zh) | 2010-08-20 | 2010-08-20 | 一种去除语音信号中直流分量的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101968964B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111310522A (zh) * | 2018-12-12 | 2020-06-19 | 航天信息股份有限公司 | 一种去直流的方法和设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1260635A (zh) * | 1998-12-08 | 2000-07-19 | 皇家菲利浦电子有限公司 | 消除直流分量的方法和利用该方法获得的滤波装置 |
CN1706100A (zh) * | 2002-10-21 | 2005-12-07 | 神经网路处理有限公司 | 数字滤波器的设计方法及装置、数字滤波器设计用程序、数字滤波器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2466668A (en) * | 2009-01-06 | 2010-07-07 | Skype Ltd | Speech filtering |
-
2010
- 2010-08-20 CN CN201010259762.5A patent/CN101968964B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1260635A (zh) * | 1998-12-08 | 2000-07-19 | 皇家菲利浦电子有限公司 | 消除直流分量的方法和利用该方法获得的滤波装置 |
CN1706100A (zh) * | 2002-10-21 | 2005-12-07 | 神经网路处理有限公司 | 数字滤波器的设计方法及装置、数字滤波器设计用程序、数字滤波器 |
Non-Patent Citations (1)
Title |
---|
郑陶冶等.基于遗传算法的自适应噪声抵消.《声学技术》.2003, * |
Also Published As
Publication number | Publication date |
---|---|
CN101968964A (zh) | 2011-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Rabiner et al. | Applications of a nonlinear smoothing algorithm to speech processing | |
CN101877237B (zh) | 降噪装置和噪声确定方法 | |
CN100431004C (zh) | 数字滤波器指令和实现该滤波器指令的滤波器 | |
US8331583B2 (en) | Noise reducing apparatus and noise reducing method | |
Esqueda et al. | Aliasing reduction in clipped signals | |
CN102348150B (zh) | 音频信号处理装置、音频信号处理方法和程序 | |
CN102414742B (zh) | 低复杂度听觉事件边界检测 | |
CN102117618B (zh) | 一种消除音乐噪声的方法、装置及系统 | |
JPH0685607A (ja) | 高域成分復元装置 | |
Valimaki et al. | Antialiasing oscillators in subtractive synthesis | |
TWI261966B (en) | Digital filter device and filtering process method of the same | |
CN102568456A (zh) | 一种基于哼唱输入的记谱方法及装置 | |
JP3194752B2 (ja) | Pcmディジタルオーディオ信号再生装置 | |
CN101968964B (zh) | 一种去除语音信号中直流分量的方法及装置 | |
US6982662B2 (en) | Method and apparatus for efficient conversion of signals using look-up table | |
KR950703815A (ko) | 광기록 시스템에서의 디지탈 이퀼라이제이션 | |
JPH0793900A (ja) | オーディオ信号再生装置 | |
EP1403851B1 (en) | Concatenation of voice signals | |
EP1405312B1 (en) | Waveform equalizer for obtaining a corrected signal and apparatus for reproducing information | |
US20160180860A1 (en) | High order B-spline sampling rate conversion (SRC) | |
SU1451723A2 (ru) | Устройство дл вычислени мультипликативной свертки | |
JPS5898793A (ja) | 音声合成装置 | |
Carson et al. | Sample Rate Independent Recurrent Neural Networks for Audio Effects Processing | |
JP3140272B2 (ja) | オーディオ信号再生装置 | |
Aikawa et al. | Kernel with block structure for sampling rate converter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150902 Termination date: 20170820 |
|
CF01 | Termination of patent right due to non-payment of annual fee |