- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
《信号与系统》课程设计——语音信号的分析和处
【设计目标】尝试对语音信号进行时频域分析和处理的基本方法
【设计工具】MATLAB
【设计原理】
通过MATLAB的函数wavread()可以读入一个.wav格式的音频文件,并将该文件保存
到指定的数组中。例如下面的语句(更详细的命令介绍可以自己查阅MATLAB的帮助)中,
将.wav读入后存放到矩阵y中。
y=wavread(SpecialEnglish.wav);
对于单声道的音频文件,y只有一行,即一个向量;对于双声道的音频文件,y有两行,分
别对应了两个声道的向量。我们这里仅对一个声道的音频进行分析和处理即可。注意:.wav
文件的采样频率为44.1KHz,采样后的量化精度是16位,不过我们不用关心其量化精度,
因为在MATLAB读入后,已将其转换成double型的浮点数表示。
在获得了对应音频文件的数组后,我们可以对其进行一些基本的分析和处理。可以包括:
1、对语音信号进行频域分析,找到语音信号的主要频谱成分所在的带宽,验证为何电话可
以对语音信号采用8KHz的采样速率。
2、分析男声和女声的差别。我们知道男声和女声在频域上是有些差别的,一般大家都会认
为女声有更多高频的成分,验证这种差别。同时,提出一种方法,能够对一段音频信号
是男声信号、还是女声信号进行自动的判断。
3、.wav文件的采样速率为44.1KHz,仍然远远高于我们通常说的语音信号需要的频谱宽
度,例如在电话对语音信号的采样中,我们仅仅使用8KHz的采样速率。对读入的音频
数据进行不同速率的降采样,使用wavplay()命令播放降采样后的序列,验证是否会对
信号的质量产生影响。降采样的方法很简单,例如命令y=
wavread(SpecialEnglish.wav);将语音文件读入后保存在向量y中,这时对应的采样
频率为44.1KHz。使用y1=y(1:2:length(y))命令,就可以将原序列y每隔1个采样后
放入序列y1中,这时y1序列对应的采样频率即为22KHz。
4、比较不同音阶的频域差别,同时比较不同乐器音频信号的频域差别。
5、双径模型是无线通信中最简单的一种模型。发送方天线发出的信号,除了可以直接抵达
接收天线,还可能通过建筑物等反射到达接收天线,这时接收到的信号就变成了两路信
号的叠加,如图示意,两路信号显然会出现时间差。
以下是语音信号经过双径信道模型的MATLAB代码,接收信号为z。
y=wavread(Q2.wav);Fs=44.1e+3;wavplay(y,Fs);
delta_t=1;%unit:s
number_t=round(delta_t*Fs);%对应了需要延迟多少个采样点
power_ratio=0.8;%对应快通道的功率比值
z=sqrt(power_ratio)*y+sqrt(1-power_ratio)*[zeros(number_t,1);
y(1:length(y)-number_t)];%接收到的信号
wavplay(z,Fs);
想一种方法对接收信号z进行处理,还原初始信号y,并通过播放进行对比。
以下对提供的语音信号进行说明:
SpecialEnglish.mp3:原始的语音信号,.mp3格式
Q2.wav:男声信号
分析及结论:
(1),
要验证为何电话可以对语音信号采用8KHz的采样速率,可以推测傅里叶分析得
到频谱图主要频谱分布应该在4KHz以内。用wavread函数读入语音信号,用
fft函数进行频域分析。
代码如下
y=wavread(C:\Users\Administrator\Desktop\Q2.wav);%读入信号
Fs=44100;%采样频率
L=length(y);
NFFT=2^nextpow2(L);
Y=1/L*fft(y,NFFT);%傅里叶变换
f=Fs/2*linspace(0,1,NFFT/2+1);
文档评论(0)