1、 语音信号滤波去噪语音信号滤波去噪使用脉冲响应不变法设计的巴特沃斯滤波器使用脉冲响应不变法设计的巴特沃斯滤波器 摘 要 本课程设计主要运用麦克风采集一段语音信号,绘制波形并观察其频谱,给定相应技术指标,用脉冲响应 不变法设计的一个满足指标的巴特沃斯 IIR 滤波器,对该语音信号进行滤波去噪处理,比较滤波前后的波形和频谱 并进行分析,根据结果和学过的理论得出合理的结论。 关键词 课程设计;滤波去噪;巴特沃斯滤波器;脉冲响应不变法;MATLAB 一、 课程设计目的 数字信号处理课程设计是在学生完成数字信号处理和 MATLAB 的结合后的基本实验以后开 设的。 本课程设计的目的是为了让学生综合数字信
2、号处理和 MATLAB 并实现一个较为完整的小型滤波 系统。这一点与验证性的基本实验有本质性的区别。开设课程设计环节的主要目的是通过系统设计、 软件仿真、程序安排与调试、写实习报告等步骤,使学生初步掌握工程设计的具体步骤和方法,提 高分析问题和解决问题的能力,提高实际应用水平。 二、 课程设计的要求 (1)滤波器指标必须符合工程设计。 (2)设计完后应检查其频率响应曲线是否满足指标。 (3)处理结果和分析结论应该一致,而且应符合理论。 (4)独立完成课程设计并按要求编写课程设计报告。 三、设计原理 用麦克风采集一段语音信号,绘制波形并观察其频谱,给定相应技术指标,用脉冲响应不变法设 计的一个满
3、足指标的巴特沃斯 IIR 滤波器,对该语音信号进行滤波去噪处理,比较滤波前后的波形 和频谱并进行分析。 四、设计步骤 4.1 设计流程图 语音信号滤波去噪使用脉冲不变响应法设计的巴特沃斯滤波器的设计流程如图 3.1 所示: 开始 语 音 信 号 的 采 集 (wavread 函数) , 画时 域图 快速傅里叶变换, 并 且画频谱图 设定滤波器性能指标,通带截止频 率 fb=1100, 阻带截止频率 fc=1200, 通带波纹 Ap=1,阻带波纹 As=20 脉冲响应不变法法设 计巴特沃斯滤波器 验证并进行频谱分析 设计好的滤波器进 行滤波处理 比较滤波前后语音信号 的波形及频谱 回放语音信号
4、图 3.1 脉冲响应不变法巴特沃斯滤波器对语音信号去噪流程图 4.2 语言信号的采集 利用 PC 机上的录音软件进行采集。将话筒输入计算机的语音输入插口上,启动录音机。按下录音按 钮,接着对话筒说话“大萝卜”,说完后停止录音,屏幕左侧将显示所录声音的长度。点击放音按钮, 可以实现所录音的重现。以文件名“speech”保存入 g : MATLAB work 中。可以看到,文件存储 器的后缀默认为. wav ,这是 WINDOWS 操作系统规定的声音文件存的标准。然后,通过文件中的属 性,将此录音转换成 8000Hz,8k 的单声道语音信号。 4.3 语音信号的频谱分析 利用MATLAB中的“wa
5、vread”命令来读入(采集)语音信号,将它赋值给某一向量。再对其进行 采样,记住采样频率和采样点数。 y,fs,nbits=wavread(file) 功能说明:采样值放在向量 y 中,fs 表示采样频率(hz) ,nbits 表示采样位数。 接下来,对语音信号 speech.wav 进行采样。其程序如下: y,fs,nbits=wavered (speech.wav); 然后,画出语音信号的时域波形,再对语音信号进行频谱分析。MATLAB 提供了快速傅里叶变换 算法 FFT 计算 DFT 的函数 fft,其调用格式如下: Xk=fft(xn,N) 域序列向量,N 是 DFT 变换区间长度,
6、当 N 大于 xn 的长度时,fft 函数自动在 xn 后面补零。 , 当 N 小于 xn 的长度时,fft 函数计算 xn 的前 N 个元素,忽略其后面的元素。 在本次设计中,我们利用 fft 对语音信号进行快速傅里叶变换,就可以得到信号的频谱特性。 其程序如下: y,fs,nbits=wavread(44.wav); n=length(y); Y=fft(y,n); subplot(2,1,1);plot(y);title(原始信号波形); subplot(2,1,2);plot(abs(Y);title(原始信号频谱); 结束 图 3.3 时域波形 图 3.4 频域幅度谱 图 3.5 频域幅度谱和相位谱 4.4 滤波器设计 将数字滤波器的设计指标设为通带截止频率fb=1100HZ,阻带频率 fc=1200HZ,通带波纹 Ap=1dB, 阻带波纹 As=20dB,要求确定 H(z)。设计步骤如下: (1)确定所需类型数字滤波器的技术指标。 (2)将所需类型数字滤波器的边界频率转换成相应的模拟滤波器的边界频率,转换公式为