信号与系统三级项目报告_第1页
信号与系统三级项目报告_第2页
信号与系统三级项目报告_第3页
信号与系统三级项目报告_第4页
信号与系统三级项目报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 基于matlab的语音信号采集与分析姓名: 班级:通信工程四班课程名称:信号与系统指导教师: 摘要:此次三级项目的内容是:通过运用matlab语言实现语音信号的采集、分析和处理。项目实施过程中:我们首先进行男女生语音信号的采集,并对其频谱图进行分析,得出了电话可以对语音信号采用8khz的采样速率的结论。之后通过男女生主要频率在高频段所占比例不同来区分男女生。最后对采集的信号进行降采样并验证抽样定理。前言:通过这次三级项目的实施,我们对matlab语言的运用、信号的采集与分析及抽样定理都有了深刻的理解,为了对这次整个的过程进行更系统的整理,我们以报告的形式将其记录下来。在这次项目的开展过程中,

2、李端和彦茹进行最后ppt的制作以及资料的搜集;刘星星完成语音信号的采集,并对其进行频域分析;徐福娟进行对男女生语音信号的区分部分;梁笑笑完成对信号不同程度的降采样并验证抽样定理。在整个过程中,我们既有分工,又相互合作,共同解决棘手的问题。最终完成了三级项目要求的内容:验证了电话可以对语音信号采用8khz的采样速率的结论;能够简单的区分男女生语音信号。正文一、基本原理1.1语音信号的采集一是利用录音机录取一段语音信号,然后利用matlab中的wavread函数从外面读入该音频信号即可。另外一种方式是在matlab中z执行以下操作即可得到一个语音信号:r=audiorecorder(44100,1

3、6,2);%创建一个保存音频信息的对象,它包含采样率,时间和录制的音频信息等等。44100表示采样为44100hz,16为用16bits存储,2为两通道即立体声。record(r);%开始录制,此时对着麦克风说话即可。myspeech=getaudiodata(r);%得到以n*2列数字矩阵存储的刚录制的音频信号。wavwrite(myspeech,44100,16,myspeech);%myspeech表示要存入的波形矩阵,44100表采样率,16为以16bits存储,myspeech为存储的文件名。在本次试验中我们采用的是第二种方法。1.2语音信号的波形显示及分析 信号的频谱分析就是计算机

4、信号的傅里叶变换。连续信号与系统的傅里叶分析显然不便于计算机计算,使其应用受到限制。而fft是一种时域和频域均离散化的变换,适合熟知的运算,成为计算机分析离散信号和系统的有用工具。对语音信号的分析我们采用如下方案:将采集好的声音信号导入程序中,使用plot画出该语音信号的时域波形,对原始波形进行用fft函数傅里叶变换后,再使用plot就可画出其频谱。1.3男女生信号鉴别 由于男女生天生的差别,在声音上女生的高频部分会明显的高于男生,为此我们男女生的语音信号进行滤波处理,高频部分多的是女生信号,高频部分少的是男生信号。1.4抽样定理的验证 对语音信号进行不同程度的降采样处理,将得到的信号的波形与

5、原信号比较,同时聆听此时的声音信号与原信号是否有失真。根据抽样定理的内容我们可知:当抽样的频率高于奈奎斯特频率时,系统恰好能够无失真的恢复出原信号。因此在采用高于奈奎斯特频率的采样率进行采样时,得到的信号不会发生失真。二、研究方法及相关工具 应用matlab软件中提供的相关函数对语音信号进行波形仿真,并对语音信号进行其他的相关处理来分析信号。3、 研究的主要内容(a) 语音信号采集方法(b) 语音信号时频域波形显示及仿真结果(c) 男、女声波形区分方法(d) 抽样定理和信号的降采样处理及仿真四、项目内容的具体研究和分析结果4.1 语音信号采集方法及时频域波形显示我们先自己通过声卡采集男女生声音

6、信号,将文件保存为(*.wav)的格式,然后通过matlab里的audioread函数将文件导入到matlab里,通过调用函数显示出声音信号的频域波形。具体的函数如下:x,fs=audioread(*.wav);sound(x,fs);n = length (x);f=44100;x=fft(x,n);f=f/length(x);f1=f*(0:(length(x)-1); subplot(211);plot(0:10/(length(x)-1):10,x);title(*信号波形);subplot(212);plot(f1,abs(x);title(*信号频谱);4.2 男、女声波形区分方法

7、4.2.1 男、女声的差别在生活中我们感觉男生的声音雄浑低沉,女生的声音尖细清脆。男、女声在频率方面存在很大的差别:一是男、女声的基音频率有差别,男声的基音频率大致在100200hz之间,而女声的基因频率则在200350hz之间;二是男声低频成份比较多,女声高频成份比较多。4.2.2区分方法 根据男、女声的差别我们可以总结出三种区分男、女声的方法:一是根据男、女声基因频率的范围来区分;二是根据男、女声频率主要集中在哪个频段来区分;三是根据男、女声低频成份、高频成分所占的比例来区分。基音频率区分法:基音频率区分法是基于男女声的基因频率的差别的一种方法。男声的基音频率大致在100200hz之间,而

8、女声的基因频率则在200350hz之间。将采集的语音信号的基频通过椭圆滤波器从频谱中分离出来,画出男、女声基频频谱图,根据基频频谱图中的频率范围区分是男声还是女声。 代码实现: %filename:manwoman.m %different man from woman. %= clear; if nargin1;action=initialized;end; file=*.wav; x,fs,bits=wavread(file); % 读入声音文件(*.wav) %=% pause;data1=x(:,1);n=0:length(x)-1;time=n/fs;subplot(3,1,1) %

9、 绘制2行1列的第1张子图plot(time,data1) % 以时间为横轴,数据为纵轴作图xlabel(time (sec.) % 标注横坐标ylabel(signal level (volts) % 标注纵坐标grid on % 添加网格% pause;% 对采集数据作滤波处理blocksize =length(data1); % 计算窗函数长度 window = hanning(blocksize); % 计算汉宁窗函数(此函数为matlab自带)data2=window.*data1; % 对数据先作加窗处理% wp=70,400; %100hz-400hz% wp=wp*2/fs;w

10、p=3000*2/fs;b,a=ellip(4,0.1,20,wp); % 构造椭圆滤波器data=filter(b,a,data2); % 求加窗处理后的数据经过滤波器的响应subplot(3,1,2) % 绘制2行1列的第1张子图plot(time,data) % 以时间为横轴,数据为纵轴作图xlabel(time (sec.) % 标注横坐标%ylabel(signal level (volts) % 标注纵坐标grid on % 添加网格% pause;xmax,index=max(data1);timewin=floor(0.015*fs);xwin=data1(index-time

11、win:index+timewin);y,lags=xcov(xwin);subplot(3,1,3)plot(lags,y)grid on ylen=length(y);halflen=(ylen+1)/2 +30;yy=y(halflen: ylen);ymax,maxindex = max(yy);fmax=fs/(maxindex+30);disp(maximum occurred at , num2str(fmax), hz)波形显示 由于我们采集的语音信号较少,所以我们得出的男声的基频范围大致在500hz之内,女声信号的基频范围大致在1000hz之内。由波形图我们可以看出第一张图为

12、男声信号基频频谱图,第二张图为女声基频频谱图。这种区分方法优点在于给出的基频是一个范围而不是某一个具体的阈值,这样使得大多数的判断比较准,当然少数的判断会出错。但是这种方法的缺点在于需要根据对大量的声音信号的基频进行分析从而得出这个范围,如果对语音信号基频分析的数量不足,则不能得出一个具有一般意义的基频范围,会导致判断失误。男、女声频率区分法:男女声频率区分法是基于男、女声频率分布差别的一种方法,男声频率主要集中在60550hz,女声频率主要集中在1501200hz。将采集的语音信号进行频谱变换,得出其频谱图,找到频谱图中幅度最大点所对应的频率值,然后根据这个频率值来判断是男声还是女声。这种方

13、法的缺点在于需要大量的采样来得出男、女声频率的范围,而且频率范围的重叠部分比较大,这部分频率就无法进行区分。频率成份比例区分法:频率成份比例区分法是计算男、女声的高频成份在高频范围内的比例和低频成份在低频范围内的比例,然后由高频比值和低频比值的大小来区分是男声还是女声。这种方法的缺点是需要确定高频和低频的范围,但是我们不能简单地说高于某个值的是高频,低于这个值的就是低频。而且需要设置高频值和低频值,这个值的设定需要大量的实验才能得出,如果样本较少则得出的值不具有代表性。4.3 抽样定理和信号的降采样处理及仿真4.3.1抽样定理 时域抽样定理说明:一个频域受限的信号f(t) 如果频谱只占据-wm

14、 wm 的范围,则信号f(t)可以用等间隔的抽样值唯一地表示。而间隔必须不大或者说,最低抽样频率为2f(m)4.3.2信号的降采样处理及仿真 信号的将采样就是降低信号的采样频率。我们采集语音信号时使用的采样频率是44100hz,然后我们将采样频率降为8000hz,4000hz。 代码实现:y=wavread(*.wav);%读入声音文件n=length(y);y1=y(1:5.5:length(y);sound(y1,8000,16);%频率降为其1/5.5f=8000;y=fft(y1,n);f=f/length(y);f1=f*(0:(length(y)-1); magy=abs(y1);

15、angy=angle(y1);n = length (y1);subplot(411);plot(0:10/(length(y1)-1):10,y1);title(降为8000hz男声信号波形);subplot(412);plot(f1,abs(y);title(降为8000hz男声信号频谱);subplot(413);plot(magy);title(降为8000hz男生信号幅值);subplot(414);plot(angy);title(降为8000hz男生信号相位);波形显示: 可以从图中看出采样频率将为8000hz时信号无失真,采样频率将为4000hz时信号发生了很大程度的失真。在matlab中我们进行仿真,发现听到8000hz时声音与原声音无差别,而4000hz时声音与原声音相比明显不同。五、结论 本次三级项目我们主要进行了语音信号的采集,并对采集的语音信号进行时域和频域波形显示及仿真,然后对采集的语音信号进行降采样处理和男女声的区分。我们使用的是在matlab中编写程序进行采样和波形显示以及降采样处理,对于男女声区分

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论