数字信号处理实验报告new

上传人:xins****2008 文档编号:111115619 上传时间:2019-11-01 格式:DOC 页数:11 大小:627KB
返回 下载 相关 举报
数字信号处理实验报告new_第1页
第1页 / 共11页
数字信号处理实验报告new_第2页
第2页 / 共11页
数字信号处理实验报告new_第3页
第3页 / 共11页
数字信号处理实验报告new_第4页
第4页 / 共11页
数字信号处理实验报告new_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《数字信号处理实验报告new》由会员分享,可在线阅读,更多相关《数字信号处理实验报告new(11页珍藏版)》请在金锄头文库上搜索。

1、Digital Signal Process Mid-term Task Class:Dian Zi 2 Member:Li Ming 20111794Wu Xun 20111787Gao Feng 20111767Liao Feng 20111769Ren BingTao 20111768关于男女生声音信号的采集和分析题目:关于男女生声音信号的采集和分析一、声音采集部分Matlab中提供了强大的数据采集工具箱,可以满足控制声卡对数据进行采集的要求。语音数据采集过程如图:在Matlab环境中,可以通过多种编程方法驱动声卡实现对语音信号的采集和播放。驱动声卡的方式共有四种:一是将声卡作为对象处理

2、采集语音信号;二是调用wavrecord功能函数采集语音信号;三是通过audiorecorder对象采集语音信号;四是可以直接用windows自带的录音机采集声音信号,再通过函数读取和分析(不过这种方式并不利于参数的设置)。1、将声卡作为处理对象采集语音信号 Matlab将声卡作为对象处理,其后的一切操作都不与硬件直接相关,而是通过该对象的操作来作用于硬件设备(声卡)。操作时首先要对声卡产生一个模拟输入对象(ai),给ai对象添加一个通道,设置采样频率后,就可以启动设备对象,开始采集数据,采集完成后停止对象并删除对象,具体的程序如下:ai=analoginput(winsound); %为声卡

3、建立一个模拟输入设备对象addchannel(ai,1); %设置声卡通道,1为单声道,2为双声道fs=22050; %采样频率设置为22050Hzai.samplerate=fs; %设置采样频率t=2; %设置采样时间start(ai); %启动并触发声卡设备采集数据stop(ai); %停止采集delete(ai); %去除设备对象clear ai; %清除变量2、调用wavrecord功能函数采集语音信号fs=22050; %样本采集频率y=wavrecord(5*fs,fs,int16);%fs代表样本采集频率,nbits代表每%个样本的位数,ch代表采集通道,1%为单声道,2为双声

4、道,默认值为1wavplay(y,fs); %播放声音信号或sound(y,fs);3、运用audiorecorder对象采集语音信号ar=audiorecorder(11025,16,2);%这里的三个参数与wavrecord的三个 %参数相同ar.record; %开始录音ar.pause; %暂停录音p=ar.play; %播放录音ar.resume; %继续录音p=ar.play; %播放完整录音4、通过windows自带的录音器采集信号 我们通过windows的内容采集到标准的声音信号,这时将会生成一个wav文件(win7的系统生成的是wma文件,可以转换格式)。我们通过下面函数播放

5、信号,检验采集的情况。y=wavread(C:UsersAdministratorDesktopmid-term taskliming.wav);%小括号内的是文件路径wavplay(y); %播放声音信号二、声音的分析和处理通过测试,上述四种方法均可行,我们选取wavrecord函数采集声音信号,下面进行的讨论均以此为基础。下面我们对采集到的声音信号进行分析和讨论。我们知道对声音信号的讨论一般包括数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种分析图的呈现等等。下面我们将从这些方面来分析我们采集到的声音信号。1、采集到的声音信号的原始图形 我们采集的声音信号录入了“数字信号处理”该六个

6、字。下图是男女生时域下的信号对比: 在这之前,我们用windows自带的录音器录入了一段语音信号,其存储格式是wma,所以我们选择了用格式工厂转换成了wav格式,不知道是不是这样的原因导致了信号的一些问题,画出的时域图中间还夹杂着蓝色的部分,并且杂波显得比下图多很多,并且在函数调用上也比较麻烦。鉴于此,我们谨慎的选择了wavrecord这种方式。- 这是信号的时域信号,而短时能量分析、短时过零分析和自相关法是作为语音信号时域分析中最基本的方法,应用广泛,特别是在语音信号端点检测方面。但是针对语音信号,我们仅能从信号的一般特性上面进行分析。从上图来看,我们可以看到男声的能量较足,显示的幅度更大。

7、2、语音信号在频域上的分析 我们对信号进行快速傅里叶变换,得到相应的频谱分析图。但是,在这之前,我们必须先添加窗函数,下面我们先对窗函数进行一下简要的说明。 窗函数:数字信号处理的主要数学工具是傅里叶变换。而傅里叶变换是研究整个时间域和频率域的关系。不过,当运用计算机实现工程测试信号处理时,不可能对无限长的信号进行测量和运算,而是取其有限的时间片段进行分析。做法是从信号中截取一个时间片段,然后用观察的信号时间片段进行周期延拓处理,得到虚拟的无限长的信号,然后就可以对信号进行傅里叶变换、相关分析等数学处理。无限长的信号被截断以后,其频谱发生了畸变,原来集中在f(0)处的能量被分散到两个较宽的频带

8、中去了(这种现象称之为频谱能量泄漏)。至此,我们可以得到相应的频谱图对比如下:我们都很容易注意到这两个吸信号的相同点,他们的频率大约集中在几十赫兹到5000赫兹比较密集,范围以外的幅度十分的小,这也是人声的基本特点。 通过比较,我们可以看见男女生声音频率较集中地范围有所不同,男生主要集中在200800Hz左右,而女声的声音频率较多的集中在3001800Hz左右。并且可以大致看出男女生的声音信号在基频上面有很大的不同。 此外,我们还可以明显的看到男声在高频上的谐波幅度较小,远远的小于女声信号。 为了更加清晰地分辨男女生在高低频声音上的比率,我们编写了一段程序来分析男女声高低频成分所占的大小。结果

9、发现,在高频部分,男声比率为7.3497e-004,女声比率为0.0066 ;低频部分,男声比率为8.8621e-007,女声比率为7.4197e-007 。可以更加确定的知道,女声在高频上的频率分量更多,男声则在低频上的频率分量更多。 为了提取基频,下面我们进行进一步讨论这两段声音信号。3、声音信号的倒频谱分析 倒频谱,就是对功率谱的对数值进行傅立叶逆变换,将复杂的卷积关系变为简单的线性叠加,从而在其倒频谱上可以较容易地识别信号的频率组成分量,便于提取所关心的频率成分。(在这里,我们关注信号的基频) 通过查阅资料(1998年南京邮电学院学报第十八卷56期计算机语音信号处理与语音识别系统),我

10、们知道男性基音频率分布在60200Hz左右,女性和小孩的基音频率则集中在200450Hz左右。从倒频谱图的图形示意来看,正是满足这样的条件。由于采集的数量有限,不能够完全的验证整个频率范围。(这未免是一个遗憾之处)4、语音信号的去噪-数字滤波器的设计 采用数字滤波器来对语音信号进行去噪处理,可选用窗函数法设计FIR数字滤波器(这种方法还没有研究过),另外也可以用双线性变换法设计巴特沃斯滤波器。在语音信号的滤波处理中,由于人的信号能量主要集中在低频部分,双线性低通滤波器的效果最好,滤波后的语音失真比较小。 下面我们用双线性变换法设计滤波器,并从声音的效果和图像的改善程度上观察滤波的作用。 下面的

11、波形是原始信号经滤波作用后的时域波形对比:在声音上,我们可以明显感觉到声音经低通滤波后(15阶巴特沃斯滤波器)声音变得更加低沉,并且声音的音量减小了(女生的声音甚至给人男音的感觉)。这是因为,高频的成分滤掉之后,即原声音信号中的尖细部分给消除在外了,而高频部分包含的能量成分也被滤除掉了。附:本次实验的源代码fs=11000;y=wavrecord(5*fs,fs,int16);%设置采样频率wavwrite(y,fs,liming.wav);%写入语音信号(要求在这一时刻开始录音)y,fs=wavread(liming.wav);%读取该声音信号%-作原信号的时域图t=0:1/fs:(leng

12、th(y)-1)/fs; %确定时间轴的横轴坐标wavplay(y);plot(t,y) %作原始语音信号的时域图形%图像格式设置title(原始语音信号(男声);xlabel(时间(s);ylabel(幅度);%-作信号的频谱图x=fft(y.*hamming(length(y);%作加窗傅里叶变换(汉明窗)fm=5000*length(x)/fs; %限定频率范围f=(0:fm)*fs/length(x); %确定频率刻度plot(f,20*log10(abs(x(1:length(f)+eps);%画频谱图 %eps 叫做机器的浮点运算误差限! %PC机上eps的默认值为2.2204*1

13、0(-16) %若某个量的绝对值小于eps,就认为这个量为0title(频谱图(男声);xlabel(频率(Hz);ylabel(频谱幅度(db);%-作原信号的倒频谱c=fft(log(abs(x)+eps) %倒频谱计算ms1=fs/1000;ms20=fs/50;q=(ms1:ms20)/fs; %确定倒频刻度plot(q,abs(c(ms1:ms20); %画倒频谱图title(倒频谱图(男声);xlabel(频率(Hz);ylabel(频谱幅度(db);%-对原始语音信号进行滤波t=0:1/fs:(length(y)-1)/fs; %确定时间轴的横轴坐标wavplay(y); %播放原始的声音信号subplot(1,2,1);plot(t,y) %做原始语音信号的时域图形title(原始语音信号(男声);wpz=0.097;wsz=0.12

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号