语音信号瞬态噪声去除研究实验指导书---.docVIP

  • 5
  • 0
  • 约2.1千字
  • 约 4页
  • 2017-09-02 发布于重庆
  • 举报

语音信号瞬态噪声去除研究实验指导书---.doc

语音信号瞬态噪声去除研究实验指导书---

语音信号瞬态噪声去除 一、实验类型:综合性实验 二、实验目的 1. 了解语音信号特点; 2. 了解瞬态噪声信号特点; 3. 基于频谱特征去除语音信号中瞬态噪声的方法。 三、实验设备:安装有MATLAB软件、CoolEdit2.1的计算机 四、实验原理 1. 瞬态噪声简介 瞬态噪声具有持续时间短,宽带频谱特点,对音频信号处理产生严重影响。图1所示是一段掺杂瞬态噪声的音频文件可以明显看到该段音频文件中有明显的“竖线”,这些便是瞬态噪声,这段时间范围内属于静音范围,瞬态噪声的幅度已经明显大于背景白噪声的幅度。使用cooledit观察这段时间的频谱,可得到如图2所示的频谱图。 图1含有瞬态噪声的时域音频文件波形图 图2 含有瞬态噪声的频域幅度谱图(语谱图) 通过图2可见,瞬态噪声期间期间的幅度谱也呈现出明显的“竖线”,由此可见瞬态噪声的频谱比背景噪声频谱还要宽很多。 图3是一段语音信号波形,在语音信号持续阶段语音幅度较大,持续时间较长,第11000个采样点附近出现上述的瞬态噪声,在第10400个采样点附近也出现了持续时间比较小,瞬时幅度较大的脉冲。通过cooledit观察语谱图得到如图4所示的语谱图。前述两个位置也出现了明显宽频高幅度的瞬态噪声频谱,由此可见,通过频率域观察,瞬态噪声更容易从有用信号中分离出来,但是由于瞬态噪声的频谱和有用信号的频谱具有重叠部分,使用传统的数字滤波器已经无法滤除,因此必须探索新的噪声滤除算法。 图3 混有瞬态噪声的语音信号时域波形图 图4 混有瞬态噪声的语音信号频谱图 2. 瞬态噪声检测 只有正确检测出瞬态噪声才有可能滤除,由图2和图4可知,瞬态噪声具有明显的宽频特性,而频率主要集中在1000Hz以上范围,根据这一特点可以截取静音阶段的瞬态噪声片段数据做FFT,然后归一化,取1000Hz~5000Hz范围内的傅里叶系数,构建特征向量,为了提高特征向量的的鲁棒性,可对多段瞬态噪声的特征向量做平均。 然后对语音信号进行分帧,并作FFT,根据语音信号的短时平稳性,每帧信号的长度一般在20~30ms范围。如果取25ms为一帧信号的长度,设采样率为44100Hz,则一共含有44100×25/1000=1102个数据点,为了使数据点数为2的整数次幂,可选1024个点。 为了克服分帧之后的截断效应,在计算FFT之前需要对语音信号加窗(在计算瞬态噪声特征向量的时候同样需要加窗)。相邻两帧之间会有部分数据点的重叠,如果选择汉宁窗,则重叠点数一般为FFT长度的,故每帧的步进长度应为FFT长度的。 求得每帧信号的FFT后,做归一化运算,选择和特征向量同范围的频谱系数作为特征,然后计算每帧信号的特征向量和给定的瞬态噪声特征向量模板的欧几里得距离,当距离小于某一阈值 就认为存在瞬态噪声,否则不含有瞬态噪声。 3. 瞬态噪声滤除 若已经检测出某帧含有瞬态噪声,则本帧信号的特征向量范围内的频谱选用与本帧最接近的,不含有瞬态噪声的帧的频谱系数替代。 完成瞬态噪声滤除后,将修改后的频谱做傅里叶逆变换,可得到已经滤除瞬态噪声的音频信号时域波形。在做频谱修改时,只改变幅度信息,不改变相位信息。由于在分帧的时候会有一定范围的数据点数重叠,因此在合成的时候重叠位置的数据点互相叠加。 4. MATLAB语言参考函数 [y, Fs] = wavread(filename) y是输出的数据点,Fs为采样率,是波形文件名称,如’noise.wav’。 Y = fft(X,n) 输出输入序列X的n点DFT,如果X的长度小于n会在有效数据点后填充0使整体长度达到n。如果省略n就做X长度的DFT,所以一般我们都指定数据长度为2的整数次幂,此时可省略参数n。 y = ifft(X,n) 输出输入序列X的n点IDFT,各参数含义与fft()相同。 Y = abs(X) 求复数X的模(幅度)。 P = angle(Z) 求复数Z的主辐角函数。输出P落在 范围内。 w?=?hann(L) 输出长度为L的汉宁窗。 五、实验内容 1. 读取给定的含有瞬态噪声的noise.wav文件; 2. 选取其中长度为10秒的任意一段作为待处理音频(要求这段音频中含有瞬态噪声); 3. 编写瞬态噪声滤除程序,实现瞬态噪声滤除。 六、实验要求 1. 了解瞬态噪声基本特点; 2. 能够根据实验内容编写程序,完成瞬态噪声滤出任务,输出噪声滤除前后音频片段的时域波形图,频谱图可通过cooledit观察,也可通过调用matlab函数显示; 3. 了解程序中所用函数的功能和使用方法。 七、预习要求 1. 熟悉MATLAB软件的使用方法; 2. 了解瞬态噪声基本特点; 3. 编写完成任务的MATLAB程序。 八、实验报告要求 1. 按照模板完成实验报告; 2. 要求有详细的实现程序和适当的注释;

文档评论(0)

1亿VIP精品文档

相关文档