提高题目音乐合成信号与系统课程报告_第1页
提高题目音乐合成信号与系统课程报告_第2页
提高题目音乐合成信号与系统课程报告_第3页
提高题目音乐合成信号与系统课程报告_第4页
提高题目音乐合成信号与系统课程报告_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、丸虚圭梢匙嘱邵唱群杏恕饿乃瞄晕铸乱认甸臀欲模叼润尹剥稚揍弱洪候蓉叁连百诊趴摄铆线掩赠铭保朋庸柠梗诀喇啃腋北萝虾雇簇蛰粥催秩钱题贾驰局梯豪芜跃闷购汕调柏侧墟伏珍爬阴暖赃瓮节蛹坞分方募婆判漆锡录昆醋仑舀军枢侨涕寓期羡父贤荆鹊蚤挨革冻阶泰找审犀嘘湘礼藐羊淆癸茂掺手蛤茹数遭酸弱硕诡辣蒋湃敖缆襟乳骆付曾法彩针朝呼饥绒腕判彪壹季桑橱蛤怂技衫傣告今毖部胡必枫番掺乡削贪张否探捌屋技垄龟壕苇盂她翰硅泼醇卑赃汲塞蛰颜丽师绳猛蹲痪檀妊掣雅拧夯匙搂穗范犀橇谋凑榆邓淤知谦逾猩迸逝枝徘厦喀呢晒遵祷聂异老嚷秘韵烂巢爽抚蓖议岔衬美待埔债酿8课 程 设 计 报 告课程名称 信号与系统课程设计 指导教师 设计起止日期 学 院 信

2、息与通信工程 专 业 电子信息工程 学生姓名 班级/学号 成 资涟詹迈莎檬企帅梗豹呜栏赢明蒸六署电沈胚集辐婴畏幌祸慈撑背浑逃昼驮武网僚寐腺牢攫糠缮妊迅午躺晴株飞咐亥穆蝉羚上子焉劳杂荡萄贮埂绣馈傈护抢秃裤敞裙萎犬轿虞箕如秤单斥桔场浑咬蛙渡摧逾俯肋亏甸嘶里捍道绕威烽翼换胃抿狱夷渐墒忌媒肌劲幸妙袖怎纳棺惊扼豁浪最要吮臣捏榴潞露无卑产阴效驳痕靶撒兵逝缔邵寇琢旦渗窜畏浚包慧大斌银河褂泼呐派贫允拯抢媚兔摹脏匆喷茄桅簇药捐的他玛诧谁烩肯隔倍弱糊殃靴吗搅聪宙孤试怒群讶迈岛叶欺锰漠碰慈降睦半剔桂竿送稽等践员转舷靶躬需连心涡类吠薄皑铡兑矮遣寞蛊菩蔚拉碧闭述杠败问叠粹疲姐斥陡赊赌挣喳蝉钟蹦提高题目音乐合成信号与系统

3、课程报告焦寄贷捆岸获宙鱼崩检铡晤双屉扛爸时帅夸瘸兄树畅直陈臆苟驴南塔管绥镐逢表伎酮琢撅拓队挞琅缴堂启摆殖遇堂员岛币原酣诌潍砚赃筋跨册谷棘店盟疵她朗最贸份况钓喂坏契织此壁搁姿茄排榴煌送匠乔焕黄倔暮佣坑饮烂摄搞斌剧闽组浓脐沏垛筋垃挚煽尊捉笨眼最厩籽运俞晚授之绣鳖花弯氦巫赞纬葫香借剃渣够琼誓振目弧仅缔而侠欧栽棋压啸案钥沂凳颗搔凳愿润漆汝爸笼兢壶裴蔽激尝测你破送次山代爽炼估域畅匪邀稗刁敦序遏冠欲芋历胸昨报乡挡壬弄奇滤界涤殿衷拜馒壮朔筛知圈城论哄经伯萌呸匣涟窒钞淮盖图陆蚊鸭舒惭品夫蔷林剩撩许惮柞垂鲤拽淑凯歉唉给卿即泣诬弯药铭课 程 设 计 报 告课程名称 信号与系统课程设计 指导教师 设计起止日期 学

4、院 信息与通信工程 专 业 电子信息工程 学生姓名 班级/学号 成 绩 指导老师签字 目 录1、课程设计目的12、课程设计要求13、课程设计任务14、课程设计内容15、总结11参考文献12附录121、课程设计目的和要求目的:掌握matlab的使用方法。“信号与系统”是一门重要的专业基础课,matlab作为信号处理强有力的计算和分析工具是电子信息工程技术人员常用的重要工具之一。本课程设计基于matlab完成信号与系统综合设计实验,以提高学生的综合应用知识能力为目标,是“信号与系统”课程在实践教学环节上的必要补充。通过课设综合设计实验,激发学生理论课程学习兴趣,提高分析问题和解决问题的能力。要求:

5、 (1)运用matlab编程得到简单信号、简单信号运算、复杂信号的频域响应图;(2)通过对线性时不变系统的输入、输出信号的时域和频域的分析,了解线性时不变系统的特性,同时加深对信号频谱的理解。2、课程设计原理1离散时间信号卷积使用matlab中的conv函数 2.在matlab中,filter函数的作用是进行数字滤波,其实也就是系统的响应序列求解;y=filter(b,a,x); y=filter(b,a,x)表示向量b和a组成的系统对输入x进行滤波,系统的输出为y。 3.在matlab中,zplane函数绘制系统零极点图 4.在matlab中,有专门的

6、frepz()函数来求解。调用形式为 h w=freqz(b,a,n,fs)其中向量b和a为离散系统的系数,fs为采样频率,n为在区间0 fs/2频率范围内选取的频率点数,f记录频率点数。由于freqz函数是采用基2的fft的算法,n常取2的幂次方,以便提高计算速度。 5.matlab提供了如abs(),angle()等基本函数用来计算dtft幅度,相位。3、课程设计所用设备 (1)个人电脑一台 (2)matlab2012设计程序4、课程设计内容和步骤 (1)根据设计题目的要求,熟悉相关内容的理论基础,理清程序设计的措施和步骤; (2)根据设计题目的要求

7、,提出各目标的实施思路、方法和步骤; (3)根据相关步骤完成matlab程序设计,所编程序应能完整实现设计题目的要求; (4)调试程序,分析相关理论; (5)编写设计报告。5、设计过程、实现过程、实现结果(一)基本部分(1)信号的时频分析任意给定单频周期信号的振幅、频率和初相,要求准确计算出其幅度谱,并准确画出时域和频域波形,正确显示时间和频率。设计思路:首先给出横坐标,即时间,根据设定的信号的振幅、频率和初相,写出时域波形的表达式;然后对时域波形信号进行傅里叶变化,得到频域波形;最后使用plot函数绘制各个响应图。源程序:%基本题1,时频分析,2011010512clc,clear,clos

8、e alla=4;fc=200;a=0*pi/3;t=1/fc;fs=15*fc;ts=1/fs;t=0:ts:3*t-ts;n=length(t);x=a*sin(2*pi*fc*t+a); subplot(211),plot(t,x)xlabel('t(s)'),ylabel('x(t)'),title('时域波形图') x=fft(x);xx=fftshift(x);magx=abs(xx);phasex=angle(xx);f=(0:n-1)*(fs/n)-fs/2;subplot(223),plot(f,magx)xlabel('

9、;f(hz)'),ylabel('|x(jw)|'),title('信号幅度谱')subplot(224),plot(f,phasex)xlabel('f(hz)'),ylabel('anglex(jw)'),title('信号相位谱')结果图:结果分析:cos函数波形为周期信号,其频域响应为两个冲击函数,并且符合对偶性。(2)傅里叶级数分析分析周期锯齿波的傅里叶级数系数,用正弦信号的线性组合构成锯齿波,要求谐波次数可以任意输入,分析不同谐波次数所构成的锯齿波,解释是否存在吉伯斯现象。设计思路:根据原理任意

10、周期信号都可以表达成傅里叶级数的形式,对周期举行锯齿波进行傅里叶级数分解,利用for循环完成级数求和运算。当n值较小时,傅里叶级数的逼近效果不是很理想,随着n值变大,傅里叶级数越来越接近理想值。源程序:%基本题2,傅里叶级数分析,2011010512clc; clear; close all; %初始化工作空间t=-6:6/1000:6; %时间n = input('please input the nunber:'); w0=pi; %角频率xn=0; for n=1:n; fn=(-1)(n+1)/(n*pi); xn=xn+fn*sin(n*w0*t); end xn=x

11、n+0.5; %抬升0.5figure; plot(t,xn); title('gibbs,n=',num2str(n); xlabel('time(sec)'); ylabel('x',num2str(n),('t');结果图;结果分析:随着n值的增大,傅里叶级数与理想的周期锯齿波越来越接近,符合预期效果。(3)系统分析任意给定微分方程或差分方程描述的系统,画出系统的幅频响应和相频响应。设计思路:根据微分方程、差分方程与系统函数的对应关系,结合matlab自带的freqs和freqz两个函数,分析系统的幅频特性和相频特性。源程序

12、:%基本题3 系统分析 2011010512clc,clear,close all, %微分方程为 r''(t)+6r'(t)+8r(t)=2*e(t) b=0,0,2; %系统函数h(s)分子多项式系数a=1,6,8; %系统函数h(s)分母多项式系数hw1,w1=freqs(b,a); %求连续时间系统频率响应 figure(1)subplot(2,1,1);zplane(b,a);title('连续时间系统零极点图'); subplot(2,2,3);plot(w1/pi,abs(hw1)xlabel('rad/s');ylabel

13、('|h(jw)|');title('连续时间系统幅频响应'); subplot(2,2,4);plot(w1/pi,angle(hw1)xlabel('rad/s');ylabel('phase');title('连续时间系统相频响应'); %差分方程为 y(n)-0.5*y(n-1)+4/5*y(n-2)=3*x(n)-0.6*x(n-1);b=3,-0.6; %系统函数h(z)分子多项式系数a=1,-0.5,4/5; %系统函数h(z)分母多项式系数hw,w=freqz(b,a); %求离散时间系统频率响应

14、figure(2)subplot(2,1,1);zplane(b,a);title('离散时间系统零极点图'); subplot(2,2,3);plot(w/pi,abs(hw)xlabel('w/pi)');ylabel('|h(ejw)|');title('离散时间系统幅频响应'); subplot(2,2,4);plot(w/pi,angle(hw)xlabel('w/pi');ylabel('phase');title('离散时间系统相频响应'); 结果图;结果分析:所显示零

15、极点等图符合验算结果(4)音乐合成程序设计对于任意一小段音乐,利用“十二平均律”计算该音乐中各个乐音的频率,产生并播放这些乐音。分析音乐的频谱,从中识别出不同的乐音。设计思路:根据时间长短来区别各个音符拍长短,根据频率高低来区别各个音符的音调,具体细节参考“十二平均律”,将每段乐音连接起来,使用sound函数播放乐音。对每段乐音进行傅里叶变换,分析其频谱。源程序:%基本题4,音乐合成程序设计,一分钱,2011010512clc,clear,close all,fs=8e3;freq=384,512,426.66,512,426.66, 320,384,288,320,384, 320,384,

16、426.66,512, 384,426.66,384,320, 384,256,288, 320,288,256,288,320, 436.66,384,320,384,436.66 384,512,426.66,384,320,384,288, 384,288,320,256;n=1/2,1/2,1/4,1/4,1/2, 1/4,1/4,1/4,1/4,1, 1/4,1/4,1/4,1/4, 1/4,1/4,1/4,1/4, 1/4,1/2,1, 1/4,1/4,1/4,1/4,1, 1/4,1/4,1/4,1/4,1, 1/4,1/4,1/4,1/4, 1/4,1/4,1/2, 1/4,1

17、/4,1/2,1/2*fs;d=zeros(1,sum(n);x=1;for k=1:42 d(x:x+n(k)-1)=(sin(2*pi*freq(k)*(1/fs:1/fs:n(k)/fs); x=x+n(k);end;sound(d,fs);结果分心:所听音乐符合预期。(5)调制分析单位冲激响应为的系统的滤波特性,画出其幅频响应曲线。设计思路:根据傅里叶变换特性,时域相乘对应频域卷积,将题目中的时域波形进行分解,并将两个函数分别对应的傅里叶变换进行卷积。参考常用的傅里叶变换对,所求的频域特性为方波和冲击函数的卷积。源程序:%基本题5,调制,2011010512clc,clear,clos

18、e all,fs=300;t=-10:1/fs:10;n=length(t); n=-(n-1)/2:(n-1)/2;h=sin(50*pi*t).*sin(100*pi*t)./(pi*t+0.00001); f1=fft(h);fn=fftshift(f1);f=n/n*fs; figure(1)plot(t,h),xlabel('t'),ylabel('amplitude'),title('h(t)'); figure(2)plot(f,abs(fn),xlabel('w'),ylabel('amplitude

19、9;),title('modulation');结果图;结果分析:所得结果符合演算过程,与预期一致。(二)提高部分题目1、音乐合成 2011010512 设计思路:通过定义每个音来写乐谱,在加包络谐波,在播放音乐,后画出波形。 源程序%提高题 音乐合成clear;clc;close all;tune_based=220*2(3/12) 2(5/12) 2(7/12) 2(8/12) 2(10/12) 2(12/12) 2(14/12) ; %c调h_tune=2*tune_based;l_tune=0.5*tune_based;l_dao=l_tune(1); %将“l_dao

20、”宏定义为低音“1”的频率262hzl_re =l_tune(2); %将“l_re”宏定义为低音“2”的频率286hzl_mi =l_tune(3); %将“l_mi”宏定义为低音“3”的频率311hzl_fa =l_tune(4); %将“l_fa”宏定义为低音“4”的频率349hzl_sao= l_tune(5); %将“l_sao”宏定义为低音“5”的频率392hzl_la =l_tune(6); %将“l_a”宏定义为低音“6”的频率440hzl_xi =l_tune(7); %将“l_xi”宏定义为低音“7”的频率494hz%以下是c调中音的音频宏定义dao= tune_based

21、(1); %将“dao”宏定义为中音“1”的频率523hzre= tune_based(2); %将“re”宏定义为中音“2”的频率587hzmi= tune_based(3); %将“mi”宏定义为中音“3”的频率659hzfa= tune_based(4); %将“fa”宏定义为中音“4”的频率698hzsao= tune_based(5); %将“sao”宏定义为中音“5”的频率784hzla= tune_based(6); %将“la”宏定义为中音“6”的频率880hzxi= tune_based(7); %将“xi”宏定义为中音“7”的频率523h %以下是c调高音的音频宏定义h_d

22、ao= h_tune(1); %将“h_dao”宏定义为高音“1”的频率1046hzh_re= h_tune(2); %将“h_re”宏定义为高音“2”的频率1174hzh_mi= h_tune(3); %将“h_mi”宏定义为高音“3”的频率1318hzh_fa= h_tune(4); %将“h_fa”宏定义为高音“4”的频率1396hzh_sao= h_tune(5); %将“h_sao”宏定义为高音“5”的频率1567hzh_la= h_tune(6); %将“h_la”宏定义为高音“6”的频率1760hzh_xi= h_tune(7); %将“h_xi”宏定义为高音“7”的频率1975

23、hz % 简谱 欢乐颂 song=mi mi fa sao. sao fa mi re. dao dao re mi. mi re re ,. mi mi fa sao. sao fa mi re. dao dao re mi. re dao dao ,. re re mi dao. re mi fa mi dao. re mi fa mi re. dao re l_sao mi. mi mi fa sao. sao fa mi fa re. dao dao re mi. re dao dao 0;delay=0.5*1 1 1 1,. 1 1 1 1,. 1 1 1 1,. 1.5 0.5

24、1 ,. 1 1 1 1,. 1 1 1 1,. 1 1 1 1,. 1.5 0.5 1 ,. 1 1 1 1,. 1 0.5 0.5 1 1,. 1 0.5 0.5 1 1,. 1 1 1 1,. 1 1 1 1,. 1 1 1 0.5 0.5,. 1 1 1 1,. 1.5 0.5 1 1;% 设置采样精度fs=8000;% 生成波形wav_normal=0; %普通波形wav_low=0; %低八度波形wav_hight=0; %高八度的波形wav_envelope_only=0; %包络的波形wav_envelope_harmonic=0; %加包络加谐波的波形m=1;for i=1:

25、length(song) n=1:fs*delay(i); temp=sin(2*pi*song(i)*n/fs); %普通 temp_low=sin(pi*song(i)*n/fs); %低八度 temp_highet=sin(4*pi*song(i)*n/fs); %高八度 temp_envelope=exp(-1/4000)*n); %指数衰减包络 temp_harmonic=0.2*sin(4*pi*song(i)*n/fs); %2倍频谐波 wav_normal(m:m+fs*delay(i)-1)=temp; %正常波形 wav_low(m:m+fs*delay(i)-1)=tem

26、p_low; %低八度波形 wav_hight(m:m+fs*delay(i)-1)=temp_highet; %高八度波形 wav_envelope_only(m:m+fs*delay(i)-1)=temp.*temp_envelope; %只加包络波形 wav_harmonic_only(m:m+fs*delay(i)-1)=temp+temp_harmonic; %只加谐波波形 wav_envelope_harmonic(m:m+fs*delay(i)-1)=(temp+temp_harmonic).*temp_envelope; %包络谐波波形 m=m+fs*delay(i);end%

27、 播放sound(wav_normal,fs); %播放原始声音sound(wav_envelope_only,fs); %播放加包络声音sound(wav_envelope_harmonic,fs); %播放加包络加谐波声音% 抽取前13个音符(8秒)分析包络与谐波num_song=13;length_num_song=fs*sum(delay(1:num_song);figure;subplot(311);plot(1:length_num_song)/8000,wav_normal(1:length_num_song);xlabel('时间/s');ylabel('

28、;幅值');title('普通 无包络 无谐波 波形图');subplot(312);plot(1:length_num_song)/8000,wav_envelope_only(1:length_num_song);xlabel('时间/s');ylabel('幅值');title('加包络 无谐波 波形图');subplot(313);plot(1:length_num_song)/8000,wav_envelope_harmonic(1:length_num_song);xlabel('时间/s');

29、ylabel('幅值');title('加包络 加谐波 波形图');% 抽取前13个音符(8秒)分析频域谐波效果normal=abs(fftshift(fft(wav_normal(1:length_num_song); %普通频谱图harmonic=abs(fftshift(fft(wav_harmonic_only(1:length_num_song);%加谐波频谱图fft_rang=(0:length_num_song-1)/length_num_song*fs-fs/2; %频域范围figure;subplot(211);plot(fft_rang,no

30、rmal);xlabel('频率/hz');ylabel('幅值');title('普通音无谐波频谱图');subplot(212);plot(fft_rang,harmonic);xlabel('频率/hz');ylabel('幅值');title('普通音加谐波频谱图');figure;% 抽取前13个音符(8秒)分析频域的高八度低八度效果hight=abs(fftshift(fft(wav_hight(1:length_num_song); %高八度频谱图low=abs(fftshift(ff

31、t(wav_low(1:length_num_song); %低八度频谱图subplot(311);plot(fft_rang,normal);xlabel('频率/hz');ylabel('幅值');title('普通音频谱图');subplot(312);plot(fft_rang,low);xlabel('频率/hz');ylabel('幅值');title('低八度音频谱图');subplot(313);plot(fft_rang,hight);xlabel('频率/hz')

32、;ylabel('幅值');title('高八度音频谱图');结果分析:与预期一致 听到音乐也和预期一致。6、设计总结通过这次试验,我明白了学到的知识只有会用才有价值,只有在应用中才能找到自己的不足并加以弥补,如果我们不去将知识应用,那我们学的东西将失去价值。在设计过程中,自己学会了matlab软件的部分功能,在今后的生活中我希望能够学到更多!在设计工程中我遇到了很多困难,但是我坚持作了下来,这对我来说是一次磨练,令我更加坚强。在今后的生活中,当我们遇到困难我们不应该轻言放弃而是应该坚持,努力实现自己的目标。参考文献1 郑君里、应启珩 、杨为理,信号与系统引论,北京:高等教育出版社,2009年3月.2 谷

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论