基于MATLAB 的语音信号的采集分析和处理

上传人:简****9 文档编号:108208514 上传时间:2019-10-22 格式:PDF 页数:16 大小:749.50KB
返回 下载 相关 举报
基于MATLAB 的语音信号的采集分析和处理_第1页
第1页 / 共16页
基于MATLAB 的语音信号的采集分析和处理_第2页
第2页 / 共16页
基于MATLAB 的语音信号的采集分析和处理_第3页
第3页 / 共16页
基于MATLAB 的语音信号的采集分析和处理_第4页
第4页 / 共16页
基于MATLAB 的语音信号的采集分析和处理_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《基于MATLAB 的语音信号的采集分析和处理》由会员分享,可在线阅读,更多相关《基于MATLAB 的语音信号的采集分析和处理(16页珍藏版)》请在金锄头文库上搜索。

1、仲恺农业工程学院课程考查报告书 数字信号处理数字信号处理课程课程考查考查 院系:自动化学院 题目:基于 MATLAB 的语音信号的采集分析和处理 专 业 班 别:自动化(工业自动化) 144 姓名:黄国盛 学号:201421714406 提 交 日 期:2016 年 12 月 7 日 1 目录 1. 设计任务与要求 3 2. 语音信号的采集 3 3. 语音信号的分析 3 3.1 实现程序代码 3 3.2 波形图 4 4. 语音信号加高频余弦噪声 6 4.1 实现程序代码 6 4.2 波形图 7 5. 双线性变换法设计巴特沃兹模拟低通滤波器 8 5.1 实现程序代码 8 5.2 波形图 10 6

2、. 窗函数法(门限法)设计模拟滤波器 11 6.1 实现程序代码 11 6.2 波形图 12 7. 经验体会 14 8. 参考文献 15 2 引言 语音具有成为声学特征的物理特质,基本的组成单位是音素。音素是发出各不相同音的 最小单位,可以将音素分为浊音和清音两大类。如果把不存在语音而只有背景噪声的情况称 为无声时,音素又可以分为无声、浊音和清音三类。一个音节由元音和辅音构成。元音在音节 中占主要部分。所有元音都是浊音。语音信号处理的目的有两个:一个是要通过处理得到一 些反应语音信号重要特征的语音参数,以便高效地传输或储存语音信号信息;另一个是要通 过处理某种运算以达到某种用途的要求,例如人工

3、合成出语音、辨识出讲话者、识别出讲话 的内容等。 数字信号处理的主要研究对象是语音信号和图像信号,语音信号的研究可以从时域和频 域两个方面来进行。其中时域的分析处理有两种方法:一种是进行语音信号分析,这属于线性 处理的范畴;另一种是生成和变换成各种调制信号,这属于非线性的范畴,主要是对信号平均 累加器的动态范围进行压缩扩张,用门限方法对噪声的抑制。对频域分析处理,即对信号的频 率特性在频谱中加以分析研究,这拓展了信号分析的范围,是对不确定信号分析的主要方法。 在实际应用中,信号的时域频分析经常同时进行。 在语音信号处理上,傅里叶变换一直起着主要作用。稳态的语音生成模型有线性系统组 成,系统输入

4、为随时间作周期变化或随机变化时,系统输出的频谱则反应了激励与声道频率 响应特性。MATLAB 语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声 音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里 叶变换、时域和频域分析、声音回放以及各种图的呈现等,信号处理是 MATLAB 重要应用的领 域之一。本文是用 MATLAB 对含噪的的语音信号同时在时域和频域进行滤波处理和分析。整个 设计思路的设计原理示意图如图所示。 3 基于 MATLAB 的语音信号的采集分析和处理(Matlab R2015b) 1.设计任务与要求 用 MATLAB 对语音进行分析和

5、处理,包括: (1)语音信号的采集。 (2)语音信号的频谱分析。 (3)语音信号的加杂和滤波处理。 2.语音信号的采集 通过 QQ 发送语音内容 “201421714406” , 保存到本地的语音格式为.arm。 为了方便 MATLAB 对音频进行处理,音频须保存为.wav 格式供 MATLAB 相关函数直接读取、写入或播放。可用 “楼月微信语音播放器”将语音格式.arm 转换成.wav,并将音频命名为 test.wav 保存在电 脑桌面。 (即文件保存位置为“C:UsersAdministratorDesktoptest.wav” ) 。 (注:1、QQ 语音一般保存在 QQ 账号相关文件夹

6、下的 Audio 文件夹里。若用其他音频,同样要转换 为.wav 格式;2、为了便于实验图形变化情况的观察建议音频不要太长;3、wave 格式的音频分为 PCM 和 IMA ADPCM 两种格式,Matlab 中用 waveread 函数做音频处理时,只能对 PCM 格式的.wav 音频进行处理, 因此需要将要处理的格式事先转换成 PCM 格式的.wav 音频。可采用 Adensoft Audio MP3 Converter 音频 转换工具进行转换。 ) 3.语音信号的分析 在 MATLAB 软件平台下,利用函数 audioread 对语音信号进行采样。利用 sound 函数可播 放采样音频。

7、首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号 的频谱特性。 3.1 实现程序代码如下: clc;clear;close all; fs=20100;%语音信号采样频率为 20100 x1=audioread(C:UsersAdministratorDesktoptest.wav); %读取语音信号的数据,赋给变量 x1 sound(x1,20100);%播放语音信号 y1=fft(x1,1024);%对信号做 1024 点 FFT 变换 f=fs*(0:511)/1024; 4 figure(1); plot(x1)%做原始语音信号的时域图形 title(原始语音信号)

8、;xlabel(time n);ylabel(fuzhi n); figure(2);freqz(x1)%绘制原始语音信号的频率响应图 title(频率响应图) figure(3);subplot(2,1,1); plot(abs(y1(1:512)%做原始语音信号的 FFT 频谱图 title(原始语音信号 FFT 频谱); subplot(2,1,2); plot(f,abs(y1(1:512); title(原始语音信号频谱) xlabel(Hz);ylabel(fuzhi); 3.2 波形如下: 5 6 注意:原始语言信号 FFT 频谱和原始语言信号频谱的区别是:前者是频率为 1 递增

9、的频 谱,而后者是以 f=fs*(0:511)/1024 递增;另外,后者是在“不小于原始信号的频率(采样 定理) ”上完全展开的频谱。 4.语音信号加高频余弦噪声 给原始的语音信号加上一个高频余弦噪声,频率为 5kHz。通过 MATLAB 的 sound 函数播 放音频可听到刺耳背景音。画出加噪后的语音信号时域和频谱图,与原始信号对比,可以很 明显的看出区别。 4.1 实现程序代码如下: fs=20100; x1=audioread(C:UsersAdministratorDesktoptest.wav); f=fs*(0:511)/1024; t=0:1/20100:(size(x1)-1

10、)/20100; %将所加噪声信号的点数调整到与原始信号相同 Au=0.03; d=Au*cos(2*pi*5000*t);%噪声为 5kHz 的余弦信号 x2=x1+d; sound(x2,20100);%播放加噪声后的语音信号 y2=fft(x2,1024); figure(1) plot(t,x2) title(加噪后的信号); xlabel(time n); ylabel(fuzhi n); figure(2) subplot(2,1,1); plot(f,abs(y1(1:512); title(原始语音信号频谱); xlabel(Hz); ylabel(fuzhi); subplo

11、t(2,1,2); 7 plot(f,abs(y2(1:512); title(加噪后的信号频谱); xlabel(Hz); ylabel(fuzhi); 4.2 波形如下: 8 5. 双线性变换法设计巴特沃兹模拟低通滤波器 设计数字滤波器的任务就是寻求一个因果稳定的线性时不变系统,并使系统函数 H(z)具 有指定的频率特性。 5.1 实现程序代码如下: fs=20100; x1=audioread(C:UsersAdministratorDesktoptest.wav); t=0:1/20100:(size(x1)-1)/20100; Au=0.03; d=Au*cos(2*pi*5000*

12、t); x2=x1+d; wp=0.25*pi; ws=0.3*pi; Rp=1; Rs=15; Fs=20100; 9 Ts=1/Fs; wp1=2/Ts*tan(wp/2);%将模拟指标转换成数字指标 ws1=2/Ts*tan(ws/2); N,Wn=buttord(wp1,ws1,Rp,Rs,s);%选择滤波器的最小阶数 Z,P,K=buttap(N);%创建 butterworth 模拟滤波器 Bap,Aap=zp2tf(Z,P,K); b,a=lp2lp(Bap,Aap,Wn); bz,az=bilinear(b,a,Fs);%用双线性变换法实现模拟滤波器到数字滤波器的转换 H,W=

13、freqz(bz,az);%绘制频率响应曲线 figure(1) plot(W*Fs/(2*pi),abs(H) grid xlabel(频率Hz) ylabel(频率响应幅度) title(Butterworth) f1=filter(bz,az,x2); figure(2) subplot(2,1,1) plot(t,x2)%画出滤波前的时域图 title(滤波前的时域波形); subplot(2,1,2) plot(t,f1);%画出滤波后的时域图 title(滤波后的时域波形); sound(f1,22050);%播放滤波后的信号 F0=fft(f1,1024); f=fs*(0:51

14、1)/1024; figure(3) y2=fft(x2,1024); subplot(2,1,1); plot(f,abs(y2(1:512);%画出滤波前的频谱图 10 title(滤波前的频谱) xlabel(Hz); ylabel(fuzhi); subplot(2,1,2) F1=plot(f,abs(F0(1:512);%画出滤波后的频谱图 title(滤波后的频谱) xlabel(Hz); ylabel(fuzhi); 5.2 波形如下: 11 12 6. 窗函数法(门限法)设计模拟滤波器 6.1 实现程序代码如下: fs=20100; x1=audioread(C:UsersAdministratorDesktoptest.wav); t=0:1/20100:(size(x1)-1)/20100; Au=0.03; d=Au*cos(2*pi*5000*t); x2=x1+d; wp=0.25*pi; ws=0.3*pi; wdelta=ws-wp; N=ceil(6.6*pi/wdelta);%取整 wn=(0.2+0.3)*pi/2; b=fir1(N,wn/pi,hamming(N+1); %选择窗函数,并归一化截止频率 figure(1) freqz(b,1,512) f2

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号