电子科大2012信号与系统语音信号分析课程设计方案报告

上传人:乐*** 文档编号:115162133 上传时间:2019-11-12 格式:DOC 页数:19 大小:201.50KB
返回 下载 相关 举报
电子科大2012信号与系统语音信号分析课程设计方案报告_第1页
第1页 / 共19页
电子科大2012信号与系统语音信号分析课程设计方案报告_第2页
第2页 / 共19页
电子科大2012信号与系统语音信号分析课程设计方案报告_第3页
第3页 / 共19页
电子科大2012信号与系统语音信号分析课程设计方案报告_第4页
第4页 / 共19页
电子科大2012信号与系统语音信号分析课程设计方案报告_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《电子科大2012信号与系统语音信号分析课程设计方案报告》由会员分享,可在线阅读,更多相关《电子科大2012信号与系统语音信号分析课程设计方案报告(19页珍藏版)》请在金锄头文库上搜索。

1、一、设计目标:尝试对语音信号进行时频域分析和处理的基本方法二、设计工具:MATLAB三、设计原理:通过MATLAB的函数wavread()可以读入一个.wav格式的音频文件,并将该文件保存到指定的数组中。例如下面的语句(更详细的命令介绍可以自己查阅MATLAB的帮助)中,将.wav读入后存放到矩阵y中。y = wavread(Yourwav.wav);对于单声道的音频文件,y只有一行,即一个向量;对于双声道的音频文件,y有两行,分别对应了两个声道的向量。我们这里仅对一个声道的音频进行分析和处理即可。注意:.wav文件的采样频率为44.1KHz,采样后的量化精度是16位,不过我们不用关心其量化精

2、度,因为在MATLAB读入后,已将其转换成double型的浮点数表示。四、设计要求在获得了对应音频文件的数组后,我们可以对其进行一些基本的分析和处理。可以包括:1、 对语音信号进行频域分析,找到语音信号的主要频谱成分所在的带宽,验证为何电话可以对语音信号采用8KHz的采样速率。2、 分析男声和女声的差别。我们知道男声和女声在频域上是有些差别的,一般大家都会认为女声有更多高频的成分,验证这种差别。同时,提出一种方法,能够对一段音频信号是男声信号、还是女声信号进行自动的判断。3、 .wav文件的采样速率为44.1KHz,仍然远远高于我们通常说的语音信号需要的频谱宽度,例如在电话对语音信号的采样中,

3、我们仅仅使用8KHz的采样速率。对读入的音频数据进行不同速率的降采样,使用wavplay()命令播放降采样后的序列,验证是否会对信号的质量产生影响。降采样的方法很简单,例如命令y = wavread(SpecialEnglish.wav);将语音文件读入后保存在向量y中,这时对应的采样频率为44.1KHz。使用y1 = y(1:2:length(y)命令,就可以将原序列y每隔1个采样后放入序列y1中,这时y1序列对应的采样频率即为22KHz。4、 比较不同音阶的频域差别,同时比较不同乐器音频信号的频域差别(*选作)。5、 双径模型是无线通信中最简单的一种模型。发送方天线发出的信号,除了可以直接

4、抵达接收天线,还可能通过建筑物等反射到达接收天线,这时接收到的信号就变成了两路信号的叠加,如图示意,两路信号显然会出现时间差。以下是语音信号经过双径信道模型的MATLAB代码,接收信号为z。y = wavread(Q2.wav);Fs = 44.1e+3; wavplay(y,Fs);delta_t = 1; % unit: snumber_t = round(delta_t*Fs); % 对应了需要延迟多少个采样点power_ratio = 0.8; % 对应快通道的功率比值z=sqrt(power_ratio)*y+sqrt(1-power_ratio)*zeros(number_t,1)

5、;y(1:length(y)-number_t); % 接收到的信号wavplay(z,Fs);想一种方法对接收信号z进行处理,还原初始信号y,并通过播放进行对比。五、MATLAB参考命令绘图命令:plot、stem等求频谱、频率响应:fft、freqz等卷积、滤波:conv、deconv、filter等声音文件读写:wavread、wavwrite、wavplay等六、设计内容1、对语音信号进行频域分析,找到语音信号的主要频谱成分所在的带宽,说明为何电话可以对语音信号采用8KHz的采样速率。程序代码:x,fsx,bits=wavread(FriendsCut.wav); subplot(21

6、1);plot(x); title(时间域特性);subplot(212);y=fft(x,fsx);df=fsx/length(y); fx=df*(0:length(y)-1); plot(fx,abs(y); axis(0 8000 0 500);title(频率域特性);说明:找到一个音频文件,通过截取其中某一段并进行格式转换,得到wav格式的音频文件(FriendsCut.wav)。对声音信号的频谱图进行分析,使用Matlab绘制该语音信号的频谱图,观察频谱图,读出声音信号的频率范围,由采样定理可知,如果需要重建声音信号,需产生一个周期冲激串,其冲激幅度就是采样得到的样本值,给冲激串

7、加上一个增益即可恢复原声音信号,此为采样定理。使用Matlab中的快速傅里叶变换(fft),绘制出声音文件的时域波形和频域波形并进行分析,观察可得声音信号的主要频率范围为02500Hz,而根据采样定理可知,该声音信号采样频率应不小于5000Hz,故电话使用8000Hz的采样频率可以保证声音在失真较少的条件下进行信号的采样与恢复。输出结果:2、分析男声和女声的差别。我们知道男声和女声在频域上是有些差别的,一般大家都会认为女声有更多高频的成分,验证这种差别。同时,提出一种方法,能够对一段音频信号是男声信号、还是女声信号进行自动的判断。程序代码:y1=wavread(Man.wav);Fs=4410

8、0; yt1=fft(y1); df=Fs/length(yt1);Fx=df*(0:length(yt1)-1); figure(1)subplot(221); plot(y1);title(男声时域特性); subplot(222); plot(Fx,abs(yt1); axis(0 10000 0 10000);title(男声频域特性);xlabel(频率/Hz); y2= wavread(Wom.wav);Fs=44100; yt2=fft(y2); df=Fs/length(yt2);Fx=df*(0:length(yt2)-1); figure(1)subplot(223); p

9、lot(y2);title(女声时域特性); subplot(224); plot(Fx,abs(yt2); axis(0 10000 0 5000);title(女声频域特性);xlabel(频率/Hz);s1=0;for j1=2700:4000; s1=s1+abs(y1(j1);ends0=0;for i1=200:4000; s0=s0+abs(y1(i1);endp1=s1/s0 s2=0;for j=2700:4000; s2=s2+abs(y2(j);ends=0;for i=200:4000; s=s+abs(y2(i);endp2=s2/s 说明:首先,通过截取一段男女对话

10、的音频并进行格式转化,得到wav格式的男声语音文件(Man.wav)和女声语音文件(Wom.wav)。通过wavread命令和快速傅里叶变换fft命令对语音信号进行相应的处理,并绘制出相应的时间域与频率域特性图。通过观察得到的图形,我们可以看出男声与女声的声音大部分集中于200-4000Hz之间,而男声较女声更多的声音集中在较为低的频率段。所以我们通过计算男声和女声在高频部分(我们选择了2700-4000这一频段)的声音比例,来较为粗略地判断男女声的差异,并通过这样的思路来形成一个简单的男女声判断机制。输出结果:男声高频部分所占比例:p1 =0.2432女生高频部分所占比例p2 =0.3763

11、3、对一段音频信号是男声信号、还是女声信号进行自动的判断。程序代码:y1=wavread(Choose your voice.wav);Fs=44100; yt1=fft(y1); df=Fs/length(yt1);Fx=df*(0:length(yt1)-1); figure(1)subplot(211); plot(y1);title(时域特性); subplot(212); plot(Fx,abs(yt1); axis(0 10000 0 10000);title(频域特性);xlabel(频率/Hz); s1=0;for j1=2700:4000; s1=s1+abs(y1(j1);

12、ends0=0;for i1=200:4000; s0=s0+abs(y1(i1);endp1=s1/s0 if(p10.3) disp(声音为女声)endif(p10.3) disp(声音为男生)end说明:根据第2个设计题目,顺着其思路,我们通过对几组男声女声信号的处理分析,发现在我们所选择的高频带中,女声的高频比例均在0.3之上,而男声则在0.3之下。我们通过这样一个粗略的规律,简单设计一个自动判别男女声的程序。通过该程序可以粗略地判断出一个信号的男女声。我们尝试输入一个语音信号,得到了较为正确的结果输出结果:声音信号高频比例:p1 = 0.2432自动判断男女声信号:声音为男生4、wa

13、v文件的采样速率为44.1KHz,仍然远远高于我们通常说的语音信号需要的频谱宽度,例如在电话对语音信号的采样中,我们仅仅使用8KHz的采样速率。对读入的音频数据进行不同速率的降采样,使用wavplay()命令播放降采样后的序列,验证是否会对信号的质量产生影响。程序代码:x,fs,bits=wavread(When You Believe Man.wav); fs x1=x(1:2:length(x); x2=x(1:5:length(x); x3=x(1:10:length(x); subplot(411);wavplay(x,fs); y=fft(x,fs);df=fs/length(y);fx=df*(0:length(y)-1);plot(fx,abs(y); axis(0 8000 0 500);title(原声音频谱分析图);subplot(412);wavplay(x1,fs/2); y1=fft(x1,fs/2);df=fs/length(y1);f

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 工学

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