数字信号处理大作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数字信号处理》课题设计基于Matlab的音频采样
姓名:谌海龙
学号:********
指导教师:***
班级:13电子4班
成绩:
重庆大学通信工程学院
2015年11月
基于MATLAB 的音乐采样实验
一、实验内容及原理
内容:
1、用f s = 44,100Hz 采集一段音乐;
2、改变采样率,用f s=5,512Hz 采集一段音乐,体会混叠现象;
3、录制一段自己的声音,试验当f s=?时,发生混叠?
4、在噪声环境中录制一段自己的声音,试采用一种方法将噪声尽可能地消除。
原理:
根据奈奎斯特采样定律,如果连续时间信号()a x t 是最高截止频率为m Ω 的带限
信号,采样频率2s m Ω≥Ω ,那么让采样信号()ˆa x
t 通过一个增益为T ,截止频率为/2s Ω 的理想低通滤波器,可以无失真地恢复出原连续时间信号()a x t 。否则, 2s m Ω<Ω会造成采样信号中频谱混叠现象,不能无失真地恢复连续时间信号。
采样过程
采样信号的频谱混叠
连续信号
采样信号
采样脉冲
()t x a ()t x
a ˆ⊗
()
t
p s s s s
s
采样信号的频谱
人发出的声音频率在300~3400Hz ,可以通过加低通滤波器消除高频噪声。
二、实验过程
脚本文件ffts.m 的功能是画y 的频谱图 function ffts(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、用f s = 44,100Hz 采集一段音乐;
脚本文件:work1.m clear;clc;close all;
[y,fs,nbits]=wavread('work1.wav'); y1=y(1:600000); ffts(y1,fs);
axis([0 23000 0 0.02]);
title('用44100Hz 抽样work1.wav 的频谱'); sound(y1,44100);
wavwrite(y1,44100,'work1_1.wav');
t
o t p (t )
o
T
E t
o T
o o
o Ω
()
Ωj P Ω
s Ωs Ω-()
s Ω()ωa
X ˆT
11
m
Ωm Ω-相乘
卷积
(1)
()
t x a ()
Ωj a X ()t x
a ˆΩ
s Ωm Ωs
Ω-
分析:根据采样定理,当采样频率fs<2fm时,会产生频率混叠现象,听起来的声音会有种很多时刻的声音重叠的效果。由于人耳所能听到的声音在20Hz到20000Hz之间,因此当采样频率为44100Hz时刚好满足采样定理所要求的条件fs >2fm,所以这也验证了抽样定理中对于采样频率的要求fs≥2fm,其中fm为信号的频谱中最高频率分量
2、改变采样率,用f s=5,512Hz采集一段音乐,体会混叠现象;
脚本文件:work2.m
clear;clc;close all;
[y,fs,nbits]=wavread('work1.wav');
y1=y(1:8:600000);
ffts(y1,5512);
axis([0 3000 0 0.02]);
title('用5512Hz抽样work1的频谱');
sound(y1,5512);
wavwrite(y1,5512,'work2_2.wav');
分析:由1可知,当用5510Hz对音频进行采样时,不满足采样定理约束的条件,因此频谱会出现混叠,采样后的声音听起来也会出现混叠的效果,音质远远不如当采样频率为44100Hz时。
3、录制一段自己的声音,试验当f s=?时,发生混叠?
脚本文件:work3.m
clear;clc;close all;
[y,fs]=audioread('voice.m4a');
Fs=[16000 8000 5333 4000 3200 2666 2285 2000];
de=[1 2 3 4 5 6 7 8];
for m=1:8
y1=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);
end
y1=y(1:de(3):200000);
wavwrite(y1,Fs(3),'voice.wav');
分析:分别用16000Hz、8000 Hz、5333 Hz、4000 Hz、3200 Hz、2666Hz、2285 Hz、2000 Hz8种采样频率进行采样,播放采样后的音频聆听效果,观察频谱图,得出在采样频率为5300Hz时恰好发生频谱混叠。采样频率低于5333Hz 时,采样频率越低,混叠越严重。
4、在噪声环境中录制一段自己的声音,试采用一种方法将噪声尽可能地消除。
脚本文件:work4.m
clear;clc;close all;
[y,fs]=audioread('work4.m4a');
b=fir1(62,2000*2*pi/fs,hann(62+1));
yy=filter(b,1,y);