重庆大学通信工程 基于MATLAB的音乐采样实验-DSP
- 格式:pdf
- 大小:388.76 KB
- 文档页数:7
重庆大学本科生专业实验教学
实验报告书
实验课程名称:数字信号处理
实验指导教师:朱冰莲
学院:通信工程
专业:通信工程
学号:2011XXX
姓名:XXX
实验日期:2013年10月10日成绩:
基于MATLAB的音乐采样实验
实验背景
声音信号的采集与分析处理在工程应用中是经常需要解决的题,如何实时采集声音信号并对其分析处理,找出声音信号的特征在科学研究中是一项非常有意义的工作。采样定理是信号处理中最重要的定理之一,通过采样定理,可以确定对原始信号的采样频率及采样周期,确保在对已采样信号进行恢复时不失真,又不浪费频带。
实验目的
本实验旨在对采样定理进行初步验证,体会频谱混叠现象,并大致确定音频信号的最低采样频率。
实验内容
本实验通过MATLAB软件,完成以下三项任务:
1、用fs=44100HZ采集一段音乐;
2、改变采样频率,用fs=5512HZ采集一段音乐,体会混叠现象;
3、录制一段自己的声音,试验当fs=?时,发生混叠。
实验原理
现实当中遇到的绝大多数信号都是连续的,即所谓的连续信号。如语音、图像、温度、压力、电流等等都是模拟信号。要利用数字信号处理处理技术实现对这些信号的处理,需要借助A/D转换,先将模拟信号转变为数字信号后,才能利用数字技术对其进行加工处理。因此,采样是从连续到离散的桥梁。
如果选择的采样频率太低,及fs<2fm,或者说是信号的最高频率fm超过fs/2,则采样后的频谱按照采样频率周期延拓时,各周期延拓分量产生频谱的交叠,这种现象叫频谱混叠。
图1 采样信号的频混现象
模拟信号经过理想采样,得到采样信号,如果采样频率fs满足采样定理,模拟信号的频谱没有混频现象,则可以用一个理想低通滤波器,不失真的将原模拟信号恢复出来。
实验过程
1.用fs=44100HZ采集一段音乐
编写如下所示的程序,画出音乐“thislove.wav”的频谱图,如图2。
clc;
clear;
[y,fs,nbits]=wavread('thislove.wav'); %采样频率44100HZ
NFFT=2^nextpow2(length(y));
fy=fft(y,NFFT)/length(y); %fft变换,
p=2*abs(fy(1:NFFT)); %abs取幅度
b=fs/2*linspace(0,1,NFFT); %b定义一个数组,作为图像的横坐标
plot(b,p);
axis([0 23000 0 0.02])
title('用44100Hz抽样thislove后音乐的频谱')
sound(y,44100);
用44100Hz抽样thislove后音乐的频谱
x 104
图2用44100Hz抽样thislove后音乐的频谱
分析:根据采样定理,当采样频率fs<2fm时,会产生频率混叠现象,听起来的声音会有种很多时刻的声音重叠的效果。由于人耳所能听到的声音在20Hz 到20000Hz之间,因此当采样频率为44100Hz时刚好满足采样定理所要求的条件fs>2fm,所以这也验证了抽样定理中对于采样频率的要求fs≥2fm,其中fm为信号的频谱中最高频率分量。
2.改变采样频率,用fs=5512HZ采集一段音乐,体会混叠现象;
编写如下所示的程序,画出5512Hz的频率采样后信号的频谱。
clc;
[y,fs,nbits]=wavread('thislove.wav');
y=y(1:800000);
y1=y(1:8:end); %运用步长y1=y(1:8:end);
figure;
NFFT=2^nextpow2(length(y1));
fy=fft(y1,NFFT)/length(y1); %fft变换,
p=2*abs(fy(1:NFFT)); %abs取幅度
b=5512/2*linspace(0,1,NFFT);
plot(b,p);
axis([0 3000 0 0.02]);
title('用5512Hz抽样thislove后音乐的频谱');
wavwrite(y1,5512,'thislove1.wav');
sound(y1,5512);
用5512Hz抽样thislove后音乐的频谱
分析:由1可知,当用5510Hz对音频进行采样时,不满足采样定理约束的条件,因此频谱会出现混叠,采样后的声音听起来也会出现混叠的效果,音质远远不如当采样频率为44100Hz时。
3.录制一段自己的声音,试验当fs=?时,发生混叠。
查阅的资料知,人能够发出的声音在65Hz到1100Hz之间,因此只有当fs≥2200Hz时频谱不会发生混叠,由此可以估计音频开始发生混叠的采样频率应该在2200Hz左右。并且采样频率频率越低,混频现象应该越严重。
分别用44100Hz,22050Hz,4410 Hz,1764 Hz三种采样频率对音频进行采样,播放采样后的音频聆听效果,采样后得到的频谱如下图所示。
clc;
[y,fs,nbits]=wavread('self_bye.wav'); %采样频率44100HZ
y1=y(1:2:end); %运用步长y1=y(1:2:end);
NFFT=2^nextpow2(length(y1));
fy=fft(y1,NFFT)/length(y1); %fft变换,
p=2*abs(fy(1:NFFT)); %abs取幅度
b=22050/2*linspace(0,1,NFFT);
plot(b,p);
title('用22050Hz抽样self_bye后音乐的频谱')
sound(y1,22050); %以22050HZ采样播放