ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:194.11KB ,
资源ID:9219142      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9219142.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(至诚matlab实验报告.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

至诚matlab实验报告.docx

1、至诚matlab实验报告 至诚学院 MATLAB 实践 课程设计学生姓名: 学 号: 专业班级: 指导教师: 二一二 年 四月十四日目 录1.设计目的32.题目分析33.总体设计44.具体设计45.心得体会146.参考书目151、 设计目的(1)通过MATLAB实践设计的训练,提高学生对已学相关专业知识的掌握和应用水平(2)培养学生将已学课程基础理论与实践环节实际相结合。(3)运用MATLAB实现MATLAB的GUI程序设计。(4)培养学生合理安排实现设计的基本程序流程,利用强大的仿真功能与丰富的工具箱来制作、调试、评价自己设计的作品。(5)培养学生的工程实践能力,增强学生程序设计能力和解决实

2、际问题的能力。提高学生实践动手能力,为日后参加工作奠定一定的实践基础。2、题目分析学习MATLAB GUI程序设计,设计和实现一个音乐键盘仿真系统。要求:按照软件工程方法,根据需求进行程序的功能分析和界面设计,给出设计详细说明。然后按照自己拟定的功能要求进行程序设计和调试。 以下几点是程序的功能,供参考。 1)设计音乐键盘GUI界面,实现单音键盘的发声。 2)实现键盘的双音多频,即每个键盘对应低音频组的一个频率和高音频组的一个频率,实现按键的发出双音。 3)能改变音乐包络形式,实现音型的改变。 4)能够演奏一段音乐。3、总体设计4、具体设计4.1 GUI界面设计(1)Pushbutton 36

3、个:钢琴键盘的仿真设置;Pushbutton 1个:音区包络复位。(2)Axes 17个:背景图(3)Edit Text 1个:标题(4)Pop-up Menu 1个:音乐播放区(5)Menu Editor:功能模块的选择设计界面如下:4.2钢琴键盘原理:从小字组到小字一组之间共12键,7个白键,5个黑键,按规定每相邻半音的频率比值为122=1.059463,根据这规定,就可以得出钢琴上每一个琴键音的频率。如与a1右边相邻a1的频率是4401.059463466.16372Hz;再往上,b1的频率是493.088321Hz;c2的频率是523.25099.同理,与a1左边相邻的g1的频率是44

4、01.059463415.030473Hz。用CDEFGAG来表示不同的音名,一次唱成do,re,mi,sol,la,si(简谱:1234567)又称唱名(syllable names)。每个唱名并未固定基波频率,当指定乐曲的音调时才知道此时对应的音名,亦即确定了对应的频率值。使用组建Pushbutton,并且运用其回调函数Callback。函数代码如下:k=2.(1/12);t00=220.*(k.0);n=0:1/8000:0.3;global a0 b0 c0o=isempty(a0);p=isempty(b0);if (o=1|p=1) msgbox(请选择音区、包络,oh,My Go

5、d!,warn)elseswitch b0 case 1 x=exp(-2*n); case 2 x=sawtooth(1*pi*n); otherwise x=square(1*pi*n);end endif(c0=1) t0000=x.*sin(t00*2*pi*n);else t0000=x.*(sin(t00*2*pi*n)+0.5*sin(t00*4*pi*n)+0.3*sin(t00*6*pi*n);end soundsc(t0000)根据原理回调每个键的程序。4.3选音区使用全局变量定义a0,设置在菜单中,根据不同的值设置低音,中音,高音。function Untitled_5_

6、Callback(hObject, eventdata, handles)% hObject handle to Untitled_5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global a0a0=50;(低音)global a0a0=110;(中音)global a0a0=440;(高音)菜单中选择如下:4.4包络选择区使用全局变量定义b0,设置在菜单中,根据不

7、同的值设置指数包络、三角包络、方波包络。function Untitled_9_Callback(hObject, eventdata, handles)% hObject handle to Untitled_9 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global b0b0=1;(指数包络)global b0b0=2;(三角包络)global b0b0=3;(方

8、波包络)菜单中选择如下:当取得b0的之后,进入switch循环判断选择哪个包络。 switch b0 case 1 x=exp(-2*t); case 2 x=sawtooth(1*pi*t); case 3 x=square(1*pi*t); end4.5音频选择区使用全局变量定义c0,设置在菜单中,根据不同的值设置单音单频和双音多频。function Untitled_13_Callback(hObject, eventdata, handles)% hObject handle to Untitled_13 (see GCBO)% eventdata reserved - to be d

9、efined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global c0c0=1;(单音单频)global c0c0=2;(双音多频)菜单中选择如下:4.6音乐播放区利用Pop-up Menu回调函数,播放一闪一闪亮晶晶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/

10、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

11、)+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.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/

12、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);sounds

13、c(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.*(

14、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

15、.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

16、*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*

17、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

18、);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

19、.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

20、;x=exp(-2*n);f0000=x.*(sin(f00*2*pi*n)+0.5*sin(f00*4*pi*n);soundsc(f0000);4.7音区包络复位区利用Pushbutton回调函数进行复位。function pushbutton41_Callback(hObject, eventdata, handles)% hObject handle to pushbutton41 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with ha

21、ndles and user data (see GUIDATA)clear global复位完后按下音乐键盘会提示重新选择所需的音区、包络、音频。程序如下:global a0 b0 c0o=isempty(a0);p=isempty(b0);if (o=1|p=1) msgbox(请选择音区、包络,oh,My God!,warn)4.8 背景图利用axes回调函数Imshow(12.jpg)5、小结和心得通过本次的MATLAB实践设计的训练,复习了大量的理论知识,提高了对所学知识的理解,在选题过程中的理论知识复习以及制定设计基本程序流程中都得到很大的能力提高,特别在动手实践过程中,因对GUI

22、界面的不熟悉,导致布局不美观,经过与同学探讨得以解决,在回调函数中,遇到单音单频和双音双频不懂如何选择,只知道用switch 或if函数,具体的程序在这块浪费了大量的课上课下时间,后经老师提点得以解决,运用同样的思路比较顺利地完善了包络选择,利用强大的仿真功能与丰富的工具箱来制作、调试、评价自己设计的作品,确实不仅提高了我们的动手能力,还提高了发现问题,思考问题,解决问题的能力,以及与同学互相探讨,沟通的能力,同时也发现了MATLAB这门课原来有很强大的功能,只是平时拘于理论而导致认识不深,本次的实践可谓意义非凡啊!看看,这是我的小小成果哦!参考书目:(五号,宋体加粗)1、基于MATLAB的信号与系统试教程 徐利民 舒军等编著 清华大学出版社2、MATLAB实用教程 郑阿奇 电子工业出版社3、信号系统-MATLAB综合实验 谷源涛 高等教育出版社

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1