1、 语音信号的数字滤波语音信号的数字滤波 FIR 数字滤波器的数字滤波器的(海明)窗函数法(海明)窗函数法设计设计 一、一、课程设计的目的课程设计的目的 通过对常用数字滤波器的设计和实现,掌握数字信号处理的工作原理及设计方法; 掌握利用数字滤波器对信号进行滤波的方法。并能够对设计结果加以分析。 二、设计步骤及要求二、设计步骤及要求 1、MATLABMATLAB 介绍介绍 MATLAB 是由美国 mathworks 公司发布的主要面对科学计算、 可视化以及交互式 程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非 线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环
2、境中, 为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全 面的解决方案, 并在很大程度上摆脱了传统非交互式程序设计语言 (如 C、 Fortran) 的编辑模式,代表了当今国际科学计算软件的先进水平。 2 2、语音信号的采集、语音信号的采集 (1)单击电脑左下角开始,点击程序,然后点击附件、娱乐,最后打开录音机 软件。 (2)用麦克风录下自己说话的声音,保存。 (语音信号长度不能小于 2 秒且不能 大于 10 秒) 。 (3)记录以下内容: 1)、将语音信号保存为“lvxiulin.wav” 2) 、语音信号的采样速率 s f22050KHz 3) 、语音信号的长度 t=
3、2.42s 操作过程如下图: 沈 阳 大 学 课程设计说明书 NO.2 图 1 录音机的选择 图 2 录音文件保存图 沈 阳 大 学 课程设计说明书 NO3. 3 3、语音信号的频谱分析、语音信号的频谱分析 (1) 、 将步骤 2 中的保存语音信号 “lvxiulin.wav” 文件复制到我的电脑 D 盘的 Matlab 软件的 bin 文件夹中。 (2) 、双击电脑桌面上的图标,打开 Matlab 软件。 (3) 、点击左上方的图标,打开 m 文件编辑器。 (4) 、 在 m 文件编辑器中输入相应的指令代码将语音信号 “lvxiulin.wav” 导入 Matlab 工作台。 (5) 、编写
4、代码,在 m 文件编辑器中输入程序,对“lvxiulin.wav”语音信号文件进 行分析。 代码如下: close all clc; clear all %* V, fs=wavread(lvxiulin.wav); %将语音文件“lvxiulin.wav”中的波形信号值 赋值给数组 V %将采样速率赋值给变量 fs L1=length(V) ; %取被处理信号的长度并赋给 L1 n1=0:L1-1; figure; plot(n1,V); grid; title(原始语音信号时域波形); 语音信号图如下图所示: 沈 阳 大 学 课程设计说明书 NO.4 图 3 原始语音信号时域波形图 4 4
5、、滤波器的设计、滤波器的设计 (1) 、确定滤波器的主要参数: 输入代码如下: L=30000; %将原始信号截短为长度 L=30000 v1=V(10000:10000+L-1); wavwrite(v1, fs,v1.wav); V1=fft(v1); n=0:L-1; figure; subplot(211); plot(n,v1); grid; title(原始语音信号截短后时域波形); subplot(212); 沈 阳 大 学 课程设计说明书 NO.5 plot(n,abs(V1); grid; title(截短语音信号 FFT 幅频特性); detf=fs/L; figure; plot(n(1:L/2)*detf,abs(V1(1:L/2); grid; title(截短语音信号实际幅频特性); 图 4 截短后语音信号时域波形图和 FFT 幅频特性图 沈 阳 大 学 课程设计说明书 NO.6 图 5 截短语音信号实际幅频特性图 根据图 5 选取Hzf p 1800,Hzf st 2300,22050 s fHz。选用海明窗进行设计,参数 计算如下: 阻带截止频率 samrff sst t