基于matlab的乐信号处理和分析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于matlab的乐信号处理和分析

基于matlab的音乐信号处理和分析 1音乐信号的音谱和频谱的观察 使用windows下的录音机录制一段音乐信号或者采用其他软件截取一段音乐信号(要求:时间不超过5s,文件格式为WAV) 使用wavread语句读取音乐信号获取抽样率;(注意:读取的信号是双声道信号,即为双列向量,需要分列处理); 输出音乐信号的波形和频谱,观察现象; 使用sound语句播放音乐信号,注意不同抽样率下的音调变化,解释现象 程序: clear all;close all;clc [y,fs,bit]=wavread(E:\music\11); %读取音乐信号 size(y) %看音乐信号是双列还是单列 y1=y(:,1); %取单列 fs=fs %获取音乐信号的抽样率 N=length(y1); %音乐信号的长度 Fy1=fft(y1,N); %对信号做快速傅里叶变换 w=2/N*[0:N-1]; figure %画音乐信号的波形和频谱 subplot(2,1,1);plot(y1); grid on title(音乐信号的波形) xlabel(time/s) ylabel(Magnitude) subplot(2,1,2);plot(w,abs(Fy1)); grid on title(音乐信号的频谱) xlabel(Frequency/pi) ylabel(Magnitude) sound(y1,fs) %以抽样率fs播放音乐信号 sound(y1,2*fs) %以抽样率2fs播放音乐信号 sound(y1,1/2*fs) %以抽样率1/2fs播放音乐信号 程序运行结果如下: 音乐信号的抽样率fs=44100 音乐信号的波形和频谱如下图: 抽样率较高时,听到的音乐音调较高,速度较快;抽样率较低时,听到的音乐音调低,速度慢。由此可知,音乐信号的音调和抽样率有关。 2音乐信号的抽取(减抽样) 观察音乐信号频率的上限,选择适当的抽取间隔对信号进行减抽样(给出两种抽取间隔,代表混叠与非混叠); 输出减抽样音乐信号的波形和频谱,观察现象,给出理论解释; 播放减抽样音乐信号,注意抽样率的改变,比较不同抽取间隔下的声音,解释现象。 音乐信号的频率上限为0.2pi,这里分别采用3和60作为非混叠与混叠的抽样间隔进行抽样,程序如下: clear all;close all;clc [y,fs,bit]=wavread(E:\music\22);%读取音乐信号 y1=y(:,1); %取单列 x1=y1(1:180000); %截取音乐信号 d=3;j=0; for i=1:d:length(x1) j=j+1; x2(j)=x1(i); end %对音乐信号以3为间隔做减抽样 N1=length(x1); %截断的音乐信号的长度 N2=length(x2); %以3为间隔减抽样后音乐信号的长度 Fx1=fft(x1,N1); %对截断信号做快速傅里叶变换 Fx2=fft(x2,N2); %对减抽样后的信号做快速傅里叶变换 w1=2/N1*[0:N1-1]; w2=2/N2*[0:N2-1]; figure %画出截断后的信号的波形和频谱 subplot(2,1,1);plot(x1); grid on title(截断后的波形) xlabel(time/s) ylabel(Magnitude) subplot(2,1,2);plot(w1,abs(Fx1)); grid on title(截断信号的频谱) xlabel(Frequency/pi) ylabel(Magnitude) figure %画出以3为间隔减抽样后的信号的波形和频谱 subplot(2,1,1);plot(x2); grid on title(对截断信号以3为间隔减抽样后的波形) xlabel(time/s) ylabel(Magnitude) subplot(2,1,2);plot(w2,abs(Fx2)); grid on title(对截断信号以3为间隔减抽样后的频谱) xlabel(Frequency/pi) ylab

文档评论(0)

138****7331 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档