《数字信号处理》课程设计,基于MATLAB的音乐信号处理和分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数字信号处理》课程设计设计题目:基于MATLAB的音乐信号处理和分析
院系:物理工程学院
专业:电子信息科学与技术
学号:
姓名:
一、课程设计的目的
本课程设计通过对音乐信号的采样、抽取、调制解调、滤波、去噪等多种处理过程的理论分析和MATLAB实现,使学生进一步巩固数字信号处理的基本概念、理论以及频谱分析方法和数字滤波器设计方法;使学生掌握的基本理论和分析方法只是得到进一步扩展;使学生能有效地将理论和实际紧密结合;增强学生软件编程实现能力和解决实际问题的能力。
二、课程设计的基本要求
1 学会MATLAB的使用,掌握MATLAB的基本编程语句。
2 掌握在Windows环境下音乐信号采集的方法。
3 掌握数字信号处理的基本概念、基本理论和基本方法。
4 掌握MATLAB设计FIR和IIR数字滤波器的方法。
5 掌握使用MATLAB处理数字信号、进行频谱分析、涉及数字滤波器的编程方法。
三、课程设计内容
实验1音乐信号的音谱和频谱观察
使用windows下的录音机录制一段音乐信号或采用其它软件截取一段音乐信号(要求:时间不超过5s、文件格式为wav文件)
①使用wavread语句读取音乐信号,获取抽样率;(注意:读取的信号时双声道信号,即为双列向量,需要分列处理);
②输出音乐信号的波形和频谱,观察现象;
使用sound语句播放音乐信号,注意不同抽样率下的音调变化,解释现象。
程序如下:
[Y,FS,NBITS]=WAVREAD('怒放的生命 - 汪峰5s'); %读取音乐信号
plot(Y); %显示音乐信号的波形和频谱
sound(Y,FS); %听音乐(按照原来的抽样率)
Y1=Y(:,1); %由双声道信号变为单声道信号
size(Y1)
figure
subplot(2,1,1);
plot(Y); %显示原信号波形
N=length(Y1);
f1=fft(Y1); %傅立叶变换
w=2/N*[0:N/2-1];
subplot(2,1,2);
plot(w,abs(f1(1:N/2))); %显示波形
原信号的波形和频谱图
实验2音乐信号的抽取(减抽样)
①观察音乐信号频率上限,选择适当的抽取间隔对信号进行减抽样(给出两种抽取间隔,代表混叠与非混叠);
②输出减抽样音乐信号的波形和频谱,观察现象,给出理论解释;
播放减抽样音乐信号,注意抽样率的变化,比较不同抽取间隔下的声音,解释现象
程序如下
[Y,FS,NBITS]=WAVREAD('怒放的生命 - 汪峰5s');
Y1=Y(:,1);
D= ;j=0; %减抽样,D表示抽样间隔(10倍和100倍)
for i=1:D:length(Y1) % I表示开始减抽样的起始点
j=j+1;
Y2(j)=Y1(i); %Y2减抽样后的信号
end
N=length(Y1);
N1=length(Y2);
F1=fft(Y1);
F2=fft(Y2);
w1=2/N*[0:N-1];
w2=2/N1*[0:N1-1];
figure
subplot(4,1,1);plot(Y1); %显示原单声道信号波形和频谱
subplot(4,1,2);plot(Y2); %图显示抽样信号波形和频谱
subplot(4,1,3);plot(w1,abs(F1)); %显示原单声道信号fft变换后的波形和频谱subplot(4,1,4);plot(w2,abs(F2)); %显示抽样信号快速fft变换后的波形和频谱sound(Y2,FS) %声音低沉,而且不是很清晰。有一些声音信号丢失,%
抽样率越高,声音越听不清晰,
图2((10倍)图中由上而下依次为原单声道波形、抽样后波形、原单快速fft变换波形、抽样信号快速fft变换波形
图2((100倍)图中由上而下依次为原单声道波形、抽样后波形、原单声道快速fft变换波形、抽样信号快速fft变换波形)
实验3 音乐信号的AM调制
①观察音乐信号的频率上限,选择适当调制频率对信号进行调制(给出高、低两种调制频率);
②输出调制信号的波形和频谱,观察现象,给出理论解释;
播放调制音乐信号,注意不同调制频率下的声音,解释现象。
程序如下:
[Y,FS,NBITS]=WAVREAD('怒放的生命 - 汪峰5s');
Y1=Y(:,1);
N=length(Y1);
F1=fft(Y1); %傅立叶变换
w1=2/N*[0:N/2-1];
figure
subplot(2,2,1);
plot(w1,abs(F1(1:N/2)));
N1=0:N-1;
Y2=cos(N1*pi/8); %设置高频调制信号
N2=length(Y2)
F2=fft(Y2);
w2=2/N2*[0:N2/2-1];
subplot(2,2,2);plot(w2,abs(F2(1:N2/2)));
subplot(2,2,3);stem((0:64),Y2(1:65));
F=Y1.*Y2'; %利用高频调制信号调制单列音乐信号
N3=length(F);
F3=fft(F); %傅立叶变换
w3=2/N3*[0:N3-1];
subplot(2,2,4);plot(w3,abs(F3));
sound(F,FS) % 未混叠时,声音尖锐,不清晰,刺耳
% 混叠时,声音轻,只有淡淡的音调,基本没有
起伏,不清晰。