2022年Matlab课程设计报告讲解学习.pdf
-
资源ID:12867792
资源大小:697.75KB
全文页数:13页
- 资源格式: PDF
下载积分:4.3金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年Matlab课程设计报告讲解学习.pdf
资料收集于网络,如有侵权请联系网站删除word 可编辑至诚学院 MATLAB 实践 课程设计学生姓名:学号:专业班级:指导教师:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 13 页 - - - - - - - - - - 资料收集于网络,如有侵权请联系网站删除word 可编辑目录1. 设计目的 3 2. 题目分析 3 3. 总体设计 3 4. 具体设计 4 5. 小结和心得 7 6. 参考文献 8 7. 附录 8 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 13 页 - - - - - - - - - - 资料收集于网络,如有侵权请联系网站删除word 可编辑1、设计目的运用 MATLAB 实现 MATLAB 的 GUI程序设计。培养学生的工程实践能力,增强学生的程序设计能力和解决实际问题的能力。通过MATLAB 实践设计的训练,提高学生对已学相关专业知识的掌握和应用水平。通过学习侧重培养学生树立如何运用所学的专业基础课程来选择设计题目,并培养学生合理安排实现设计的基本程序流程, 利用强大的仿真功能与丰富的工具箱来制作、调试、评价自己设计的作品。 通过课程实践教学,培养学生将已学课程基础理论与实践环节实际相结合。提高学生实践动手能力, 为日后参加工作奠定一定的实践基础。也让我们明白了程序设计和 MATLAB 软件的应用。2、题目分析学习 MATLAB GUI 程序设计,设计和实现一个音乐键盘仿真系统。要求:按照软件工程方法,根据需求进行程序的功能分析和界面设计,给出设计详细说明。然后按照自己拟定的功能要求进行程序设计和调试。以下几点是程序的功能:(1)设计音乐键盘 GUI界面,实现单音键盘的发声。(2)实现键盘的双音多频,即每个键盘对应低音频组的一个频率和高音频组的一个频率,实现按键的发出双音。(3)能改变音乐包络形式,实现音型的改变。(4)能够演奏一段音乐。(5)能够显示集成音乐的曲谱,并且将之播放。(6)能够在动态框输入想要的曲谱,并且将之播放。(7)能够读取电脑键盘的相应,发出与钢琴键盘对应的声音3、总体设计3.1 功能模块(1)钢琴键盘:先选择音高和包络,点击钢琴键盘即可发音。(2)电脑键盘:先选择音高和包络,点击相应电脑键盘即可发音。(3)音高和包络的选择:从菜单栏选择。(4)自主输入曲谱和播放:从动态框输入曲谱并播放。(5)集成曲目的选择和播放:从菜单栏选择并播放。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 13 页 - - - - - - - - - - 资料收集于网络,如有侵权请联系网站删除word 可编辑(6)使用指南、关于软件、退出:从菜单栏选择。3.2 软件设计思路4、具体设计4.1 总体界面设置通过这次的设计,总共实现了以下五个功能模块,其中包括:1. 音乐键盘 GUI界面的设置,包括界面画面的设置。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 13 页 - - - - - - - - - - 资料收集于网络,如有侵权请联系网站删除word 可编辑2. 这次总共用了实现单音键盘的发声。3. 实现键盘的双音多频, 即每个键盘对应低音频组的一个频率和高音频组的一个频率,实现按键的发出双音。4. 实现音型的改变,能改变音乐包络形式。5. 能够演奏一段音乐,音乐的名字是小星星。4.2 ,各个功能模块实现第一点,界面的设置:这次共用了12 个键盘。及其七个图相框,其中键盘一组之间共12 键 ,7 个 白键, 5 个 黑键 ,按 规定每 相邻 半音 的频 率比值为122=1.059463,还有一个静态文档, 一个文本框组成。 图片采用以下图片和及其应用程序。第二点,实现单音的发音。单音的发音主要是老师给的一个程序,通过更改n的值可以改变音的长短, 改变f00 的频率就可以改变音质, f0000=sin(f00*2*pi*n);是一个主音频率, soundsc(f0000);是播放声音。k=2.(1/12); f00=220; n=0:1/8000:1; f0000=sin(f00*2*pi*n); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 13 页 - - - - - - - - - - 资料收集于网络,如有侵权请联系网站删除word 可编辑soundsc(f0000); 第三点, 实现键盘的双音多频。 通过在单音的基础上加上一个谐波或者多个谐波,让主音频率出现叠加。 这个不仅可以让音质得到根本上的提高,也可以调节声音让其变的更加悦耳。k=2.(1/12); f00=220.*(k.12); n=0:1/8000:0.3; f0000=(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); 第四点,实现音型的改变,能改变音乐包络形式。这个主要是在f0000的单音或者多音的基础上加上一个包络,可以用方波,锯齿波,三角波等函数和它相乘第五点,能够演奏一段音乐, 音乐的名字是小星星。 这个原理主要是通过根据谱来使得一个个音来拼凑而成, 在改变一下它的播音时间, 就可以较为连贯的播出。具体程序参见附录。4.3 各模块的调试结果。4.3.1 ,能够通过单音播放音乐,根据老师所给的单音,可以让键盘播出一个拉长的音,通过更改n 的间隔范围或者取值范围可以让音变得拉长或者变短。本题通过把 0 到 0.3 之间取值范围为8000 份。经过调试可以成功。4.3.2 ,多音多频的调节主要是在于主函数加上的其他谐波函数,这次是加上0.5.*sin (f00*4*pi*n) ,当然也可以加上更多的谐波,让音质得到一定的变更,此次调试也得到了成功。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 13 页 - - - - - - - - - - 资料收集于网络,如有侵权请联系网站删除word 可编辑4.3.3 ,包络的添加及其改变主要还是通过包络函数,本次采用的是e 指数的衰减函数,当然可以添加其他的包络, 这样的添加效果可以改变音质,听出来的感觉与没有加包络的感觉是不一样的。同理其他包络也是一样。 起初添加的包络和函数没有匹配,导致演奏不出来,经过检查得到了改正。4.3.4 ,歌曲的添加,这次添加的歌曲通过百度得到小星星的歌谱,然后在通过叠加得到了这首,当然添加其他的也行。起初,听起来的声音是拉长音,通过更改 n 的值得以连贯。5、小结和心得通过这次实践,让我学到了很多,明白了很多。首先在第一节课郑老师讲的MATLAB 的 GUI 界面设置包括各个键的功能以及回调函数的应用和通过课后的练习,让我对这次实践有了进一步的理论和实践基础。在写下MATLAB 设计任务安排的时候,期间的进度由于事先没有写详细以至于在安排的进度上出现了小差错,导致做出来的作品不够完善。在摸索的道路上慢慢前行, 在第一周的时候做出了单音,在通过问老师,同学和上网查找资料的基础上,慢慢加上了包络,和双音双频等,经过这次的亲自实践熟悉和掌握MATLAB 程序设计方法,掌握了最基础的 MATLAB GUI 程序设计,学习了音乐合成基本知识。当然这次实验也存在着不足,虽然懂的添加文本选择框, 但是却没有正确的回调函数让其运行,使得能够添加更多的功能和演奏项目。虽然用了if else 但是还是不行,通过老师的指导用 swith case 但是中途中还是出现了不足之处,系统提示出现错误,所以经过这次的实践也让自己明白了一个人的力量是有限了,需要和同学们进行商量与讨论。经过这次 MATLAB 实践课,充分的让自己尝试的结果得到体验与能力得到体现。相信不仅仅通过这门课让自己在毕业前得到了一次很好的锻炼,更是希望能精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 13 页 - - - - - - - - - - 资料收集于网络,如有侵权请联系网站删除word 可编辑够引以为鉴, 争取在程序中得到加强, 在其他设计方面得到进一步突破,让自己不断积累经验。 通过这个也让我明白了这门课的有趣与神奇。以下是经过整改和修正后的最终图片,功能在过程中在添加文本中失败, 以及程序最终没能够成功,以至于用简单的程序完成此次的实践,虽然这门课程结束了, 但是也希望自己能够在接下来中更加的出色。6、参考书目 :1 MATLAB 实用教程郑阿奇电子工业出版社2 信号系统 -MATLAB 综合实验谷源涛高等教育出版社3 基 MATLAB 的信号与系统试教程徐利民 舒军编著清华大学出版社4 信号与系统 MATLAB 综合实验谷源涛高等教育出版社7、附录7.1 一闪一闪亮晶晶歌曲程序附录k=2.(1/12); f00=220.*(k.3); n=0:1/8000:0.3; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.3); n=0:1/8000:0.3; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.10); n=0:1/8000:0.3; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.10); n=0:1/8000:0.3; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 13 页 - - - - - - - - - - 资料收集于网络,如有侵权请联系网站删除word 可编辑k=2.(1/12); f00=220.*(k.12); n=0:1/8000:0.3; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.12); n=0:1/8000:0.3; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.10); n=0:1/8000:1; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.8); n=0:1/8000:0.3; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.8); n=0:1/8000:0.3; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.7); n=0:1/8000:0.3; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.7); n=0:1/8000:0.3; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.5); n=0:1/8000:0.3; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.5); n=0:1/8000:0.3; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.3); n=0:1/8000:1; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.10); n=0:1/8000:0.3; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.10); n=0:1/8000:0.3; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.8); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 13 页 - - - - - - - - - - 资料收集于网络,如有侵权请联系网站删除word 可编辑n=0:1/8000:0.3; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.8); n=0:1/8000:0.3; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.7); n=0:1/8000:0.3; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.7); n=0:1/8000:0.3; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.5); n=0:1/8000:1; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.10); n=0:1/8000:0.3; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.10); n=0:1/8000:0.3; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.8); n=0:1/8000:0.3; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.8); n=0:1/8000:0.3; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.7); n=0:1/8000:0.3; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.7); n=0:1/8000:0.3; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); k=2.(1/12); f00=220.*(k.5); n=0:1/8000:1; x=exp(-2*n); f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n); soundsc(f0000); 7.2 乐音基本知识声音是由物体振动(如声带琴弦等)产生的波, 人类能听到的声音频率范围精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 13 页 - - - - - - - - - - 资料收集于网络,如有侵权请联系网站删除word 可编辑集中在 10-20kHZ,低于该范围的声波称次声波,高于该范围的称为超声波。声音的强弱由振幅决定人耳听力范围为0-120dB 左右。 声音的频率和振幅会随着时间的改变而改变,并最终趋于静止,一般把声音的发展过程分为四个阶段,分别为触发,衰减,保持和消失,这四个阶段称为“包络”,包络时间就是一个声音的长短。 音乐是乐音随时间流动而形成的艺术。从信号系统的角度看, 音乐就是周期信号频率随着时间变化的一种表述,乐谱上的每个音符表达了此时此刻规定出现的信号频率和持续时间。1 音乐曲调由音阶组成,音阶由音组成。不同的音有不同的振动频率,声音振动的频率决定了的音符的音高 (pitch ) 。人们选取一定频率的音符来形成音乐体系所需要的音高。 不同音高的乐音, 用 CDEFGAB表示的, 这七个拉丁字母就是乐音的音名( Pitch Name) 。音名对应固定的基波信号频率,如每秒振动440 次的声音是目前国际通用的标准音A。物体振动发音往往包含复杂的频谱结构,如小提琴,A 弦振动时,除了产生主要的基音频率( 440HZ )还产生基音的1/2 ,1/3 ,1/4 频率的泛音。如果过一个物体振动所发出的泛音为基音的整数倍,这个音具有清晰可辨的音高, 而噪音通常不具备该条件。 我们把这些按顺序排列的泛音称为泛音列,由于不同物体有不同特征的泛音列,这些泛音列的排列也就构成了声音的特性:音质。因此,乐音的基本特征可以用基波频率,谐波频率和包络波形三方面描述。7.2.1 乐音的基波十二平均律(十二等程律)是将8度的音程( 2 倍频程)按频率等比率地分成十二等分,每一等份称为一个半音即小二度。一个大二度(即全音)则是两等份。半音是十二平均律组织中最小的音高距离。升高半音用“#”符号表示,降低半音用“ b”符号表示。十二平均律在交响乐队和键盘乐器中得到广泛使用,现在的钢琴即是根据十二平均律来定音的。如:小字组 a(对应钢琴键是37)的频率值Hzfa2200小字 1 组 a1(对应钢琴键是 49A)的频率值Hzfa4401从小字组到小字一组之间共12 键,7 个白键,5 个黑键,按规定每相邻半音的频率比值为122=1.059463,根据这规定,就可以得出钢琴上每一个琴键音的频率。用 CDEFGAG 来表示不同的音名,一次唱成do,re,mi,sol,la,si(简谱:1234567)又称唱名( syllable names ) 。每个唱名并未固定基波频率,当指定乐曲的音调时才知道此时对应的音名,亦即确定了对应的频率值。 例如,若指定乐曲为 C调,此时唱名与音名的对应关系如下图所示:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 13 页 - - - - - - - - - - 资料收集于网络,如有侵权请联系网站删除word 可编辑可见,1 音对应频率 261.63Hz 。还可以看出, 34 和 7i 唱名之间对应半音,其余唱名之间对应全音。如果改为 F 调,唱名和音名的对应关系如下图所示其中,它的 1 对应 F,频率值为 349.23Hz,为了保持 34 之间的半音规律,4 对应bB。7.2.2 乐音的谐波乐音谐波(泛音)的作用是改变乐音的音色。 无论是钢琴的弦和人生的振动,都不是纯净的基音, 从基音的泛音开始, 纯八度纯五度的各度紧随其后,每个乐器都有各自的谐波分布规律, 如单簧管的三次五次谐波成分很强。我们把按顺序排列起来的泛音, 称为泛音列。 不同的物体可以具有不同数量的泛音列,这些泛音列几乎无限的排列组合构成物体的个数音质。如果只考虑乐音的基波成分,每个音名对应不同频率的正弦/ 余弦波,当引入谐波后,波形不再是简单的正弦函数,可能成为锯齿波或三角波等。7.2.3 音乐包络乐音包络是描述乐音特征的一个重要因素,不同类型的乐器演奏的音符, 是类似通信系统中的调制,即)cos()(wttf形式的信号。寻找不同乐器演奏不同音符,可以进行较逼真的电子音乐合成。7.2.4 乐音的持续时间音调的持续时间取决于它是全音符,二分之一音符还是八分之一音符。很明显,1/4 音符的持续时间是1/8 音符的两倍。而每个音符之后的停顿时间相同,在乐谱中,更长的停顿时间要用休止符来表示。7.2.5 音符的重叠音乐演奏中相邻的音符有时会有重迭,就是当一个音调还没有消失时, 另一个已经开始演奏,称“音符的叠接” 。数学表示为:)()()()(21ttgttftgtf,10精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 13 页 - - - - - - - - - - 资料收集于网络,如有侵权请联系网站删除word 可编辑)(1tf和)(2tf是演奏的前后音符。这样听起来会更连续,较少断音。叠接时两个信号的幅度差别要大,以保证被区分开来。多声部音乐中, 按一定的音程关系 (主要为三度) 叠置起来的三个或三个以上的音同时或先后发声成为和弦。主要包括三和弦 (三个音) ,七和弦(四个音),变和弦(包含变音)几种类型。7.3MATLAB 乐音模拟音频操作函数:通用音频操作函数audioplayer 创建声音播放对象audiorecorder 麦克风端口实时声音获取lin2mu 线形音频转为 律压扩音频mu2lin 律压扩音频转为线形音频sound 把向量转化为声音对象播放soundsc 数据被自动校正幅度和除直流后播放beep SPARC 工作站声音文件管理auread 读取.au 类型文件auwrite 写入.au 类型文件wavplay 播放.wav 文件wavread 读取.wav 文件wavrecord 从音频输入接口录音wavwrite 写入.wav 文件精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 13 页 - - - - - - - - - -