实验一、语音信号时域特性和频域特性.docVIP

实验一、语音信号时域特性和频域特性.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验一、语音信号的时域特性和频域特性 学院:信息与通信工程学院 专业:通信工程 班级:104 学号:2010026410 姓名:黄余芳 指导教师:崔艳秋 实验名称 语音信号的时域特性和频域特性 实验类型 验证性实验 实验目的 观察并验证语音信号的时域特性和频域特性,理解并掌握典型的语音信号时域分析方法和频域分析方法,为深入学习数字语音信号处理的相关理论奠定基础。 实验设备 安装有MATLAB的计算机 实验内容 输入并运行MATLAB代码。 观察语音信号的时域特性 (1)发一个清音和一个浊音,由麦克风采集语音数据,参考实验内容1中的程序将这些数据分别存成两个“.wav”文件(例如[a]的语音存为“a.wav”,要求采样率为8000),存在本人的文件夹中。 (2)读取WAV文件,显示语音波形,观察清音和浊音波形的差异。 (3)读取WAV文件,计算并显示语音的短时能量(要求分帧加窗的帧长为256,帧移为128),观察并分析清音和浊音短时能量的差异。 (4)读取WAV文件,计算并显示语音的短时过零率(要求分帧加窗是的帧长为256,帧移为128),观察并分析清音和浊音短时过零率的差异。 3. 观察语音信号的频域特性 (1)读取WAV文件,计算并显示一帧语音的原始信号、加窗信号、短时频谱(要求分帧加窗的窗函数为汉明窗、帧长为256,帧移为128),观察并分析清音 和浊音短时频谱的差异。 (2)读取WAV文件,计算并显示不同窗函数情况下一帧语音的加窗信号、短时频谱(要求分帧加窗的窗函数分别为矩形窗和汉明窗、帧长为256,帧移为128),观察并分析不同的窗函数对短时谱分析的影响。 相关函数 wavread、plot、fft MATLAB程序代码 1. 输入并运行以下MATLAB代码。 (1) 短时能量 clear; close all; Fs=11025; y=wavrecord(5*Fs,Fs,double); wavwrite(y,f:\\a); soundview(y,Fs); x = wavread(f:\\a.wav); x = double(x); x = filter([1 -0.9375], 1, x); % 预加重 FrameLen = 256; FrameInc = 128; s = enframe(x, FrameLen, FrameInc); energy = sum(abs(s), 2); figure; subplot(2,1,1); plot(x); title(语音信号时域波形); xlabel(样点数); ylabel(幅度); subplot(2,1,2); plot(energy); title(语音信号的短时能量); xlabel(帧数); ylabel(短时能量); legend(帧长FrameLen = 240); (2) 短时过零率 clear; close all; x = wavread(f:\\a.wav); x = double(x); FrameLen = 256; FrameInc =128; tmp1 = enframe(x(1:end-1), FrameLen, FrameInc); tmp2 = enframe(x(2:end) , FrameLen, FrameInc); signs = (tmp1.*tmp2)0; diffs = (tmp1 -tmp2)0.02; zcr = sum(signs.*diffs, 2); figure; subplot(2,1,1); plot(x); title(语音信号时域波形); xlabel(样点数); ylabel(幅度); subplot(2,1,2); plot(zcr); xlabel(帧数); ylabel(短时过零率); title(语音信号的短时过零率); (3) 短时傅里叶变换 clear; close all; x = wavread(f:\\a.wav); x = double(x); FrameLen =256; FrameInc =128; s = enframe(x, FrameLen, FrameInc); ss=s(50,:); %选取一帧语音信号(可以通过观察短时能量的分布来判断哪一帧是清音段还是浊音段) f=ss.*hamming(length(ss)); r=fft(f,512); r1=abs(r); r1=r1/max(r1); yuanlai=20*log10(r1); signal(1:256)=yuanlai(1:256); pinlv=(0:1:255)*11025/512; figure; subplot(3,1,1); plot(ss); axis([0

文档评论(0)

chqs52 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档