语音信号处理实验报告实验一

时间:2024.4.21

通信工程学院12级1班 罗恒  2012101032

实验一 语音信号的低通滤波和短时分析综合实验

一、     实验要求

1、根据已有语音信号,设计一个低通滤波器,带宽为采样频率的四分之一,求输出信号;

2、辨别原始语音信号与滤波器输出信号有何区别,说明原因;

3、改变滤波器带宽,重复滤波实验,辨别语音信号的变化,说明原因;

4、利用矩形窗和汉明窗对语音信号进行短时傅立叶分析,绘制语谱图并估计基音周期,分析两种窗函数对基音估计的影响;

5、改变窗口长度,重复上一步,说明窗口长度对基音估计的影响。

二、 实验目的

1.在理论学习的基础上,进一步地理解和掌握语音信号低通滤波的意义,低通滤波分析的基本方法。 

2.进一步理解和掌握语音信号不同的窗函数傅里叶变化对基音估计的影响。

三、 实验设备

1.PC机; 

2.MATLAB软件环境;

四、 实验内容

1.上机前用Matlab语言完成程序编写工作。 

2.程序应具有加窗(分帧)、绘制曲线等功能。 

3.上机实验时先调试程序,通过后进行信号处理。

4.对录入的语音数据进行处理,并显示运行结果。

5. 改变滤波带宽,辨别与原始信号的区别。

6.依据曲线对该语音段进行所需要的分析,并且作出结论。 

7.改变窗的宽度(帧长),重复上面的分析内容。

五、 实验原理及方法

利用双线性变换设计IIR滤波器(巴特沃斯数字低通滤波器的设计),首先要设计出满足指标要求的模拟滤波器的传递函数Ha(s),然后由Ha(s)通过双线性变换可得所要设计的IIR滤波器的系统函数H(z)。如果给定的指标为数字滤波器的指标,则首先要转换成模拟滤波器的技术指标,这里主要是边界频率Wp和Ws的转换,对ap和as指标不作变化。边界频率的转换关系为 ∩=2/T tan(w/2)。接着,按照模拟低通滤波器的技术指标根据相应设计公式求出滤波器的阶数N和3dB截止频率 ∩c ;根据阶数N查巴特沃斯归一化低通滤波器参数表,得到归一化传输函数Ha(p);最后,将p=s/ ∩c 代入Ha(p)去归一,得到实际的模拟滤波器传输函数Ha(s)。之后,通过双线性变换法转换公式s=2/T((1-1/z)/(1+1/z))得到所要设计的IIR滤波器的系统函数H(z)。

一定时宽的语音信号,其能量的大小随时间有明显的变化。其中清音段(以清音为主要成份的语音段),其能量比浊音段小得多。短时过零数也可用于语音信号分析中,发浊音时,其语音能量约集中于3kHz以下,而发清音时,多数能量出现在较高频率上,可认为浊音时具有较低的平均过零数,而清音时具有较高的平均过零数,因而,对一短时语音段计算其短时平均能量及短时平均过零数,就可以较好地区分其中的清音段和浊音段,从而可判别句中清、浊音转变时刻,声母韵母的分界以及无声与有声的分界。这在语音识别中有重要意义。

六、 程序及结果

%起始清空

close all;

clear all;                                   

clc     

duration = 5;      %录音时间

%语音录入段

fprintf('Press any key to start %g seconds of recording... \n',duration);

pause;

fprintf('Recording...\n');

mysound=wavrecord(duration*8000,8000,1);

fprintf('Finished recording.\n');

%语音存储段

wavwrite(mysound,8000,'C:\Users\ML\Desktop\语音信号');       

%语音读取及显示分析图表

fprintf('Press any key to play the recording and show the analyzing pictures... \n');

pause;

mysoundinPC=wavread('C:\Users\ML\Desktop\语音信号');         

%---信号处理、分析并出图  

subplot(2,1,1);

mysoundinPC=mysound(:,1);        

mysoundinPC1=mysoundinPC(1:16000);                    

siglength1=length(mysoundinPC1);   

t1=(0:siglength1-1)/8000;

plot(t1,mysoundinPC1);

xlabel('Time(s)');

title('截取信号序列');

%声音播放段

wavplay(mysoundinPC,8000);


%读取WAV音频文件“beifeng.wav”

aa=wavread('C:\Users\ML\Desktop\语音信号'); 

[B1 A1] = LowPassF(200,300);

aa1 = filter(B1,A1,aa);    %对信号aa进行滤波                                  

wavplay(aa1,8000);   %声音播放

subplot(2,1,2);

ma1=aa1(1:16000);                    

siglength1=length(ma1);   

t1=(0:siglength1-1)/8000;

plot(t1,ma1);

xlabel('Time(s)');


title('滤波后截取信号序列');

%%

%短时傅里叶变换

aa=wavread('C:\Users\ML\Desktop\语音信号'); 

aa1=aa(1:16000);

e=fra(256,128,aa1);

ee=e(10,:);

%%

subplot(311)

ee1=ee/max(ee);

plot(ee1);xlabel('样点数');ylabel('幅度');title('原始语音第十帧');

axis([1,256,-1,1]);

%%

% 矩形窗傅里叶变换

N=256;  pinLv=(0:255)*(8000/2)/256;

b1=fft(ee,N);

y1=20*log(abs(b1));     % 短时傅里叶变换

subplot(312);

plot(pinLv,y1);title('加矩形窗短时谱分析');

xlabel('频率/Hz');ylabel('对数幅度');

%%

%汉明窗傅里叶变换

b2=ee'.*hamming(length(ee));

b2=fft(b2,N);

y2=20*log(abs(b2));     % 短时傅里叶变换

subplot(313);

plot(pinLv,y2);title('加汉明窗的短时谱分析');


xlabel('频率/Hz');ylabel('对数幅度');

五、 结果分析及心得体会

信号的频谱分析就是计算机信号的傅里叶变换。连续信号与系统的傅里叶分析显然不便于用计算机进行计算,使其应用受到限制。而FFT是一种时域和频域均离散化的变换,适合数值运算,成为用计算机分析离散信号和系统的有力工具。对连续信号和系统,可以通过时域采样,应用DFT进行近似谱分析。

实验中利用双线性变换法设计IIR数字滤波器,利用窗函数设计FIR数字滤波器,可以是低通、高通和带通滤波器的设计,此次试验中选用的是低通滤波器,而低通滤波器是基于Butterworth滤波器来设计的,通过设计的滤波器对语音信号进行滤波,再对得出的频谱图进行分析。在实验中遇到一些困难,在设计数字滤波器的时候,通带频率和阻带频率的选取要满足低通的要求,以及通带允许的最大衰减和阻带应达到的最小衰减。在这次的综合实验中,总的来说并不是很辛苦,实验将上课所学的理论知识运用到实践中。通过这次应用Matlab对语音信号进行频谱分析及滤波的综合实验,让我对Matlab的应用以及数字滤波器的设计有了更深层次的理解,每个程序中的语句表示什么意思也有了很清楚的了解。在实践中增强了我的动手能力,以及增强了我的团队意识,并提高了我的综合能力,使自身得到了很大的锻炼。最后要感谢老师的悉心指导和帮助。


第二篇:实验一 语音信号处理


实验一  语音信号的预处理

09223005 王楠

1实验目的

通过Matlab编程掌握语音信号的预处理方法,包括对信号进行分帧、预加重,加窗处理。

2 实验原理

由于语音信号从整体上来看是一个非平稳过程,但是在一个短的时间内,其特性保持相对不变,所以语音信号具有短时平稳性,对语音信号的分析和处理必须建立在“短时”的基础上,将信号分为一段一段来分析其特征参数。

人发音时存在口唇的辐射效应,口唇的辐射模型相当于一阶高通滤波器,所以在对实际信号进行分析处理时,常用“预加重技术”,目的提升信号的高频部分,使信号的频谱更加平坦,方便信号的分析。

3 实验过程

 1)读语音数 wavread

 2)听语音   sound

 3)写语音   wavwrite

4)对语音信号进行分帧处理

5)对语音信号进行预加重

6)加汉明窗

7 ) 实验代码如下:

>> [x,fs,bits]=wavread('d:\1.wav');

y=x(10001:10512);

figure(1)

plot(y)

L=length(y);

K=1:L;

w=0.42-0.5*cos(2*pi*K/L)+0.08*cos(4*pi*K/L);

z=y.*w;

figure(2)

plot(z)

for r=2:L

y(r)=x(r)-x(r-1);

end

figure(3)

plot(y)

[x,fs,bits]=wavread('d:\1.wav');

x=x';

len=length(x);

N=256;

M=128;

Fn=fix((len-N)/M+1);

y=[];

for i=1:Fn

down=1+(i-1)*M;

up=down+N-1;

temp=x(down:up);

y=[y;temp];

end

4 实验结果

实验结果为图片如下面所示:1-1,1-2,1-3

1-1

1-2

1-3

更多相关推荐:
语音信号处理实验报告

语音信号处理实验报告语音信号分析实验一实验目的及原理语音信号分析是语音信号处理的前提和基础只有分析出可表示语音信号本质特征的参数才有可能利用这些参数进行高效的语音通信语音合成和语音识别等处理并且语音合成的音质好...

语音信号处理实验报告2

实验二语音信号的频域特性一实验目的1结合汉语语音信号的各类音素和复元音的特点分析其频域性质2熟悉语音信号的各类音素和复元音的频域参数3熟悉声音编辑软件PRAAT的简单使用和操作二实验记录与思考题1观察语音信号的...

语音信号处理实验报告

语音信号处理实验报告信工1102韩扬20xx014520一原理1端点检测语音信号一般可分为无声段清音段和浊音段无声段是背景噪声段平均能量最低波形变化缓慢过零率最低浊音段为声带振动发出对应的语音信号段平均能量最高...

语音信号处理实验报告集锦

语音信号处理实验报告集锦实验一一实验题目Shorttimeanalysis短时间分析二实验要求WriteaMATLABprogramtoanalyzeaspeechandsimultaneouslyonasin...

数字语音信号处理实验报告

语音信号处理实验报告专业班级电子信息1203学生姓名钟英爽指导教师覃爱娜完成日期20xx年4月28日电子信息工程系信息科学与工程学院实验一语音波形文件的分析和读取一实验学时2学时二实验的任务性质与目的本实验是选...

南邮 语音信号处理实验报告

实验一语音信号的时域分析实验目的以MATLAB为工具研究语音信号的时域特性以及这些特性在语音信号处理中的应用情况实验要求利用所给语音数据分析语音的时域波形短时能量短时过零率等时域参数要求会求取这些参数并举例说明...

语音信号处理实验报告

语音信号处理实验报告实验一一实验题目Shorttimeanalysis二实验要求WriteaMATLABprogramtoanalyzeaspeechandsimultaneouslyonasinglepage...

太原理工大学数字语音处理实验报告

课程名称实验项目实验地点专业班级学生姓名指导教师本科实验报告数字语音处理语音短时平均能量的实现跨越机房学号年月实验一语音短时平均能量的实现一实验目的1熟悉Matlab基本程序的运用2充分理解取不同窗长时的语音短...

数字语音处理实验报告

数字语音处理实验报告题作学专班学目者院业级号语音端点检测指导教师目录摘要2前言21实现原理311基本公式312理论基础313基本思路42matlab实现421程序流程图422程序分析5221流程图的说明5222...

语音信号处理课程设计报告

语音信号处理课程设计报告学院电气学院专业电子信息工程班级10信二姓名杨磊学号10020xx21一设计内容1设计要求本次课程设计要求利用MATLAB对语音信号进行数字信号处理和分析要求采集语音信号后在MATLAB...

数字信号处理实验报告

数字信号处理实验报告专业电子信息工程学号111308336姓名张强伟实验一数字滤波器的结构一实验目的1加深对数字滤波器分类与结构的了解2明确数字滤波器的基本结构及其相互间的转换方法3掌握用MATLAB进行数字滤...

数字信号处理实验报告一

西南大学学生实验报告姓名杨剑学号2220xx3220xx058班级1班专业电科实验日期20xx年9月29日实验学时2学时实验名称基本信号的产生和序列的基本运算实验目的学习使用MATLAB产生基本信号绘制信号波形...

语音信号处理实验报告(25篇)