赵伯政 《语音信号去噪—使用FLATTOPWIN窗设计的FIR滤波器》 第6页,共17页
3 设计步骤
3.1 设计流程图
根据设计的要求,首先自己录制一段语音信号,对语音信号加入噪声干扰,再利用Flattopwin窗设计合理的FIR滤波器。最后用滤波器对干扰后的语音信号进行滤波去噪。具体设计流程图如下图3.1所示:
开始 录制段语音信号,命名为“录音.wav”,绘制出其时域波形 和频谱图。
加入噪声干扰,绘制干扰后的
利用Flattopwin窗设计合理的 FIR滤波器。 时域波形和频谱图。
比较滤波前后的时域波形和频谱 图,并回放语音信号,验证是否 达到去噪效果。 将干扰后的语音信号通过自己设计的滤波器,进行滤波去噪。 NO 是否达到去噪 效果?
YES 结束
图3.1设计流程图 3.2 录制音乐信号
从电脑上录制一段语音信号,并命名为“录音.wav”。在Matlab平台下调用wavread函数可采集到语音信号。
赵伯政 《语音信号去噪—使用FLATTOPWIN窗设计的FIR滤波器》 第7页,共17页
运行程序后得到的波形图如图3.2所示:
图3.2 原始音乐信号时域波形图
画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性,并将原始音乐信号的波形图与加干扰后的波形图进行比较
运行程序后我们所得的波形图如图3.3所示:
图3.3 干扰前后信号时域图与频谱图的比较
3.3 滤波器设计
滤波器的设计就是要找到一组能满足特定滤波要求的系数向量a和b,其中b为系统函数的分子系数,a为系统函数分母系数。在本次的课程设计中我所采用的就是利用
赵伯政 《语音信号去噪—使用FLATTOPWIN窗设计的FIR滤波器》 第8页,共17页
Flattopwin窗函数来设计FIR滤波器。
图3.4设计的滤波器图形
3.4 信号滤波处理
滤波器设计完成后,在MATLAB平台上用函数filter实现滤波, 得到的滤波前后音乐信号的时域波形图和频谱图对比图如图3.5所示:
图3.5 滤波前后音乐信号的时域波形图和频谱图对比图
3.5 结果分析
在MATLAB中,经过sound(x,fs,bits)函数,对经过Flattopwin窗设计的FIR滤波器之后的音乐信号进行回放,可以听出滤波之后的信号跟原始信号一样清晰,完全滤除掉
赵伯政 《语音信号去噪—使用FLATTOPWIN窗设计的FIR滤波器》 第9页,共17页
了噪声的干扰,通过下面语句来进行语音信号回放比较: >> sound (y_fil,fs,bits); 播放滤波后的音乐信号 >> sound(x,fs,bits);
所得结果证明了用Flattopwin窗设计的FIR滤波器和音乐信号去噪设计是成功的。
赵伯政 《语音信号去噪—使用FLATTOPWIN窗设计的FIR滤波器》 第10页,共17页
4出现的问题及解决方法
在本次课程设计中我遇到的问题如下: 1、不知道如何将音乐信号截断成自己所需的长度。
2、对利用Flattopwin窗函数设计FIR滤波器的设计步骤很生疏。
3、在采用Flattopwin窗函数设计的FIR滤波器时得不到理想的滤波器,因而信号的恢复不是特别理想。
针对以上问题,相应的解决方案如下: 1、向同学学习如何截取音乐。
2、自己上网查阅资料,或向图书馆借阅资料,掌握利用Flattopwin窗函数设计FIR滤波器的方法和步骤。
3、通过不断设置参数的值,最终达到最理想的值,设计出理想的滤波器,使信号得到理想恢复。