当前位置:文档之家› 实验1语音信号的时域和频域分析

实验1语音信号的时域和频域分析


短时过零分析
过零就是信号通过零值。 考察连续语音信号其时域波形通过时间轴的情
况。 通过相邻取值改变符号判断是否过零,从而计
算过零数。 单位时间内的过零数称为平均过零数。
对窄带信号,平均过零数计算比较简单。 例:有一频率为f0的正弦信号,以取样频率fs进
行取样,则每个正弦周期内有fs/f0个取样,另外, 每个正弦周期有二次过零,所以平均过零数为
四、实验报告要求
1、简述实验目的和实验原理; 2、matlab程序清单及结果图形; 3、实验结果分析
添加:VOICEBOX工具箱
解压voicebox.zip, 将整个目录voicebox复制到MATLAB的安
装目录的TOOLBOX目录下,如:
c:\program files\MATLAB\r2007b\toolbox\ 将voicebox加到MATLAB的搜索路径中。 >> addpath(genpath(‘c:\program files\
窗口的长度:无论什么形状的窗口,窗口序列的长 度N将起决定性的作用。
N太大,能量随时间变化很小,不能反映语音信号的 幅度变化,波形的变化细节就看不出来;
N太小,滤波器的通带变宽,短时能量随时间有剧烈 变化,不能得到平滑的能量函数。
窗口的选择(长度的确定)又需相对不同的基 音周期来选择。通常情况下,一个语音帧内应 含有1—7个基音周期。然而不同的人其基音周 期变化范围很大,因此窗口宽度(N)的选择 有一个折衷选择为100—200(即10—20ms持续 时间)。
式子中 sgn[x(n)] 是符号函数,
sgn[x(n)] 1,1,xx((nn)) 00
W(n)为窗口序列,其作用于短时平均能量一样。
短时平均过零数的实现
首先对语音信号序列进行成对采样地查对采样 以确定是否发生过零,若发生符号变化,则表 示有一次过零,而后进行一阶差分计算,再求 取绝对值,最后进行低通滤波。
实验一 语音信号的时域和频域分析
一、实验目的
理解和掌握语音信号的数字化和预处理方法。 理解短时能量分析、短时过零分析、短时相关
分析。 语音信号的短时傅立叶分析方法。
二、实验原理
语音信号分析可分为时域、频域、倒谱域等方法。 贯穿于语音分析全过程的是“短时分析技术”。
语音信号特性是随时间而变化的,是一个非平稳 的随机过程。但从另一方面,在一个相对短时间范 围内其特性基本保持不变。对于这种特点是语音信 号处理的一个重要出发点。因此我们可以采用平稳 过程的分析处理方法来处理语音。
绘制该语音信号短时平均能量
%读入声音文件 [x,fs]=wavread('c:\wang.wav');
%常数设置 FrameLen = 240; FrameInc = 80; %计算短时能量 amp = sum(abs(enframe(filter([1 -0.9375], 1, x),
FrameLen, FrameInc)), 2); subplot(1,2,1);plot(x);title('原波形图') subplot(1,2,2);plot(amp);title('短时平均能量图')
x),FrameLen1, FrameInc)), 2); subplot(5,1,2);plot(amp);title('短时平均能量图')
amp = sum(abs(enframe(filter([1 -0.9375], 1, x),FrameLen2, FrameInc)), 2);
subplot(5,1,3);plot(amp);title('短时平均能量图') amp = sum(abs(enframe(filter([1 -0.9375], 1,
x),FrameLen3, FrameInc)), 2); subplot(5,1,4);plot(amp);title('短时平均能量图') amp = sum(abs(enframe(filter([1 -0.9375], 1,
x),FrameLen4, FrameInc)), 2); subplot(5,1,5);plot(amp);title('短时平均能量图')
Z 2 f0 fs
借助平均过零数及取样频率可精确算出频率。
对于语音信号序列是宽带信号,所以不能简单地用上 面的公式计算频率。但是,可借助短时平均过零数来
得到其频谱的粗略估计。
语音信号的短时平均过零数定义为
Zn|sgn[x(m)]sgn[x(m1)]|w(nm)
|sgn[x(m)]sgn[x(m1)]|*w(n)
例:任选一段语音信号,对其进行采样,画出采 样以后的时域波形。
[x1,fs]=wavread('c:\wang.wav'); %读取语音信号
sound(x1,fs);
%播放语音信号
plot(x1)
%做原始语音信号的时域图形
title('原始语音信号');
xlabel('time');
ylabel('windows');
时域分析
时域分析是语音分析中最早使用,应用范围最 广的一种方法。
特点: 1、表示语音信号比较直观。(语音信号本
身就是时域信号) 2、实现简单、运算量小。 3、可以得到语音的一些重要参数。
常用短时分析技术
短时能量 短时平均幅度 短时过零率 短时自相关函数 短时平均幅度差函数 短时频谱 短时功率谱
短时能量分析
能量分析是基于语音信号能量随时间有相当大 的变化,特别是清音段的能量一般比浊音段的 小得多。
短时分析将语音流分为一段一段来处理,每一 段称为一“帧”。
用有限长窗函数进行加权来实现。
En [x(m)w(nm)]2
不同的窗口选择(形状、长度),将决定短时能量 的特性。
窗口的形状:窗口有多种形状,他们都是中心对称 的。
当选择不同长度的窗时的短时能量
[x,fs]=wavread('c:\wang.wav'); FrameLen1 = 51; FrameLen2 = 101; FrameLen3 = 201; FrameLen4 = 401; FrameInc = 80; subplot(5,1,1);plot(x);title('原波形图') amp = sum(abs(enframe(filter([1 -0.9375], 1,
相关主题