- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信号与系统-课程设计
Signals and Systems
信号与系统
课
程
设
计
姓 名: 丁启程
学 号: 2012029170009
班 级: 电 工 17 班 1.选题:语音信号处理与识别
2.目的:理解时域和频域尺度变换基本概念,掌握信号时频域分析方法,正确理解采样定理,准确理解滤波器的概念。
3.主要内容和要求:
使用Matlab中wavrecord命令录制一段3秒的语音信号,使用wavplay命令播放,录制命令和播放命令中的采样频率设置成相同和不同两种情况,对观察到的现象进行分析并结合课本中的知识对该现象进行解释;
使用不同的采样频率录制一段3秒的语音信号,画出信号的时域波形和频谱;找到语音信号的主要频谱成分所在的带宽;观察并分析不同采样频率对波形和频谱的影响;寻找声音信号不出现明显失真的最低采样频率;
录制一段男生的语音信号和一段女生的语音信号,对两段音频信号进行混合,设计滤波器将混合的语音信号分开成单独的男声和女声信号,如果分离效果不好,对原因进行解释。
*可能用到的Matlab命令:wavrecord, wavplay, wavwrite, wavread, save, load, fft, fftshift, filter, plot, subplot, figure.
设计过程:
录制语音信号并播放
采用wavcord和wavplay函数实现。
具体实现过程如下:
fs=16000;
duration=3;
fprintf(按任意键开始录音\n,duration);
pause;
fprintf(正在录音\n);
y=wavrecord(duration*fs,fs);
fprintf(录音完成\n);
fprintf(按任意键播放\n);
pause;
wavplay(y,fs);
采用不同的的采样频率进行录制和播放
播放频率设定为录制采样频率的2倍。
具体实现过程如下:
fs=16000;
duration=3;
fprintf(按任意键开始录音\n,duration);
pause;
fprintf(正在录音\n);
y=wavrecord(duration*fs,fs);
fprintf(录音完成\n);
fprintf(按任意键播放\n);
pause;
fse=32000;
wavplay(y,fse);
录制一段声音,绘出时域和频谱图像:
使用fft函数对录制的声音向量进行快速傅里叶变换,再使用plot函数分别绘制时域波形和频谱图像。
此处fft函数不规定执行点数,以保证频谱图像中x轴的单位量为1HZ。
具体实现过程如下:
fs=30000;
duration=3;
fprintf(按任意键开始录音\n,duration);
pause;
fprintf(正在录音\n);
y=wavrecord(duration*fs,fs);
fprintf(录音完成\n);
fprintf(按任意键显示时域图形和频谱\n);
pause;
z=fft(y);
subplot(2,1,1);
plot(y);
title(原始语音信号);xlabel(time n);ylabel(幅值 n);
subplot(2,1,2);
plot(abs(z));
axis([0 20000 0 500]); %只显示声音范围内的频谱
title(原始语音信号频谱);xlabel(Hz);ylabel(幅度);
执行结果如下图:
由图像可以看出语音信号主要频率在400-2000Hz之间。
同一端声音在不同采样频率下的时域和频谱对比:
同(3),使用fft和plot函数实现。
具体实现过程如下:
fs=30000;
duration=3;
fprintf(按任意键开始录音\n,duration);
pause;
fprintf(正在录音\n);
y=wavrecord(duration*fs,fs);
s=wavrecord(duration*fs*3,fs*3);
fprintf(录音完成\n);
fprintf(按任意键显示时域图形和频谱\n);
pause;
z=fft(y);
t=fft(s);
figure(1);
subplot(2,1,1);
plot(abs(t));
axis([0 50000 0 10]); %只显示声音范围内的频谱
title(语音信号频谱(90000hz采样频率));xlabel(Hz);ylabel(幅度);
subplot(2,1,2);
plot(abs(z));
axis([0
文档评论(0)