湖 南 工 业 大 学
课 程 设 计
资 料 袋
计算机与通信 学院(系、部) 2010~2011 学年第 二 学期
课程名称:
指导教师:
学生姓名: 廖迎斌 专业班级 通信 082 班 学号 08408200805
设计题目:
MATLAB 语言与应用
职称
语音信号的滤波处理及时频域分析
陈卫兵
教授
成 绩:
起止日期: 2010 年 6 月 6 日 至 2011 年 6 月 12 日
目录清单
序号
材料名称
资料数量
备注
课程设计任务书
课程设计说明书
1
1
张
1
2
3
4
5
6
湖南工业大学
课程设计任务书
2010 —2011 学年第 2 学期
计算机与通信
学院
通信工程
专业 通信 082 班级
课程名称:
设计题目:
Matlab 语言及应用
语音信号的滤波处理及时频域分析
完成期限:自 2011 年 6 月 6 日至 2011 年 6 月 12 日共 1 周
一、设计的主要技术参数
每组一台电脑(附话筒和耳机), 电脑安装 MATLAB6.5 版本以上软件。
二、设计任务
主要内容:
1、录制一段 2s 左右的语音信号,并对录制的信号进行 8000Hz 采样,画出采样后语音
信号的时域波形和频谱图。
2、给定滤波器的性能指标,采用窗函数法设计滤波器,并画出滤波器的频率响应。各
滤波器的性能指标:
(1)低通滤波器性能指标 fb=1000 Hz, fc=1200 Hz, As=100 dB, Ap=1 dB。
(2)高通滤波器性能指标 fc=4800 Hz, fb=5000 Hz As=100 dB, Ap=1 dB。
(3)带通滤波器性能指标 fb1=1200 Hz, fb2=3000 Hz, fc1=1 000 Hz, fc2=3200
Hz, As=100 dB, Ap=1 dB。
要求用窗函数法设计上面要求的 3 种 FIR 滤波器。
3、然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频
谱,并对滤波前后的信号进行对比,分析信号的变化。
4、回放语音信号。
主要任务:
语音信号的滤波处理及时频域分析
起止日期
工作内容
6 月 6 日
分组、任务分配、课题理解
6 月 6 日-6 月 8 日
功能分析、程序设计
6 月 9 日-6 月 11 日
程序调试、输出结果,指导老师检查
6 月 12 日
总结、书写课程设计报告
内
容
及
任
务
进
度
安
排
参
考
资
料
[1] 高西全、丁玉美编著.数字信号处理.西安:西安电子科技大学出版社,2008.
[2] 丁玉美、高西全编著.数字信号处理学习指导.西安:西安电子科技大学出版社,2001.
[3] 郑君里等编.信号与系统.北京:高等教育出版社,2000.
[4] 刘树棠译.数字信号处理——使用 MATLAB.西安:西安交通大学出版社,2002.
[5] 导向科技编著.MATLAB 程序设计与实例应用.北京:中国铁道出版社,2001.
指 导 教 师(签字):
系 ( 教 研 室 ) 主 任 ( 签字):
年
年
月
月
日
日
MATLAB 语言与应用
课程设计说明书
语音信号的滤波处理及时频域分析
起止日期: 2011 年 06 月 6 日 至 2016 年 06 月 12 日
学 生 姓 名
廖 迎 斌
班
学
成
通 信 082 班
08408200205
级
号
绩
指 导 教 师 ( 签 字 )
计算机与通信学院
2011 年 6 月 12 日
课题名称
组 长
语音信号的滤波处理及时频域分析
人 数
4 人
陈潇逸
同组人员
廖迎斌、朱文军、刘沛
一、设计的要求
1、录制一段 2s 左右的语音信号,并对录制的信号进行 8000Hz 采样,画出
采样后语音信号的时域波形和频谱图。
2、给定滤波器的性能指标,采用窗函数法设计滤波器,并画出滤波器的频
率响应。各滤波器的性能指标:
(1)低通滤波器性能指标 fb=1000Hz,fc=1200Hz,As=100dB,Ap=1dB。
(2)高通滤波器性能指标 fc=4800Hz,fb=5000Hz As=100dB,Ap=1dB。
(3)带通滤波器性能指标 fb1=1200Hz,fb2=3000Hz,fc1=1000Hz,fc2
=3200Hz,As=100dB,Ap=1dB。要求用窗函数法设计上面要求的 3 种 FIR 滤波
器。
3、然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时
域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化。
4、回放语音信号。
二、设计任务
1、录制一段 2S 左右的声音文件
2、设计三种滤波器对信号进行滤波(包括低通,高通和带通)
3、对滤波前后的波形进行比较
4、回放各个部分的语音信号
三、内容
1、语音信号的滤波处理,语音信号的时频域分析
2、滤波器的设计,滤波后的语音信号的效果
查找相关资料资料,录制一段 2S 左右的声音文件
设计三种滤波器对信号进行滤波(包括低通,高通和带通)
用设计的滤波器进行滤波,对滤波前后的波形进行比较
回放各个部分的语音信号
总结并书写报告
6 月 5 日 查找相关资料掌握语音信号的滤波处理及时频域分析
6 月 6 日至 6 月 7 日 完成实验的总体设计,分析时频域的信号图像
6 月 8 至 6 月 10 日 设计椭圆低通滤波器,设计高通滤波器,并且比较
两者的细节,设计带通滤波器,回放声音部分
6 月 11 日 比较信号各个时机的绘图情况和滤波后的声音效果
6 月 12 日 总结并书写报告
课
题
的
主
要
内
容
和
要
求
具
体
任
务
时
间
安
排
一、MATLAB 环境简介
MATLAB 语言是一种数据分析和处理功能十分强大的计算机应用软件,它可
以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数
据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种图的呈现等,
信号处理是 MATLAB 重要应用的领域之一。
本课程设计介绍了基于 Matlab 的对语音信号采集、处理及滤波器的设计,
并使之实现的过程。理解与掌握课程中的基本概念、基本原理、基本分析方法,
用 Matlab 进行数字语音信号处理,并阐述了课程设计的具体方法、步骤和内容。
综合运用本课程的理论知识进行频谱分析以及滤波器设计,通过理论推导得出相
应结论,并利用 MATLAB 作为工具进行实现,从而复习巩固课堂所学的理论知识,
提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理。
二、设计步骤
1、整体设计思路
Matlab 语言是一种数据分析和处理功能十分强大的计算机应用软件,它可
以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数
据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种图的呈现等,
信号处理是 Matlab 重要应用的领域之一。本文是用 Matlab 对含噪的的语音信
号同时在时域和频域进行滤波处理和分析。
整个设计思路的设计原理示意图如图 1 所示:
2、整体实现过程
采样器的作用是把连续信号变为脉冲或数字序列。图中示出了一个连续信号
f(t)经采样器采样后变为离散信号的过程。
图 2 连续信号 f(t)经采样器采样后变为离散信号
图 2 中 f(t)为被采样的连续信号,S(t)为周期性窄脉冲信号,fs(t)为采
样后的离散信号,它用下式来表征:fs(t)=f(t)s(t)
采样信号的频率特性为:
如果|F*(jω)|中各个波形不重复搭接,相互间有一定的距离(频率)即若
即采样定理可叙述如下:如果采样周期满足下列条件,即:
式中ωmax 为连续信号 f(t)的最高次谐波的角频率,则采样信号 f*(t)就可
以无失真地再恢复为原连续信号 f(t)。需要指出的是,采样定理只是在理论上给
出了信号准确复现的条件。
我们可以利用 windows 自带的录音机录制语音文件,进行数字信号的采集。
(开始—程序—附件—娱乐—录音机,文件—属性—立即转换—8000KH z,8 位,
单声道)或其他软件,将话筒输入计算机的语音输入插口上,启动录音机,录制
一段自己的话音。然后在 MATLAB 软件平台下,利用函数 wavread 对语音信号进
行采样,记住采样频率和采样点数。通过 wavread 函数的使用进一步理解采样频
率、采样位数等概念。图 3 是基于 PC 机的语音信号采集过程:
声音
麦克风
声卡
滤波
采样
A/D 转换
Wav
Windows 自带录音机
图3 语音采集过程
3、语音信号的读取
在 matlab 软件平台下,利用 wavread 函数对语音信号进行采样,记住采样
频率和采样点数。通过使用 wavread 函数,理解采样频率、采样位数等概念。
wavread 函数调用格式:
y=wavread(file),读取 file 所规定的 wav 文件,返回采样值放在向量 y 中。
[y,fs,nbits]=wavread(file),采样值放在向量 y 中,fs 表示采样频率(hz),
nbits 表示采样位数。
y=wavread(file,N),读取前 N 点的采样值放在向量 y 中。
y=wavread(file,[N1,N2]),读取从 N1 到 N2 点的采样值放在向量 y 中。
对语音信号“shiyan.wav”进行采样其程序如下:
[y,fs,nbits]=wavread('shiyan.wav')
可知该语音信号的采样频率 fs = 8000Hz ,数据位 nbits = 16Bit。
4、语音信号的频谱分析
首先画出语音信号的时域波形,然后对语音信号进行频谱分析。在 Matlab 中
可以利用函数 fft 对信号行快速傅里叶变换,得到信号的频谱特性,从而加深对
频谱特性的理解。
其程序如下:
N=length(y);
y=wavread('shiyan.wav'); %把语音信号进行加载入 Matlab 仿真软件平台
中
sound(y,fs,nbits);
%对加载的语音信号进行回放
Y=fft(y);
figure(1);
%快速傅里叶变换
%生成图 1
subplot(2 ,1 ,1);plot(y);title('原始信号波形');
subplot(2 ,1 ,2);plot(abs(Y));title('原始信号频谱');
程序结果如下图 4: