1、 目目 录录 1.课程设计的目的 1 2.课程设计的要求 1 (1)熟悉离散信号和系统的时域特性. 1 (2)掌握序列快速傅里叶变换 FFT 方法. 1 (3)学会 MATLAB 的使用,掌握 MATLAB 的程序设计方法. 1 (4)利用 MATLAB 对语音信号进行频谱分析. 1 (5)掌握 MATLAB 设计 FIR 和 IIR 数字滤波器的方法. 1 3.课程设计报告内容 1 4.设计步骤 1 (1)语音信号的获取. 1 (2)语音信号的频谱分析. 3 (3)设计 FIR 和 IIR 数字滤波器并画出频率响应. 4 (4)对信号进行滤波. 8 (5)被污染语音信号的频谱分析. 13 (
2、6)回放语音信号. 13 5.调试分析 13 5.1 等间隔采样程序的编写 13 5.2 .m 文件的命名 14 5.3 标点符号的使用 15 5.4 滤波器参数的使用 15 6.结果分析与体会 16 6.1 总结 16 6.2 不足 17 6.3 思考 17 6.4 结束语 17 参考文献 18 附录: 19 1 语音信号的频谱分析 1.1.课程设计的目的课程设计的目的 综合运用数字信号处理的理论知识进行频谱分析和滤波器设计, 通过理论推 导得出相应结论,再利用 MATLAB 作为编程工具进行计算机实现,从而加深对所 学知识的理解。 2.2.课程设计的要求课程设计的要求 (1)熟悉离散信号和
3、系统的时域特性。 (2)掌握序列快速傅里叶变换 FFT 方法。 (3)学会 MATLAB 的使用,掌握 MATLAB 的程序设计方法。 (4)利用 MATLAB 对语音信号进行频谱分析。 (5)掌握 MATLAB 设计 FIR 和 IIR 数字滤波器的方法。 3.3.课程设计报告内容课程设计报告内容 录制一段自己的语音信号,取不同的数据点对语音信号进行频谱分析; 对所 有数据进行插值和抽取处理,改变抽样率再对信号进行频谱分析;设计 FIR 和 IIR 数字滤波器,并对被抽样后的语音信号进行滤波,分析滤波后信号的时域和 频域特征,回放语音信号。 4.4.设计步骤设计步骤 (1)语音信号的获取 用
4、 Windows 下录音机录制自己的声音,发音为汉语韵母“a“,保存在 D 盘命 名为 5.wav。通过使用 wavread 函数读取语音信号,实现语句如下: x,fs,bits=wavread(d:5.wav); 为了得到原始信号的波形和频谱,可运行如下语句: xx=fft(x); subplot(2,1,1);plot(x);title(原始信号波形); subplot(2,1,2);plot(abs(xx); title(原始信号频谱); 2 运行后得到的波形、频谱图如下: 原始的语音信号经过 wavread 函数的处理,由连续信号变成离散信号,抽样 率如图中 fs 所示为 22050 Hz/s,为了使抽样率满足 8000 Hz/s 的要求,需要用 到 resample 函数,实现语句如下: y=resample(x,8000,22050); 经过重采样,原信号的抽样率变成 8000Hz/s。由于采样频率的改变,在模 拟信号中选取的点数也有所不同,采样频率由 22050 Hz/s 变成 8000 Hz/s,采样 点数也相应地由 585