基于Matlab的课程设计.doc
文本预览下载声明
基于Matlab的课程设计
为了巩固所学的数字信号处理理论知识,使学生对信号的采集、处理、传输、显示和存储等有一个系统的掌握和理解,精心地安排了课程设计的内容:录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;最后,设计一个信号处理系统界面。下面对各步骤加以具体说明。
2.1 语音信号的采集
要求学生利用Windows下的录音机,录制一段自己的话音,时间在1 s内。然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。通过wavread函数的使用,学生很快理解了采样频率、采样位数等概念。
2.2 语音信号的频谱分析
要求学生首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性,从而加深学生对频谱特性的理解。其程序如下:
2.3 设计数字滤波器和画出其频率响应
给出各滤波器的性能指标:
(1)低通滤波器性能指标 fb=1 000 Hz,fc=1 200 Hz,As=100 dB,Ap=1 dB。
(2)高通滤波器性能指标 fc=4 800 Hz,fb=5 000 Hz As=100 dB,Ap=1 dB。
(3)带通滤波器性能指标 fb1=1 200 Hz,fb2=3 000 Hz,fc1=1 000 Hz,fc2=3 200 Hz,As=100 dB,Ap=1 dB。
要求学生用窗函数法和双线性变换法设计上面要求的3种滤波器。在Matlab中,可以利用函数fir1设计FIR滤波器,可以利用函数butte, cheby1和ellip设计IIR滤波器;利用Matlab中的函数freqz画出各滤波器的频率响应。程序如下:
2.4 用滤波器对信号进行滤波
要求学生用自己设计的各滤波器分别对采集的信号进行滤波,在Matlab中,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波。
2.5 比较滤波前后语音信号的波形及频谱
要求学生在一个窗口同时画出滤波前后的波形及频 谱。其程序如下:
2.6 回放语音信号
在Matlab中,函数sound可以对声音进行回放。其调用格式:sound(x,fs,bits);可以感觉滤波前后的声音有变化。
2.7 设计系统界面
为了使编制的程序操作方便,要求有能力的学生,设计处理系统的用户界面。在所设计的系统界面上可以选择滤波器的类型,输入滤波器的参数,显示滤波器的频率响应,选择信号等。
3 结语
笔者在电信97,98,99,00四届学生中,采用Matlab进行数字信号处理课程设计,实践证明,使学生加深了对课堂抽象概念的理解,巩固了课堂上所学的理论知识,并能很好地理解与掌握数字信号处理中的基本概念、基本原理、基本分析方法。在课程设计中,让学生录制自己的声音,设计滤波器对声音进行处理,大大激发了同学们的学习兴趣,使学生很快地掌握编程方法和解决实际问题的技巧,取得了良好的教学效果。
参考文献
〔1〕程佩青.数字信号处理教程〔M〕.北京:清华大学出版社,2002.
〔2〕刘敏,魏玲.Matlab通信仿真与应用〔M〕.北京:国防工业出版社,2001.一、题目:基于matlab的语音信号滤波处理
二、内容:
1、 语音信号的采集
利用Windows下的录音机, 录制一段自己的话音, 时间在几秒内。然后在Matlab软件平台下, 利用函数wavread对语音信号进行采样, 记住采样频率和采样点数。
[y,fs,bits]=wavread();
2、 语音信号的频谱分析
首先画出语音信号的时域波形, 然后对语音信号进行频谱分析。 在Matlab 中, 可以利用函数fft对信号进行快速傅里叶变换, 得到信号的频谱特性。
3、 用滤波器对语音信号进行滤波
设计滤波器对采集的信号进行滤波, 比较滤波前后语音信号的波形及频谱。
要求自己确定滤波器的性能指标,用冲激响应不变法、双线性变换法或窗函数法设计3种滤波器:低通、高通和带通滤波器。
4、 回放语音信号
在Matlab中, 函数sound 可以对声音进行回放,其调用格式:
sound (x, fs, bits);
可以感觉滤波前后的声音变化。
三、设计报告书:
(1)封面;
(2)目录;
(3)摘要;
(4)正文:
设计内容(简述本设计的任务和要求);
设计原理(简述设计过程中涉及到的基本理论知识);
设计过程
I程序源代码:给出完整源程序清
显示全部