钱平(信号与信息处理 s101904010)
一、频域特征实验原理
1、短时傅立叶变换
由于语音信号是短时平稳的随机信号,某一语音信号帧的短时傅立叶变换的定义为:
Xnejjmxmwnmejm
其中w(n-m)是实窗口函数序列,n表示某一语音信号帧。令n-m=k',则得到
X于是可以得到
nejkwkxnke,,jnk
Xenejjmkwkxnkejk
假定
X则可以得到
nejkwkxnkejk
XneejnXne
j同样,不同的窗口函数,将得到不同的傅立叶变换式的结果。由上式可见,短时傅立叶变换有两个变量:n和ω,所以它既是时序n的离散函数,又是角频率ω的连续函数。与离散傅立叶变换逼近傅立叶变换一样,如令ω=2πk/N,则得离散的短时傅立叶吧如下:
X2、语谱图
nej2nk/NXkxmwnmenmj2m/N,0kN1
水平方向是时间轴,垂直方向是频率轴,图上的灰度条纹代表各个时刻的语音短时谱。语谱图反映了语音信号的动态频率特性,在语音分析中具有重要的实用价值。被成为可视语言。
语谱图的时间分辨率和频率分辨率是由窗函数的特性决定的。时间分辨率高,可以看出时间波形的每个周期及共振峰随时间的变化,但频率分辨率低,不足以分辨由于激励所形成的细微结构,称为宽带语谱图;而窄带语谱图正好与之相反。
宽带语谱图可以获得较高的时间分辨率,反映频谱的快速时变过程;窄带语谱图可以获
得较高的频率分辨率,反映频谱的精细结构。两者相结合,可以提供带两与语音特性相关的信息。语谱图上因其不同的灰度,形成不同的纹路,称之为“声纹”。声纹因人而异,因此可以在司法、安全等场合得到应用。 3、复倒谱和倒谱
复倒谱x(n)是
^x(n)的Z变换取对数后的逆Z变换,其表达式如下:
^
倒谱c(n)定义为x(n)取Z变换后的幅度对数的逆Z变换,即
c(n)z[ln|X(z)|]
1xZ[lnZ[x(n)]]1在时域上,语音产生模型实际上是一个激励信号与声道冲激响应的卷积。对于浊音,激励信号可以由周期脉冲序列表示;对于清音,激励信号可以由随机噪声序列表示。声道系统相当于参数缓慢变化的零极点线性滤波器。这样经过同态处理后,语音信号的复倒谱,激励信号的复倒谱,声道系统的复倒谱之间满足下面的关系:
^^^s(n)e(n)v(n)
由于倒谱对应于复倒谱的偶部,因此倒谱与复倒谱具有同样的特点,很容易知道语音信号的倒谱,激励信号的倒谱以及声道系统的倒谱之间满足下面关系:
cs(n)ce(n)cv(n)
浊音信号的倒谱中存在着峰值,它的出现位置等于该语音段的基音周期,而清音的倒谱中则不存在峰值。利用这个特点我们可以进行清浊音的判断,并且可以估计浊音的基音周期。
二、频域特征实验结果
下面是录取一段“语音信号处理”然后对它进行频域分析处理 1 短时谱
original signal0.40.20-0.2-0.400.511.5短时谱0-50-100-150-20002004006008001000120022.533.5x 104
图1 “语音信号处理”的短时谱 2 语谱图
语谱图100008000频率(Hz)600040002000000.5时间(s)11.5
图2“语音信号处理”的短时谱
3 倒谱和复倒谱
图3、4是加矩形窗和汉明窗的倒谱图和复倒谱图,图中横轴的单位是Hz,纵轴的单位是dB。
加矩形窗时的倒谱10-1-2-3-4050100150200250300加矩形窗时的复倒谱420-2-4050100150200250300
图3 加矩形窗时倒谱和复倒谱图
加汉明窗时的倒谱20-2-4-6050100150200250300加汉明窗时的复倒谱1050-5-10050100150200250300
图4 加汉明窗时倒谱和复倒谱图
五、频域分析参考程序
1)短时谱
clear
a=wavread('beifeng.wav'); subplot(2,1,1),
plot(a);title('original signal'); grid N=1024; h=hamming(N); for m=1:N b(m)=a(m)*h(m)
end
y=20*log(abs(fft(b))) subplot(2,1,2) plot(y);title('短时谱'); grid
2)语谱图
[x,fs,nbits]=wavread('beifeng.wav')
specgram(x,512,fs,100); xlabel('时间(s)'); ylabel('频率(Hz)'); title('语谱图');
3)倒谱和复倒谱
(1)加矩形窗时的倒谱和复倒谱
clear
a=wavread('beifeng.wav',[4000,4350]); N=300; h=linspace(1,1,N); for m=1:N b(m)=a(m)*h(m); end c=cceps(b); c=fftshift(c); d=rceps(b); d=fftshift(d); subplot(2,1,1)
plot(d);title('加矩形窗时的倒谱') subplot(2,1,2)
plot(c);title('加矩形窗时的复倒谱')
(2)加汉明窗时的倒谱和复倒谱
clear
a=wavread('beifeng.wav',[4000,4350]); N=300; h=hamming(N); for m=1:N b(m)=a(m)*h(m);
end c=cceps(b); c=fftshift(c); d=rceps(b); d=fftshift(d); subplot(2,1,1)
plot(d);title('加汉明窗时的倒谱') subplot(2,1,2)
plot(c);title('加汉明窗时的复倒谱')
因篇幅问题不能全部显示,请点此查看更多更全内容