毕业设计(论文)-基于MATLAB的语音信号录制采集和分析的程序设计.doc
《毕业设计(论文)-基于MATLAB的语音信号录制采集和分析的程序设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于MATLAB的语音信号录制采集和分析的程序设计.doc(19页珍藏版)》请在三一文库上搜索。
1、I 学号:0809121055 20112012-学年 第 1 学期 综合设计报告综合设计报告 题题 目:目:语音信号频谱分析及滤波简介 班班 级:级: 08 级电子信息班 姓姓 名:名: 指导教师:指导教师: 成成 绩:绩: 电气工程系 2011 年 11 月 16 日 II 课课 程程 设设 计计 任任 务务 书书 学生班级: 08 电子信息班 学生姓名:毕昌国 学号: 0809121055 设计名称:应用应用 MatlabMatlab 对语音信号进行频谱分析及滤波简介对语音信号进行频谱分析及滤波简介 起止日期: 2011 年 11 月 7 日至 2011 年 11 月 18 日 指导教师
2、: 王银花 摘要摘要 随着计算机和信息科学的飞速发展,数字信号处理逐渐发展成为 一门独立的学科,成为信息科学的重要组成部分,在语音处理、雷达、 图像处理、通信、生物医学工程等众多领域中得到广泛应用。 Matlab 语言是一种广泛应用于工程计算及数值分析领域的新型高 级语言,Matlab 功能强大、简单易学、编程效率高,深受广大科技工 作者的喜爱。特别是 Matlab 还具有信号分析工具箱,不需具备很强 的编程能力,就可以很方便地进行语音信号分析、处理和设计。语音 信号的抽样、频谱分析,滤波器的设计及语音信号的滤波,通过数字 信号处理课程的理论知识的综合运用。从实践上初步实现对数字信号 的处理。
3、 关键词: 语音处理 抽样 频谱分析 滤波器 目目 录录 摘要摘要. 第一节 设计要求1 第二节 设计方案1 第二章第二章 语音信号的采集及加噪语音信号的采集及加噪.2 第一节 语音信号的录制2 第二节 语音信号的时域分析3 第三节 语音信号加噪和频谱分析5 第三章第三章 滤波器设计滤波器设计7 第一节 FIR 和 IIR 数字滤波器的选择.7 第二节 用 FIR 滤波器语音信号进行滤波 9 一 滤波器的程序设计.9 二 滤波前后信号比较10 第三节 比较回放语音信号 .12 第四章第四章 心得体会心得体会.13 参考文献参考文献14 1 第一章 课程设计方案提出 第一节第一节 设计要求设计要
4、求 要求录制一段的语音信号后,在 MATLAB 软件中采集语音信号、 回放语音信号并画出语音信号的时域波形和频谱图;对所采集的信号加 入干扰噪声,对加入噪声进行播放,并进行时域和频谱分析;对比及早 前后的时域图和频谱图,分析讨论采用什么的滤波器进行滤除噪声。 第二节第二节 设计方案设计方案 Windows 自带的录音机 声音麦克风声卡滤波采样A/D 转换 Wav 图 1.1 语音信号录制流程图 首先,录制一段语音信号(如图 1.1);然后,利用 MATLAB 中 的 wavread 命令来读入(采集)语音信号,将它赋值给某一向量。再将 该向量看作一个普通的信号,对其进行 FFT 变换实现频谱分
5、析;随后, 利用 MATLAB 中的随机函数(rand 或 randn)产生噪声加入到语音信号中, 模仿语音信号被污染,并对其频谱分析。最后;再依据实际情况对它进 行滤波。对于波形图与频谱图(包括滤波前后的对比图)都可以用 MATLAB 画出。我们还可以通过 sound 命令来对语音信号进行回放, 以便在听觉上来感受声音的变化。 2 第二章第二章 语音信号的采集及加噪语音信号的采集及加噪 第一节第一节 语音信号的录制语音信号的录制 利用 PC 机上的声卡和 WINDOWS 操作系统可以进行数字信号的 采集。将话筒输入计算机的语音输入插口上,启动录音机。按下录音按 钮,接着对话筒说话“语音信号处
6、理”,说完后停止录音,屏幕左侧将显示 所录声音的长度,点击放音按钮,可以实现所录音的重现。以文件名 “shijiebei”保存入 D: MATLAB work 中。文件存储器的后缀默认为. wav ,这是 WINDOWS 操作系统规定的声音文件存的标准。具体操作如 下: a.打开 开始/程序/附件/娱乐/录音机(如图 3.1); 图 3.1 b.用 windows media player 播放一首音乐并用 MIC 对着耳机录音或 自已说话录音(按键) ,到 10 秒时停止(按键) (如图 3.1) ; 3 图 3.2 图 3.3 c.将录制文件加存为 D:/MATLAB7/work 中,文件
7、名为 shijiebei.wav(如图 3.2、图 3.3 和图 3.4) ; 图 3.4 第二节第二节 语音信号的时域分析语音信号的时域分析 在MATLAB软件平台下,利用MATLAB中的“wavread”命令来读 入(采集)语音信号,将它赋值给某一向量。再对其进行采样,记住采 样频率和采样点数。通过使用wavread函数,可以深入理解采样频率、 采样位数等概念,下面介绍Wavread 函数几种调用格式。 (1)y=wavread(file) ;读取 file 所规定的 wav 文件,返回采样 值放在向量 y 中。 (2)y,fs,nbits=wavread(file) ;采样值放在向量 y
8、 中,fs 表 4 示采样频率(hz) ,nbits 表示采样位数。 (3)y=wavread(file,N) ;读取钱 N 点的采样值放在向量 y 中。 (4)y=wavread(file,N1,N2) ;读取从 N1 到 N2 点的采样值放 在向量 y 中。 接下来,对语音信号 shijiebei.wav 进行采样。 其采样程序如下: y,fs,nbits=wavered (E:shejishijiebei); 即把语音信号加载入 Matlab 仿真软件平台中。 然后,画出语音信号的时域波形,再对语音信号进行频谱分析。 MATLAB 提供了快速傅里叶变换算法 FFT 计算 DFT 的函数
9、fft,其调用格 式如下: Xk=fft(xn,N) 参数 xn 为被变换的时域序列向量,N 是 DFT 变换区间长度,当 N 大于 xn 的长度时,fft 函数自动在 xn 后面补零。 ,当 N 小于 xn 的长度 时,fft 函数计算 xn 的前 N 个元素,忽略其后面的元素。 在本次设计中,我们利用 fft 对语音信号进行快速傅里叶变换,就 可以得到信号的频谱特性。 其程序如下: y,fs,nbits=wavread ( E:shejishijiebei); sound(y,fs,nbits); %回放语音信号 N= length (y) ; %求出语音信号的长度 Y=fft(y,N);
10、 %傅里叶变换 subplot(2,1,1); plot(y);title(原始信号波形); 5 subplot(2,1,2); plot(abs(Y); title(原始信号频谱) 程序运行结果如下图: 012345678 x 10 4 -1 -0.5 0 0.5 1 信 信 信 信 信 信 信 信 信 012345678 x 10 4 0 500 1000 1500 2000 信 信 信 信 信 信 信 图3.5 原始信号波形及频谱 第三节第三节 语音信号加噪和频谱分析语音信号加噪和频谱分析 MATLAB 中产生高斯白噪声非常方便,有两个产生高斯白噪声的 两个函数 。我们可以直接应用两个函
11、数:一个是 WGN,另一个是 AWGN。WGN 用于产生高斯白噪声,AWGN 则用于在某一信号中加入 高斯白噪声。也可直接用 randn 函数产生高斯分布序列。 在本次课程设计中,我们是利用 MATLAB 中的随机函数(rand 或 randn)产生噪声加入到语音信号中,模仿语音信号被污染,并对其频谱 6 分析。Randn 函数有两种基本调用格式:Randn(n)和 Randn(m,n),前 者产生 nn 服从标准高斯分布的随机数矩阵,后者产生 mn 的随机 数矩阵。在这里,我们选用 Randn(m,n)函数。语音信号添加噪声及 其频谱分析的主要程序如下: y,fs,nbits=wavread
12、 ( E:shejishijiebei); N = length (y) ; %求出语音信号的长度 Noise=0.01*randn(n,2); %随机函数产生噪声 Si=y+Noise; %语音信号加入噪声 sound(Si); subplot(2,1,1); plot(Si);title(加噪语音信号的时域波形); S=fft(Si); %傅里叶变换 subplot(2,1,2); plot(abs(S); title(加噪语音信号的频域波形); 程序运行结果如下图: 7 图3.6 加噪后的波形及频谱分析 第三章第三章 滤波器设计滤波器设计 第一节第一节 FIR 和和 IIR 数字滤波器数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 MATLAB 语音 信号 录制 采集 分析 程序设计
链接地址:https://www.31doc.com/p-3283211.html