资源描述
声频信号的时频分析
班 级 011304
学号 1301120308
题 目 声频信号的时频分析
学 院 通信工程学院
专 业 通信与信息系统
学生姓名 白小慧
23
摘要
我们生活在一个信息社会里,而信息的载体就是信号。在我们身边以及在我们身上,信号是无处不在的。如我们随时可听到的语音信号,随时可看到的视频图像信号,伴随着我们生命始终的心电信号,脑电信号以及心音、脉搏、血压、呼吸等众多的生理信号。
语言作为人类最重要最自然的交流工具,是人类获得信息的重要来源之一.研究声频信号的特性和工业控制领域的语音识别技术,开发实用的语音识别和控制系统,对于语音识别技术的普及与应用具有十分重要的意义。 本文从声音的产生开始,分析声音的特性进而用傅里叶变换和短时傅里叶变换分析声频信号。
关键词 :语音识别,傅里叶变换,短时傅里叶变换
ABSTRACT
As the most important and natural tool for human's communication, language is one of the most significant sources for human to get information. The research on the characteristics of the audio signals and the speech recognition technology in the field of industrial control and the development of utility system of speech recognition and control are very significant and necessary for the popularization and application of the speech recognition technology.
This paper introduces the generation of sound ,some analyses on the characteristics of speech are given. In addition, the audio signals is analyzed via the Fourier transform and short-time Fourier transform.
Keywords :speech recognition,Fourier transform,short-time Fourier transform
目录
摘要 1
第一章 绪论 4
第二章 基本理论 5
2.1语音信号的产生 5
2.2语音信号的特性 5
2.3傅里叶变换 5
2.3.1傅里叶变换的原理 5
2.3.2傅里叶变换的计算方法 6
2.3.3傅里叶变换的本质 6
第三章 短时傅立叶变换 8
3.1连续信号的短时傅立叶变换 8
3.2短时傅立叶反变换 10
3.3 离散信号的短时傅立叶变换 11
第四章 语音信号的时频分析仿真 13
4.1声音信号的采集 13
4.2 实验结果 13
4.3实验结论 18
附录 20
第一章 绪论
我们生活在一个信息社会里,而信息的载体就是信号。在我们身边以及在我们身上,信号是无处不在的。如我们随时可听到的语音信号,随时可看到的视频图像信号,伴随着我们生命始终的心电信号,脑电信号以及心音、脉搏、血压、呼吸等众多的生理信号。
音频检测是利用现代声学的基础理论和方法所进行的一系列检查和测量的技术应用研究。音频检测技术中同样涉及声音在介质中的相互作用及其产生的特性、特征。声学是音频检测技术的基础,音频检测技术是声学的理论外延及应用手段。音频检测系统及机械、电子、计算机于一身,是声学理论、金属材料检测技术及自动控制技术的综合应用。因此,它具有多功能检测和处理能力以及进一步实现音频检测仪器的智能化。用语音来实现人与计算机之间的交互,主要包括三项技术,语音识别、自然语音理解和语音合成。随着计算机处理能力的迅速提高,语音识别技术得到了飞速发展。与计算机网络技术一样,语音识别技术的广泛应用正在日益改变着人类的生产和生活方式。因此,研究工业控制领域的语音识别技术,开发实用的语音识别和控制系统,对于语音识别技术的,普及与应用具有十分重要的意义。
随着半导体技术特别是数字信号处理器(Digital Signal Processor,DSP)的飞速发展,这就为一维信号和二维图象的实时处理提供了可能。高速器件的发展推动了新的信号处理理论的发展。这些发展给我们的现实生活带来了许多革命性的变化,如语音信箱、自动翻译机、可视电话、会议电视、远程医疗、高清晰度电视、数字相机、移动电话、便携式个人生理参数监护仪(如心电Holter,脑电Holter等)等等。所有这些应用领域都要涉及到信号的滤波、变换、特征提取、编码、量化、压缩等众多环节中的一个或几个。而这些环节都离不开信号的分解。
本文将从声音的时频谱性展开分析,通过傅里叶变换描绘出声音信号的频谱图以及短时傅里叶变换描绘信号的时频图。采集几个声音分别做了它们的傅里叶变换和短时傅里叶变换,观察并比较它们的不同。
第二章 基本理论
2.1语音信号的产生
声音是一种波,他是有物体振动产生的,能被人耳听到,他的振动频率在20到20000赫兹之间。自然界产生各种各样的声音,如雷声,树叶被风吹时发出的“飒飒”声,大海波涛汹涌的翻滚声,机械工作时发出的声音等等。音是一种波,它具有以下几种物理特性:1,音质。它是一种声音区别于其他声音的基本特征。2,音调。就是声音的高低。音调取决于声波的频率,频率快音调就高频率慢音调就低。3,响度。响度是表示声音的强弱,它是由声波震动幅度决定的。4,音长。它表示声音的长短,是由发音持续时间决定的。除了物理特性外,它还具有一个重要的性质,这就是声音总是能够表达一定的意义和思想内容。
2.2语音信号的特性
语音信号从总体上看表征其特性的参数都是随时间变化的,这一点可以从语音信号的时域幅度波形上看出。故语音信号是一个非平稳随机过程,不能用处理平稳随机信号的技术对其进行分析处理。由于语音信号是由人的口腔内一系列肌肉运动构成的发声模型产生的,而口腔肌肉的这种运动相对于语音频率来说是非常缓慢的,故在一个短时范围内(一般认为10到30毫秒),其特性基本保持不变,可将其看作“准稳态随机过程”,这就是语音信号的“短时平稳性”。
2.3傅里叶变换
2.3.1傅里叶变换的原理
正交级数的展开是其理论基础。将一个在时域收敛的函数展开成一系列不同频率谐波的叠加,从而达到解决周期函数问题的目的。在此基础上进行推广,从而可以对一个非周期函数进行时频变换。
从分析的角度看,他是用简单的函数去逼近(或代替)复杂函数,从几何的角度看,它是以一族正交函数为基向量,将函数空间进行正交分解,相应的系数即为坐标。从变幻的角度的看,他建立了周期函数与序列之间的对应关系;而从物理意义上看,他将信号分解为一些列的简谐波的复合,从而建立了频谱理论。
当然Fourier积分建立在傅氏积分基础上,一个函数除了要满足狄氏条件外,一般来说还要在积分域上绝对可积,才有古典意义下的傅氏变换。引入衰减因子e^(-st),从而有了Laplace变换。
2.3.2傅里叶变换的计算方法
连续傅里叶变换将平方可积的函数f(t)表示成复指数函数的积分或级数形式。
这是将频率域的函数F(ω)表示为时间域的函数f(t)的积分形式。连续傅里叶变换的逆变换 (inverse Fourier transform)为
即将时间域的函数f(t)表示为频率域的函数F(ω)的积分。
一般可称函数f(t)为原函数,而称函数F(ω)为傅里叶变换的像函数,原函数和像函数构成一个傅里叶变换对(transform pair)。
2.3.3傅里叶变换的本质
傅里叶变换:。可以看出,傅里叶变换的本质是内积,三角函数是完备的正交函数集,不同频率的三角函数的之间的内积为0,只有频率相等的三角函数做内积时,才不为0。
下面从公式解释下傅里叶变换的意义。
因为傅里叶变换的本质是内积,所以f(t)和求内积的时候,只有f(t)中频率为的分量才会有内积的结果,其余分量的内积为0。可以理解为f(t)在上的投影,积分值是时间从负无穷到正无穷的积分,就是把信号每个时间在的分量叠加起来,可以理解为f(t)在上的投影的叠加,叠加的结果就是频率为的分量,也就形成了频谱。
傅里叶逆变换的公式为:
下面从公式分析下傅里叶逆变换的意义。傅里叶逆变换就是傅里叶变换的逆过程,在和求内积的时候,只有t时刻的分量内积才会有结果,其余时间分量内积结果为0,同样积分值是频率从负无穷到正无穷的积分,就是把信号在每个频率在t时刻上的分量叠加起来,叠加的结果就是f(t)在t时刻的值,这就回到了我们观察信号最初的时域。
对一个信号做傅里叶变换,然后直接做逆变换,这样做是没有意义的,在傅里叶变换和傅里叶逆变换之间有一个滤波的过程。将不要的频率分量给滤除掉,然后再做逆变换,就得到了想要的信号。比如信号中掺杂着噪声信号,可以通过滤波器将噪声信号的频率给去除,再做傅里叶逆变换,就得到了没有噪声的信号。
第三章 短时傅立叶变换
3.1连续信号的短时傅立叶变换
由于在实际工作中所遇到的信号往往是时变的,即信号的频率在随时间变化,而传统的傅立叶变换,由于其基函数是复正弦,缺少时域定位的功能,因此傅立叶变换不适用于时变信号。信号分析和处理的一个重要任务,一方面是要了解信号所包含的频谱信息,另一方面还希望知道不同频率所出现的时间。
Gabor提出了短时傅立叶变换(Short Time Fourier Transform,STFT)的概念,用以测量声音信号的频率定位。
给定一信号,其STFT定义为
(3.1.1) 式中 (3.1.2)
及 ,
并且窗函数应取对称函数。STFT的含义可解释如下:
在时域用窗函数去截(注:将,的时间变量换成),对截下来的局部信号作傅立叶变换,即得在时刻得该段信号得傅立叶变换。不断地移动,也即不断地移动窗函数的中心位置,即可得到不同时刻的傅立叶变换。这些傅立叶变换的集合,即是,如图3.1.1所示。显然,是变量的二维函数。
由于是窗函数,因此它在时域应是有限支撑的,又由于在频域是线谱,所以STFT的基函数在时域和频域都应是有限支撑的。这样,(3.1.1)式内积的结果即可实现对进行时-频定位的功能。当然,我们自然要关心这一变换时域及频域的分辨率。对(3.1.2)式两边作傅立叶变换,有
(3.1.3)
式中是和等效的频率变量。
由于
(3.1.4)
所以 (3.1.5)
该式指出,对在时域加窗,引导出在频域对加窗。
基函数的时间中心(注意,是移位变量),其时宽
(3.1.6)
即的时间中心由决定,但时宽和无关。同理,的频率中心,而带宽
(3.1.7)
也和中心频率无关。
这样,STFT的基函数具有时-频平面上的一个如下的分辨“细胞”:其中心在处,其大小为,不管取何值(即移到何处),该“细胞”的面积始终保持不变。该面积的大小即是STFT的时-频分辨率。
当我们对信号作时-频分析时,一般,对快变的信号,我们希望它有好的时间分辨率以观察其快变部分(如尖脉冲等),即观察的时间宽度要小,受时宽-带宽积的影响,这样,对该信号频域的分辨率必定要下降。由于快变信号对应的是高频信号,因此对这一类信号,我们希望有好的时间分辨率,但同时就要降低高频的分辨率。反之,对慢变信号,由于它对应的是低频信号,所以我们希望在低频处有好的频率分辨率,但不可避免的要降低时域的分辨率。
因此,我们希望所采取的时-频分析算法能自动适应这一要求。显然,由于STFT的不随变化而变化,因而不具备这一自动调节能力。
3.2短时傅立叶反变换
如同傅立叶变换一样,我们总是希望能由变换域重建出原信号,对STFT亦如此。不过。STFT的反变换有着不同的表示形式。
用STFT的一维反变换表示。
对(3.1.1)式两边求反变换,有
令,则
(3.2.1)
用STFT的二维反变换来表示,即
(3.2.2)
3.用大对偶函数来表示:
= (3.2.3)
式中 (3.2.4)
即和是双正交的。
STFT反变换的三种表示式是统一的,尽管(3.2.1)式是一重积分,但算法中假定,这就包含了时间的变化过程,(3.2.2)式和(3.2.3)式由于(3.2.4)式的关系而一致。
STFT也满足Parseval’s定理,即
(3.2.5)
STFT将一个一维的函数映射为二维的函数,那么,由(3.2.2)式,用二维的函数表示一维的函数必然存在着信息的冗余。我们自然可以想象,仅用平面上的一些离散的点即可表示,也即实现对的准确重建。
3.3 离散信号的短时傅立叶变换
当我们要在计算机上实现一个信号的短时傅立叶变换时,该信号必须是离散的,且为有限长。设给定的信号为,对应(3.1.1)式,有
(3.2.6)
式中是在时间轴上窗函数移动的步长,是圆周频率,,为由得到的抽样间隔。该式对应傅立叶变换中的DTFT,即时间是离散的,频率是连续的。为了在计算机上实现,应将频率离散化,令
(3.2.7)
则 (3.2.8)
上式将频域的一个周期分成了M点,显然,上式是一个标准的M点DFT,若窗函的宽度正好也是M点,那么上式可写成
, (3.2.9)
若的宽度小于M,那么可将其补零,使之变成M,若的宽度大于M,则应增大M使之等于窗函数的宽度。总之,(3.2.9)式为一标准DFT,时域、频域的长度都是M点。
式中N的大小决定了窗函数沿时间轴移动的间距,N越小,上面各式中m的取值越多,得到的时-频曲线越密。若,即窗函数在的时间方向上每隔一个点移动一次,这样按(3.2.9)式,共应做个M点DFT。当然,这时前和后个DFT所截的数据不完全,得到的效果不够好。
MATLAB的时-频分析Toolbox中给出了实现(3.2.9)式的程序,即tfrstft。(3.2.9)式的反变换是
(3.3.0)
式中m的求和范围取决于数据的长度L及窗函数移动的步长N。
第四章 语音信号的时频分析仿真
前两章已经给出了分析声频信号的基本方法和理论,本章将用matlab来对声音信号进行时频分析。
4.1声音信号的采集
利用windows下的录音机,录制元音a ,o, u的发音。其中,采样频率为8kHZ,采样时间为2-4秒。
4.2 实验结果
以下是对声音信号的频谱分析结果:
图4-1(这是原音a的时域图)
图4-2(这是原音o的时域图)
图4-3(这是原音u的时域图)
从图中可以看出特定的时刻声音的大小,而不能得到声频信号的频域的任何信息。存在两个声音的时域图很相似但信号却差别特别大。因此,用它来进行声频信号的分类以及特征的提取是不可靠的。
以下是对音频信号的傅里叶变换结果仿真:
图4-4(这是原音a的频谱图)
图4-5(这是原音o的频谙图)
图4-6(这是原音u的频谱图)
从信号的频谱图可以看到音频信号所包含的各个频率分量,但美中不足的是它不能得到在具体时刻所出现的频率,因此,用它来进行声频信号的分析和特征的提取也是不可靠的。
以下是对音频信号短时傅里叶变换的仿真:
图4-7(这是原音a的时频图)
图4-8(这是原音o的时频图)
图4-9(这是原音u的时频图)
信号经过短时傅里叶变换得到的时频图。从图中可以看出不同时刻同一频率的分量大小,以及同一频率在不同时刻的大小。用短时傅里叶变换可以更细致的都对信号进行分类.
4.3实验结论
图4-1,4-2,4-3是原始信号,它反映了信号的幅值与时间的关系。从中可以看出信号在各个时刻所对应的能量大小,虽然大部分不同的信号所得到的图形不同,但它不能反映信号的频谱特性。因而用它来区分不同的信号是有局限的。
图4-4,4-5,4-6是信号经傅里叶变换得到的频谱图,其中4-4的中心频率在1000赫兹附近图4-5与4-6在零频附近,但是两者在高频的频率分布比例是不同的。所以由此可见,用频谱分析声频信号时有可能两个信号的频率分量相同但是出现的时间不同,这样就不能分辨出它们究竟是不是同一信号。这是因为傅里叶变换不能反映出时间这一参量。
图4-7,4-8,4-9是信号经过短时傅里叶变换得到的时频图。从图中可以看出不同时刻同一频率的分量大小,以及同一频率在不同时刻的大小。克服了傅里叶变换的缺点。即使两个信号的频谱分量相同以及比重相同但各分量出现的时间不同,短时傅里叶变换也能区分它们的不同。所以用短时傅里叶变换可以更细致的对信号进行分类,从而用来进行语音识别及特殊声音的检测更加准确。
附录
利用Matlab语言编写的数字图像处理的例程如下:
傅立叶变换Matlab图像的DFT
clc;
figure(1);
load imdemos saturn2;
imshow(saturn2);
title('原图像');
figure(2);
S=fftshift(fft2(saturn2));
figure(2);
S=fftshift(fft2(saturn2));
imshow(log(abs(S)),[]);
title('原图像傅立叶频谱');
彩色图像的傅立叶频谱
figure(1);
A=imread('greens.jpg');
B=rgb2gray(A);
imshow(B);
title('原图像');
S=fftshift(fft2(B));
figure(2);
imshow(log(abs(S)),[]);
title('彩色图像的傅立叶频谱');
二维DCT变换
RGB=imread('football.jpg');
figure(1);
imshow(RGB);
title('彩色图像');
GRAY=rgb2gray(RGB);
figure(2);
imshow(GRAY);
title('灰色图像');
DCT=dct2(GRAY);
figure(3);
imshow(log(abs(DCT)),[]);
title('二维DCT变换');
以下是用matlab对一组信号进行短时傅里叶变换的源程序及其实验结果。
clear all;
clc;
x=wavread('C:\Users\Administrator\Desktop\Global.wav');
figure(1)
plot(x);
%1.对信号进行傅里叶变换
y=fft(x,1024);
figure(2)
plot(y);
N=length(x); t=0:N-1; %短时傅里叶变换
Nw=20; %窗函数长 window length
L=Nw/2; %窗函数每次移动的样点数
Ts=round((N-Nw)/L)+1; %计算把数据x共分成多少段
nfft=128; %FFT的长度
TF=zeros(Ts,nfft); %将存放三维图谱,先清零
for i=1:Ts
xw=x((i-1)*L+1:i*L+L); %取一段数据
temp=fft(xw,nfft); %FFT变换
temp=fftshift(temp); %频谱以0频为中心
TF(i,:)=temp; %把谱图存放在TF中
end
subplot(222);
mesh(abs(TF)); %三维绘图
title('STFT');
xlabel('时间');
ylabel('频率');
%画等高图
subplot(223);
contour(abs(TF));
%plot(abs(TF));
title('等高图');
xlabel('时间');
ylabel('频率');
axis equal tight %纵、横坐标轴采用等长刻度
%axis([0 55 0 0.71]);
grid;
展开阅读全文