好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

语音信号的短时时域分析.pdf

20页
  • 卖家[上传人]:wt****50
  • 文档编号:37863130
  • 上传时间:2018-04-23
  • 文档格式:PDF
  • 文档大小:792.32KB
  • / 20 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1实验实验 2 语音信号的短时时域分析语音信号的短时时域分析 一、实验目的一、实验目的 语音信号是一种非平稳的时变信号,它携带着各种信息在语音编码、语音合成、语音识别和语音增强等语音处理中都需要提取语音中包含的各种信息 语音处理的目的是对语音信号进行分析,提取特征参数,用于后续处理;加工语音信号总之,语音信号分析的目的就在于方便有效的提取并表示语音信号所携带的信息 根据所分析的参数类型,语音信号分析可以分成时域分析和变换域(频域、倒谱域)分析其中时域分析方法是最简单、最直观的方法,它直接对语音信号的时域波形进行分析,提取的特征参数主要有语音的短时能量和平均幅度、 短时平均过零率、 短时自相关函数和短时平均幅度差函数等 二、实验要求二、实验要求 本实验要求掌握语音信号的短时时域分析方法, 会利用已学的知识, 编写程序计算语音的短时能量和平均幅度、短时平均过零率、短时自相关函数和短时平均幅度差函数等 三、实验设备三、实验设备 PC 微机一台 四、实验原理四、实验原理 1 语音信号的预处理语音信号的预处理 在对语音信号进行数字处理之前,首先要将模拟语音信号 s(t) 离散化为 s(n). 实际中获得数字语音的途径一般有两种, 正式的和非正式的。

      正式的是指大公司或语音研究机构发布的被大家认可的语音数据库, 非正式的则是研究者个人用录音软件或硬件电路加麦克风随时随地录制的一些发音或语句语音信号的频率范围通常是 300~3400Hz,一般情况下取采样2率为 8kHz 即可本实验的数字语音处理对象为语音数据文件,是已经数字化了的语音有了语音数据文件后,对语音的预处理包括:预加重、加窗分帧等 1.1 语音信号的预加重处理语音信号的预加重处理 预加重目的:为了对语音的高频部分进行加重,去除口唇辐射的影响,增加语音的高频分辨率可通过一阶 FIR 高通数字滤波器来实现: 1( )1H zz 设 n 时刻的语音采样值为 x(n) ,经过预加重处理后的结果为: ( )( )(1)y nx nx n高通滤波器的幅频特性和相频特性如下: 图 1 预加重前和预加重后的一段语音信号时域波形: 3图 2 预加重前和预加重后的一段语音信号频谱: 图 3 例一:语音信号预加重例一:语音信号预加重 clear all; fid=fopen('voice2.txt','rt') %打开文件 e=fscanf(fid,'%f'); %读数据 ee=e(200:455); %选取原始文件 e 的第 200 到 455 点的语音,也可选其他样点 r=fft(ee,1024); %对信号 ee 进行 1024 点傅立叶变换 4r1=abs(r); %对 r 取绝对值 r1 表示频谱的幅度值 pinlv=(0:1:255)*8000/512 %点和频率的对应关系 yuanlai=20*log10(r1) %对幅值取对数 signal(1:256)=yuanlai(1:256);%取 256 个点,目的是画图的时候,维数一致 [h1,f1]=freqz([1,-0.98],[1],256,4000);%高通滤波器 pha=angle(h1); %高通滤波器的相位 H1=abs(h1); %高通滤波器的幅值 r2(1:256)=r(1:256) u=r2.*h1' % 将信号频域与高通滤波器频域相乘 相当于在时域的卷积 u2=abs(u) %取幅度绝对值 u3=20*log10(u2) %对幅值取对数 un=filter([1,-0.98],[1],ee) %un 为经过高频提升后的时域信号 figure(1);subplot(211); plot(f1,H1);title('高通滤波器的幅频响应'); xlabel('频率/Hz'); ylabel('幅度'); subplot(212);plot(pha);title('高通滤波器的相位响应'); xlabel('频率/Hz'); ylabel('角度/radians'); figure(2);subplot(211);plot(ee);title('原始语音信号'); xlabel('样点数'); ylabel('幅度'); axis([0 256 -3*10^4 2*10^4]); subplot(212);plot(real(un)); title('经高通滤波后的语音信号'); xlabel('样点数'); ylabel('幅度'); axis([0 256 -1*10^4 1*10^4]); figure(3);subplot(211);plot(pinlv,signal);title('原始语音信号频谱 '); xlabel('频率/Hz'); ylabel('幅度/dB'); subplot(212);plot(pinlv,u3);title('经高通滤波后的语音信号频谱'); xlabel('频率/Hz'); ylabel('幅度/dB'); 1.2 语音信号的加窗处理语音信号的加窗处理 由于发音器官的惯性运动,可以认为在一小段时间里(一般为 10ms~30ms)语音信号近似不变, 即语音信号具有短时平稳性。

      这样, 可以把语音信号分为一些短段 (称为分析帧)来进行处理 语音信号的分帧实现方法采用可移动的有限长度窗口进行加权的方法来实现的 一般每5秒的帧数约为 33~100 帧 分帧一般采用交叠分段的方法, 这是为了使帧与帧之间平滑过渡,保持其连续性前一帧和后一帧的交叠部分称为帧移,帧移与帧长的比值一般取为 0~1/2下图给出了帧移与帧长示意图: 图 4 加窗常用的两种方法——矩形窗与汉明(Hamming)窗矩形窗的时域表达式分别如下:矩形窗表达式、时域图形及其频谱如下: 1 01( )0 nNw n 其它图 5 汉明(Hamming)窗表达式、时域图形及其频谱如下: 0.540.46 cos 2π /1 0( ) 0 nNnNw n 其它,6图 6 加窗方法示意图: 图 7 窗长一般选取 100~200原因如下:当窗较宽时,平滑作用大,能量变化不大,故反映不出能量的变化当窗较窄时,没有平滑作用,反映了能量的快变细节,而看不出包络的变化。

      语音信号的分帧处理,实际上就是对各帧进行某种变换或运算设这种变换或运算用T[ ]表示,x(n)为输入语音信号,w(n)为窗序列,h(n)是与 w(n)有关的滤波器,则各帧经处理后的输出可以表示为: [ ( )] ()n mQT x m h nm例二:矩形窗 x=linspace(0,100,10001); %在 0~100 的横坐标间取 10001 个值 h=zeros(10001,1); %为矩阵 h 赋 0 值 h(1:2001)=0; %前 2000 个值取为 0 值 h(2002:8003)=1; %窗长 ,窗内值取为 1 h(8004:10001)=0; %后 2000 个值取为 0 值 figure(1); %定义图号 subplot(1,2,1) %画第一个子图 plot(x,h,'k'); %画波形,横坐标为 x,纵坐标为 h,k 表示7黑色 title('矩形窗时域波形'); %图标题 xlabel('样点数'); %横坐标名称 ylabel('幅度'); %纵坐标名称 axis([0,100,-0.5,1.5]) %限定横、纵坐标范围 line([0,100],[0,0]) %画出 x 轴 w1=linspace(0,61,61); %取窗长内的 61 个点 w1(1:61)=1; %赋值 1,相当于矩形窗 w2=fft(w1,1024); %对时域信号进行 1024 点的傅立叶变换 w3=w2/w2(1) %幅度归一化 w4=20*log10(abs(w3)); %对归一化幅度取对数 w=2*[0:1023]/1024; %频率归一化 subplot(1,2,2); %画第二个子图 plot(w,w4,'k') %画幅度特性图 axis([0,1,-100,0]) %限定横、纵坐标范围 title('矩形窗幅度特性'); %图标题 xlabel('归一化频率 f/fs'); %横坐标名称 ylabel('幅度/dB'); %纵坐标名称 例三:例三:Hanming 窗窗 x=linspace(20,80,61); %在20~80的横坐标间取61个值作为横坐标 h=hamming(61); %取61个点的哈明窗值为纵坐标值 figure(1); %画图 subplot(1,2,1); %第一个子图 plot(x,h,'k'); %横坐标为x,纵坐标为h,k表示黑色 title('Hamming窗时域波形'); %图标题 xlabel('样点数'); %横坐标名称 ylabel('幅度'); %纵坐标名称 w1=linspace(0,61,61); %取窗长内的61个点 w1(1:61)=hamming(61); %加哈明窗 w2=fft(w1,1024); %对时域信号进行1024点傅立叶变换 w3=w2/w2(1); %幅度归一化 w4=20*log10(abs(w3)) %对归一化幅度取对数 w=2*[0:1023]/1024; %频率归一化 subplot(1,2,2) %画第二个子图 plot(w,w4,'k') %画幅度特性图 axis([0,1,-100,0]) %限定横、纵坐标范围 title('Hamming窗幅度特性'); %图标题 xlabel('归一化频率 f/fs'); %横坐标名称 y。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.