当前位置:首页 > 大学本科语音信号处理实验讲义8学时(DOC)
axis([0,620,0,30])
图1-1 三角波及其频谱
2、给出语音段“数字信号处理”(speech.wav),画出它的语谱图。 clear all;
[x,sr]=wavread('speech_dsp.wav'); s=length(x);
w=round(44*sr/1000); n=w;
shift=w/2; h=w-shift;
%win=hanning(n)'; win=hamming(n)'; c=1;
ncols=1+fix((s-n)/h); d=zeros((1+n/2),ncols); for b=0:h:(s-n)
u=win'.*x((b+1):(b+n)); t=fft(u);
d(:,c)=t(1:(1+n/2)); c=c+1; end
tt=[0:h:(s-n)]/sr; ff=[0:(n-2)]*sr/n;
imagesc(tt,ff/1000,20*log10(abs(d))); colormap(gray); axis xy
xlabel('时间/s') ylabel('频率/kHz')
5
图1-2 语谱图
四、思考题
1、声门激励脉冲信号是高频衰减的还是高频增强的?
2、画语谱图时为什么要给语音信号加汉明窗?若加矩形窗会有什么区别? 3、在语谱图上观察,浊音信号的和清音信号的频谱有什么区别?
6
实验二 语音信号时域特征分析
一、实验目的
1、了解自相关函数及自相关函数在语音信号处理中的应用。
2、编写程序分析语音信号的短时自相关特征,计算语音信号的基音周期。 3、编写修正短时自相关函数的程序,并与未修正的函数进行比较。
二、实验原理
自相关函数用于衡量信号自身时间波形的相似性。由前面的讨论可知,清音和浊音的发声机理不同,因而在波形上也存在着较大的差异。浊音的时间波形呈现出一定的周期性,波形之间相似性较好;清音的时间波形呈现出随机噪声的特性,杂乱无章,样点间的相似性较差,这样,可以用短时自相关函数来测定语音的相似特性。
时域离散确定信号的自相关函数定义为:
R(k)?m????x(m)x(m?k)
??对于语音信号来说,采用短时分析方法,可以定义短时自相关函数为
Rn(k)?m????x(m)w(n?m)x(m?k)w(n?k?m)
??因为Rn(?k)?Rn(k),所以
Rn(k)?Rn(?k)?m????[x(m)x(m?k)][w(n?m)w(n?m?k)]
??定义hk(n)?w(n)w(n?k),则上式可以写成
Rn(k)?m????[x(m)x(m?k)]h(n?m)
k?? 如果长基音周期用窄的窗,将得不到预期的基音周期;但是如果短的基音周期用长的
窗,自相关函数将对多个基因周期做平均计算,从而模糊语音的短时特性,这是不希望的。为了解决这个问题,可以采用修正的短时自相关函数,选择的窗长不一定要等于自相关函数的最大自变量取值。这种方法可以采用较窄的窗,同时避免了短时自相关函数随k增加而衰减的不足。
三、实验内容
1、根据给出的浊音信号,分别画出浊音信号的时域波形、加矩形窗和加汉明窗后计算短时自相关归一化后的结果。语音的抽样频率为8kHz,窗长为320。 参考程序:
[x,fs,nbits]=wavread('speech_dsp.wav');
s1=x(2500:2819); N=320;
7
A=[];
for k=1:320 sum=0;
for m=1:N-k+1
sum=sum+s1(m)*s1(m+k-1); end
A(k)=sum end
for k=1:320
A1(k)=A(k)/A(1); end
f=zeros(1,320); n=1,j=1; while j<=320
f(1,j)=s1(n)*[0.54-0.46*cos(2*pi*n/319)]; j=j+1; n=n+1; end
B=[];
for k=1:320 sum=0;
for m=1:N-k+1
sum=sum+s1(m)*s1(m+k-1); end
B(k)=sum end
for k=1:320
B1(k)=B(k)/B(1); end
%画图
s2=s1/max(s1); figure(1)
subplot(3,1,1) plot(s2)
title('一帧语音信号'); xlabel('样点数'); ylabel('幅度'); axis([0,320,-1,1]);
subplot(3,1,2) plot(A1)
8
共分享92篇相关文档