收藏 分享(赏)

数字语音处理B第二次实验.doc

上传人:HR专家 文档编号:11463496 上传时间:2020-05-08 格式:DOC 页数:19 大小:476.61KB
下载 相关 举报
数字语音处理B第二次实验.doc_第1页
第1页 / 共19页
数字语音处理B第二次实验.doc_第2页
第2页 / 共19页
数字语音处理B第二次实验.doc_第3页
第3页 / 共19页
数字语音处理B第二次实验.doc_第4页
第4页 / 共19页
数字语音处理B第二次实验.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、数字语音处理B2016 2017学年第2学期 电信1405 龙为花第二次实验一、实验目的1. 掌握短时傅里叶变换的定义,并理解其两种解释2. 理解窗函数对短时傅里叶谱的影响,并能根据需要选择适当的窗函数3. 理解同态信号处理的原理4. 掌握倒谱的定义及计算方法5. 对以上各项能用Matlab代码实现, 并能画出相应谱图 二、实验内容1 画出ah第20帧单帧语音时域图,窗长20ms, 帧移10ms, 同时加矩形窗和hamming窗分帧函数:function frameSet, timeAxis,frameCount = enframe(data, fs, timeperFrame, overla

2、pRate, 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;endframeCount=fix(ndata-overlap)/inc); %计算帧数frame

3、Set=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);endtimeAxis=(

4、1:frameCount)-1)*inc+frameLength/2)/fs;% 求出每帧对应的时间主函数:clcclear allclose 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 龙为花 0

5、121409341029)图1:语音ah 第20帧时域波形图与加hammming窗 10k采样2 语音单帧频谱图clcclear allclose 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

6、);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,矩形窗和hamming窗,10k采样3 语音频域功率谱图clcclear allclose all%-load ah;fs=100

7、00;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(u1,N).2);f = (0: 511)*fs/1024;figure(1);plot(f,y1(1:512),b,LineWidth,1.5);%做原始语音信号的频谱hold on;plot(f,y2(1:512),r,LineWidth,1.5);%

8、做原始语音信号的功率谱 xlabel(Hz); ylabel(db);suptitle(电信 1405 龙为花 0121409341029) legend(汉明窗的频谱,汉明窗功率谱);z1=20*log10(fft(u2,N);z2=20*log10(fft(u2,N).2);figure(2);plot(f,z1(1:512),b,LineWidth,1);%做原始语音信号的频谱hold on;plot(f,z2(1:512),r,LineWidth,1);%做原始语音信号的功率谱 xlabel(Hz); ylabel(db);suptitle(电信 1405 龙为花 0121409341

9、029) legend(矩形窗的频谱,矩形窗功率谱);图3:Ah 第20帧时域波形图,10k采样, 帧长20ms, hamming窗图4:Ah 第20帧时域波形图,10k采样, 帧长20ms, 矩形窗4 语谱图(1)clc clear close all x,fs=audioread(E:1.wav); m1=42230; m2=138000; x=x(m1:m2); win=0.01;inc=win/2; winlen=win.*fs; inclen=inc.*fs; amp1 = enframe(filter(1 -0.9375, 1, x),hamming(winlen), inclen

10、); n=fix(length(x)-winlen+inclen)/inclen); w=winlen/2+1; n2=1:w; freq=(n2-1)*fs/winlen; Y=fft(amp1); Yn=Y(n2,:);clf; frameTime=(1:n)*inclen; imagesc(frameTime,freq,20*log10(abs(Yn)+eps); axis xy; xlabel(时间 /s);ylabel(频率 /Hz); colormap(jet); suptitle(电信 1405 龙为花 0121409341029)图5:语音WHUT语谱图,10k采样(2)clc

11、 clear close all x,fs=audioread(E:1.wav); m1=42230; m2=138000; x=x(m1:m2); win=0.04;inc=win/2; winlen=win.*fs; inclen=inc.*fs; amp1 = enframe(filter(1 -0.9375, 1, x),hamming(winlen), inclen); n=fix(length(x)-winlen+inclen)/inclen); w=winlen/2+1; n2=1:w; freq=(n2-1)*fs/winlen; Y=fft(amp1); Yn=Y(n2,:)

12、;clf; frameTime=(1:n)*inclen; imagesc(frameTime,freq,20*log10(abs(Yn)+eps); axis xy; xlabel(时间 /s);ylabel(频率 /Hz); colormap(jet); suptitle(电信 1405 龙为花 0121409341029)图64.2(1)clc clear close all load(should.mat); fs=10000; win=0.01;inc=win/2; winlen=win.*fs; inclen=inc.*fs; amp1 = enframe(filter(1 -0.

13、9375, 1, data),hamming(winlen), inclen); n=fix(length(data)-winlen+inclen)/inclen); w=winlen/2+1; n2=1:w; freq=(n2-1)*fs/winlen; Y=fft(amp1); Yn=Y(n2,:);clf; frameTime=(1:n)*inclen; imagesc(frameTime,freq,20*log10(abs(Yn)+eps); axis xy; xlabel(时间 /s);ylabel(频率 /Hz); colormap(jet); suptitle(电信 1405 龙

14、为花 0121409341029)图7(2)clc clear close all load(should.mat); fs=10000; win=0.04;inc=win/2; winlen=win.*fs; inclen=inc.*fs; amp1 = enframe(filter(1 -0.9375, 1, data),hamming(winlen),inclen); n=fix(length(data)-winlen+inclen)/inclen); w=winlen/2+1; n2=1:w; freq=(n2-1)*fs/winlen; Y=fft(amp1); Yn=Y(n2,:)

15、;clf; frameTime=(1:n)*inclen; imagesc(frameTime,freq,20*log10(abs(Yn)+eps); axis xy; xlabel(时间 /s);ylabel(频率 /Hz); colormap(jet); suptitle(电信 1405 龙为花 0121409341029)图85 语音倒谱图clcclear allclose all%-load ah;fs=10000;x2=enframe(data, fs, 40, 0.5, boxcar);x1=enframe(data, fs, 40, 0.5, hamming);u1=x1(:,1

16、5); % 取得一帧数据u2=x2(:,15);y1=rceps(u1);y2=rceps(u2);figure(1);xlabel(Hz); ylabel(幅度);plot(y1,r);%做原始语音信号的FFT频谱hold on;plot(u1);legend(汉明窗的倒谱,汉明窗的时域);figure(2);plot(y2,b); hold on;plot(u2);suptitle(电信 1405 龙为花 0121409341029) xlabel(Hz); ylabel(幅度);suptitle(电信 1405 龙为花 0121409341029) legend(矩形窗的倒谱,矩形窗的时域);图9:语音ah第15帧单帧语音倒谱图,hamming窗图10:语音ah第15帧单帧语音倒谱图,矩形窗

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报