数字信号处理DSP课程设计利用Matlab实现对三种音频信号的采样和分析.docx
- 文档编号:8803675
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:10
- 大小:337.39KB
数字信号处理DSP课程设计利用Matlab实现对三种音频信号的采样和分析.docx
《数字信号处理DSP课程设计利用Matlab实现对三种音频信号的采样和分析.docx》由会员分享,可在线阅读,更多相关《数字信号处理DSP课程设计利用Matlab实现对三种音频信号的采样和分析.docx(10页珍藏版)》请在冰豆网上搜索。
数字信号处理DSP课程设计利用Matlab实现对三种音频信号的采样和分析
数字信号处理
课
程
设
计
报
告
姓名:
蒲钇霖
学号:
201021030619
学院:
微固
利用Matlab实现对三种音频信号的采样和分析
一、前言:
数字信号处理(DigitalSignalProcessing,简称DSP)是一门涉及许多方面而又广泛应用于很多领域的学科。
它是一种使用数学手段转换或提取信息,来处理现实信号的方法。
随着信息时代和数字世界的到来,数字信号处理技术得到了迅速的发展,已经成为了一个极其重要的研究领域。
本次课程设计可以算是对于数字信号处理技术一个基础的应用实例,主要是通过Matlab软件对现实中的音频信号进行采样以及分析研究。
二、设计目的:
通过此次课程设计,让我们能够更好地巩固和运用在数字信号课程中学习到的理论知识和实验方法,加强我们将理论知识化为实践技巧的能力,主要是熟悉和学习如何使用Matlab对信号进行采集、截取、显示、存储和分析。
在这过程中同时培养我们发现问题、分析问题以及解决问题的能力。
三、主要内容:
这次课程设计将对三种音频信号进行分析研究与相互比较,其中的两种信号是用Matlab软件来录制的一段自己发出的声音和用汤匙敲击不锈钢杯的声音,然后再截取出它们的有效部分。
另一种是从电脑里找的WindowsXP的开机启动声音。
完成这三种信号的采集工作之后,就分别用音频分析软件spectrogram和Matlab两种手段对它们进行分析研究和相互比较,得出相应的结论,从而完成课程设计的任务。
四、设计步骤:
1.采集声音信号
WindowsXP开机启动的声音可直接由电脑中找出,这里主要是采集自己发出的声音和汤匙敲击不锈钢杯的声音。
一般来说,我们采集声音信号最简便的方法就是直接使用Windows自带的录音器。
但为了帮助学习Matlab,这里我们使用该软件来进行声音的录制。
下面就是录制自己发出的声音的一段程序(参照了网上查找的一个例子):
>>fs=8000;
>>channel=1;
>>t=3;
>>fprintf('按任意键后开始%d秒录音:
',t);pause;
>>fprintf('录音中...');
>>x=wavrecord(t*fs,fs,channel,'double');
>>fprintf('录音结束\n');
>>wavwrite(x,fs,'C:
\ProgramFiles\MATLAB\R2007a\work\UESTC.wav')
>>fprintf('按任意键后回放:
');pause
>>wavplay(x,fs);
这里不同于一般的命令操作方式,而是采用的编程操作方式。
即这段程序不是在命令窗口输入,而是录入到了程序编辑窗口,然后以.m为后缀保存在work目录下,最后在命令窗口输入文件名即可执行程序,按照文字提示进行语音信号的录制。
此次录制的语音信号是本人说的一句“UESTC”。
要录制汤匙敲击不锈钢杯的声音只需将上面程序中的存储语句“wavwrite(x,fs,'C:
\ProgramFiles\MATLAB\R2007a\UESTC.wav')”改为“wavwrite(x,fs,'C:
\ProgramFiles\MATLAB\R2007a\汤匙敲击不锈钢杯.wav')”。
这样就完成了两种信号的采集工作,并将它们以wav格式存储到了Matlab文件目录中。
下面用waveread函数读出三种语音信号得到它们的时域波形图,程序如下:
>>x1=wavread('UESTC.wav');
>>x2=wavread('汤匙敲击不锈钢杯.wav');
>>x3=wavread('WindowsXP开机启动.wav');
>>subplot(3,1,1),plot(x1),title('UESTC'),grid;
>>subplot(3,1,2),plot(x2),title('汤匙敲击不锈钢杯'),grid;
>>subplot(3,1,3),plot(x3),title('WindowsXP开机启动'),grid;
得到的时域波形图为:
2.截取有效部分
从上面的时域波形图中我们可以看到,由于Matlab在录制过程中的误差、麦克风(或是文件)自身因素以及本人对时间掌握不准等原因,三种音频信号中或多或少都有一些无效的点。
我们可以通过对上面的程序稍加改动来滤除掉信号中无效的点,截取中有效部分并存储起来。
程序如下:
>>[x1,fs1]=wavread('UESTC.wav',[5000,20000]);
>>subplot(3,1,1),plot(x1),title('UESTC(新)'),grid;wavwrite(x1,fs1,'C:
\ProgramFiles\MATLAB\R2007a\work\UESTC(新)');
>>[x2,fs2]=wavread('汤匙敲击不锈钢杯.wav',[3500,23000]);
>>subplot(3,1,2),plot(x2),title('汤匙敲击不锈钢杯(新)'),grid;wavwrite(x2,fs2,'C:
\ProgramFiles\MATLAB\R2007a\work\汤匙敲击不锈钢杯(新)');
>>[x3,fs3]=wavread('WindowsXP开机启动.wav',[1,78000]);
>>subplot(3,1,3),plot(x3),title('WindowXP开机启动(新)'),grid;wavwrite(x3,fs3,'C:
\ProgramFiles\MATLAB\R2007a\work\WindowsXP开机启动(新)');
截取后的信号时域图像如下所示:
3.频谱分析
这里我们分别用音频频谱分析软件spectrogram和Matlab来对三种信号进行研究。
(1)真人声音:
UESTC。
用spectrogram软件打开文件“UESC(新).wav”得到分析图像如下所示:
因为我们录制声音的时候是单声道录制的,而spectrogram是一个双通道音频分析软件,所以得到的图像只有一半。
由这个分析图像我们可以看出,声音的音色有变化但并不丰富,这也是一般人声音的基本特性。
该信号大概可以分为五部分,对应于“UESTC”的五个字母,各部分间断不是很大,说明声音比较连续,中间没什么明显停顿的地方。
再用Matlab对信号实行FFT变换得到其幅频响应曲线和相频响应曲线,程序如下:
>>X1=wavread('UESTC(新).wav');
>>Y=fftshift(fft(X1));
>>subplot(2,1,1);
>>plot(angle(Y));
>>title('相频响应曲线');
>>subplot(2,1,2);
>>plot(abs(Y));
>>title('幅频响应曲线');
>>grid;
得到的信号频谱曲线如图所示:
由频谱图像我们可以看出,声音总体强度一般,有一定起伏。
信号集中在某一频率附近,说明声音比较稳定,这与本人说话时的情况基本一致。
(2)物体碰撞声音:
汤匙敲击不锈钢杯。
一样用spectrogram打开文件“汤匙敲击不锈钢杯(新)”得到分析图像如下:
与真人声音一样,由于单声道录制所以也只能得到一半的图像,声音的音色相较于真人声音更加单一,基本没有变化。
在录制时汤匙一共敲击了五下不锈钢杯,由图像可以看出第二下和第四下比较突出,第五下只有一半,说明在敲击当中录制就停止了。
信号各部分之间间断较大,说明有很明显的停顿过程。
只需将前面的FFT变换程序中“X1=wavread('UESTC(新).wav')”改为“X1=wavread('汤匙敲击不锈钢杯(新).wav')”即可得到该信号的频谱响应曲线:
由图像可以看出声音的强度起伏较大,说明了敲击的力度有大有小,这与实际情况也是一致的。
同时信号频率分布较广,并没有像真人声音一样集中在某一频率附近,这也表示了物体碰撞的声音较难保持稳定。
(3)电脑合成声音:
WindowsXP开机启动。
一样先用spectrogram打开文件“WindowsXP开机启动(新).wav”得到分析图像:
与前面两种音频信号不同,该声音在制作时是双声道合成的,所以我们可以得到整个分析图像。
从图中可以看出声音十分连续,毫无停顿的地方,而且音色也十分丰富,这也体现了机器合成的声音相比于现实中真实声音的优势所在。
参照前面的方法同样得到信号的频谱响应曲线:
这里我们可以明显看出和前两种信号不同,合成的声音信号频谱十分清晰、完整、有规律,说明了音质较好,声音比较平滑清晰。
而且信号在某一频率附近很集中,也体现了声音的稳定性很好。
五、结论
通过对于三种不同音频信号的分析研究以及相互比较,我们可以看出物体碰撞的声音最为单调,起伏很大,而且频率很不稳定,这也是其听起来比较刺耳的原因。
电脑合成的声音在总体上的质量来说要明显好于现实中的两种声音,它具有清晰平滑的特性,再加上音色丰富多彩,使其听起来比较舒服。
真人的声音则介于二者之间,音色有变化,频率也有一定的稳定性。
但其可塑性较强,可以通过一些训练来改善音质,让它接近于合成的声音。
六、心得体会
这次课程设计是数字信号处理中比较简单的一个应用,涉及到的知识都比较基础,主要运用了课堂上所学的内容和网络上查阅的一些资料完成了对现实中的声音信号的采集、截取、显示、存储和分析。
虽然课程设计本身较为简单,但是在这整个过程中还是有不小的收获。
最明显的就是对于数字信号处理有了更加系统和全面的认识,对于其涉及到的一些方法和手段有了一定的了解。
同时对Matlab的学习也有了促进,虽然大部分的程序都是参照的课堂上和网上的例子,但这对于巩固Matlab中一些基础的和常用的命令的使用方法也是有帮助的。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 DSP 课程设计 利用 Matlab 实现 音频 信号 采样 分析