您好,欢迎访问三七文档
《数字信号处理》课题设计基于Matlab的音频采样姓名:谌海龙学号:20134361指导教师:仲元红班级:13电子4班成绩:重庆大学通信工程学院2015年11月基于MATLAB的音乐采样实验一、实验内容及原理内容:1、用fs=44,100Hz采集一段音乐;2、改变采样率,用fs=5,512Hz采集一段音乐,体会混叠现象;3、录制一段自己的声音,试验当fs=?时,发生混叠?4、在噪声环境中录制一段自己的声音,试采用一种方法将噪声尽可能地消除。原理:根据奈奎斯特采样定律,如果连续时间信号axt是最高截止频率为m的带限信号,采样频率2sm,那么让采样信号ˆaxt通过一个增益为T,截止频率为/2s的理想低通滤波器,可以无失真地恢复出原连续时间信号axt。否则,2sm会造成采样信号中频谱混叠现象,不能无失真地恢复连续时间信号。采样过程采样信号的频谱混叠连续信号采样信号采样脉冲txatxaˆtp)(jXa01mm01/T)(ˆjXamss0ss2sss2)(jP01/T)(ˆjXasss2s3s2采样信号的频谱人发出的声音频率在300~3400Hz,可以通过加低通滤波器消除高频噪声。二、实验过程脚本文件ffts.m的功能是画y的频谱图functionffts(y,fs)NFFT1=2^nextpow2(length(y));fy=fft(y,NFFT1)/length(y);p=2*abs(fy(1:NFFT1));f=fs/2*linspace(0,1,NFFT1);plot(f,p);1、用fs=44,100Hz采集一段音乐;脚本文件:work1.mclear;clc;closeall;[y,fs,nbits]=wavread('work1.wav');y1=y(1:600000);ffts(y1,fs);axis([02300000.02]);title('用44100Hz抽样work1.wav的频谱');sound(y1,44100);wavwrite(y1,44100,'work1_1.wav');totp(t)oTEtoTooojPssΩsaXˆT11mm相乘卷积(1)txajaXtxaˆsmsΩ分析:根据采样定理,当采样频率fs<2fm时,会产生频率混叠现象,听起来的声音会有种很多时刻的声音重叠的效果。由于人耳所能听到的声音在20Hz到20000Hz之间,因此当采样频率为44100Hz时刚好满足采样定理所要求的条件fs>2fm,所以这也验证了抽样定理中对于采样频率的要求fs≥2fm,其中fm为信号的频谱中最高频率分量2、改变采样率,用fs=5,512Hz采集一段音乐,体会混叠现象;脚本文件:work2.mclear;clc;closeall;[y,fs,nbits]=wavread('work1.wav');y1=y(1:8:600000);ffts(y1,5512);axis([0300000.02]);title('用5512Hz抽样work1的频谱');sound(y1,5512);wavwrite(y1,5512,'work2_2.wav');分析:由1可知,当用5510Hz对音频进行采样时,不满足采样定理约束的条件,因此频谱会出现混叠,采样后的声音听起来也会出现混叠的效果,音质远远不如当采样频率为44100Hz时。3、录制一段自己的声音,试验当fs=?时,发生混叠?脚本文件:work3.mclear;clc;closeall;[y,fs]=audioread('voice.m4a');Fs=[160008000533340003200266622852000];de=[12345678];form=1:8y1=y(1:de(m):200000);subplot(4,2,m)ffts(y,Fs(m));title(['用',num2str(Fs(m)),'Hz抽样voice的频谱']);sound(y1,Fs(m));pause(15);endy1=y(1:de(3):200000);wavwrite(y1,Fs(3),'voice.wav');分析:分别用16000Hz、8000Hz、5333Hz、4000Hz、3200Hz、2666Hz、2285Hz、2000Hz8种采样频率进行采样,播放采样后的音频聆听效果,观察频谱图,得出在采样频率为5300Hz时恰好发生频谱混叠。采样频率低于5333Hz时,采样频率越低,混叠越严重。4、在噪声环境中录制一段自己的声音,试采用一种方法将噪声尽可能地消除。脚本文件:work4.mclear;clc;closeall;[y,fs]=audioread('work4.m4a');b=fir1(62,2000*2*pi/fs,hann(62+1));yy=filter(b,1,y);sound(yy,fs);subplot(211)ffts(y,fs);title('录音频谱');subplot(212)ffts(yy,fs);title('消除噪音后的频谱');wavwrite(yy,fs,'work4_4.wav');三、总结和分析通过本次实验,进一步加深DFT算法原理和基本性质的理解,熟悉了FFT算法原理,理解和掌握了音频信号各参数的意义,通过对音频信号加入噪声而去掉噪声的过程学会了设计低通滤波器的方法,巩固了课程理论知识。理论的学习加上实验的理解,使我对奈奎斯特采样定律有了更加深刻的理解。通过查看帮助学会了如何运用FFTl对一个信号求频谱,进一步加深了我对matlab帮助的使用。在本次试验中自己编写的一个函数,使我对于写函数、用函数有了更深的理解。在实验过程中也遇到了许多问题,通过查阅资料、与同学讨论,最终解决了这些问题。本次试验也让我更加深刻的明白了Matlab的重要性,特别是对于专业上的一些问题,可以更好的让我们理解理论上的一些深奥的问题。
本文标题:数字信号处理大作业
链接地址:https://www.777doc.com/doc-7029191 .html