数字语音处理b第二次实验.docx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字语音处理 B 2016 –2017 学年第 2 学期 电信 1405 龙为花 第二次实验 一、实验目的 掌握短时傅里叶变换的定义,并理解其两种解释 理解窗函数对短时傅里叶谱的影响,并能根据需要选择适当的窗函数 理解同态信号处理的原理 掌握倒谱的定义及计算方法 对以上各项能用 Matlab 代码实现 , 并能画出相应谱图 二、实验内容 1. 画出 ah 第  20 帧单帧语音时域图,窗长  20ms,  帧移  10ms,  同时加矩形窗 和 hamming窗 分帧函数: function [frameSet, timeAxis,frameCount] = enframe(data, fs, timeperFrame, overlapRate, winF) winfunc = str2func(winF); ndata=length(data(:)); frameLength=fs*timeperFrame*0.001; nframeLength=length(winfunc(frameLength)); %取窗长 overlap=frameLength*overlapRate; inc=frameLength-overlap; if (nframeLength==1) len=frameLength; else len=nframeLength; end frameCount=fix((ndata-overlap)/inc); %计算帧数 frameSet=zeros(len,frameCount); startIndexf =(0:(frameCount-1))*inc; %每帧在数据 data  中开始的位置 startIndexs=(1:len); startIndexsT=startIndexs(:); frameSet(:)=data(startIndexsT(:,ones(frameCount,1))+startIndexf(ones( 1,len),:)); w=winfunc(frameLength); if (nframeLength1) frameSet=frameSet.*w(:,ones(frameCount,1)); end timeAxis=(((1:frameCount)-1)*inc+frameLength/2)/fs; % 求出每帧对应的时间 主函数: clc clear all close all %---------------------------------------- load ah ; x1=enframe(data, fs, 20, 0.5, boxcar ); x2=enframe(data, fs, 20, 0.5, hamming ); plot(x1(:,20), g , LineWidth ,2); hold on ; plot(x2(:,20), b , LineWidth ,2); legend( 矩形窗信号 , 汉明窗信号 ); xlabel( 时间(采样点数) ); ylabel( 幅度 ); suptitle( 电信 1405 龙为花 0121409341029 ) 1:语音 ah 第 20 帧时域波形图与加 hammming窗 10k 采样 2. 语音单帧频谱图 clc clear all close all %---------------------------------------- load ah ; fs=10000; x2=enframe(data, fs, 20, 0.5, boxcar ); x1=enframe(data, fs, 20, 0.5, hamming ); u1=x1(:,20); % 取得一帧数据 u2=x2(:,20); N=1024; t=(0:N-1)/fs; y1=20*log10(fft(u1,N)); y2=20*log10(fft(u2,N)); f = (0: 511)*fs/1024; figure(1); xlabel( Hz ); ylabel( db ); plot(f,y1(1:512), r , LineWidth ,1); %做原始语音信号的 FFT 频谱 legend( 汉明窗的频谱 ); figure(2); plot(f,y2(1:512), b , LineWidth ,1); xlabel( Hz ); ylabel( db ); legend( 矩形窗的频谱 ); suptitle( 电信 1405 龙为花 0121409341029) 图 2:ah 第 20 帧单帧语音频谱图,窗长 20ms, 帧移 10ms,矩

文档评论(0)

bcll + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档