1 / 15
文档名称:

matlab电子琴说明书.doc.doc

格式:doc   页数:15页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

matlab电子琴说明书.doc.doc

上传人:wo1230 2014/9/22 文件大小:0 KB

下载得到文件列表

matlab电子琴说明书.doc.doc

文档介绍

文档介绍:基于MATLAB的数字
电子琴设计
日期:2011-3-25
姓名:王之海、郑俊超、张楠、杜坤
组号:第一组
目标与范围

随着计算机软硬件技术的发展,越来越多现实物品的功能能够由计算机实现。也就是我们经常所说的将硬件设备软件化,这样做的好处很多,比如说将成本降低,易于实现,修改容易并且可以进行仿真。现在比较成熟的这类软件有很多,比如说LABVIEW。基于这样的考虑我们进行了数字电子琴的模拟仿真实验。这样一个实验的进行会为以后的学习工作中奠定一定的基础。
信号处理原理
数字信号发生器的功能就是将数字信号通过D/A转换变成所需要的模拟信号。由于声卡本身具有D/A转换的功能,从而可以利用声卡在计算机了模拟信号发生器。
声卡的D/A转换机理是定时将声卡缓冲区中的内容转换成模拟信号并输出,所以软件所做的即是向声卡缓冲区中写数据。
以正弦信号为例,其模拟信号计算工时如下
为实现数字信号的发生,在程序中先根据公式计算出需要存放到缓冲区的数据,以数组的形式存放,然后将数据存放入声卡的缓冲区。
对于方波,y=sign(sin(2*pi*f*t+p))
对于其它波形,可以用类似方法实现。
软件的流程图如图所示

数字电子琴的流程图
系统的功能分析
软件的功能由数字信号发生器和数字电子琴两部分组成。
数字信号发生器的功能
能够产生正弦波、方波、三角波等常见的波形的数字信号,并且提供了图形界面用于选择波形、频率、幅值与相位。能够根据用户指定的波形和参数产生相应的数字信号,然后将数字信号写入声卡的缓冲区,最后由声卡播放出相应的声音。
(2)数字电子琴的功能
1)数字电子琴的功能是基于数字信号发生器的,通过条用数字信号发生器产生一系列指定的频率的声音,从而达到虚拟的电子琴的功能,界面中包含do/rai/mi…共16个琴键,;并可通过键盘敲击按键进行琴音播放。
2)可播放wav格式文件;
3)进行图形绘制;
4)进行背景色的更换;
5)添加(去除)网格、边框功能;
6)退出程序。
系统的界面设计
根据软件的功能需求,可设计如图所示的操作界面
电子琴的GUI界面
主要包括三个部分:第一为波形控制区,可进行波形等各种参数设置;第二是按键控制区,用于对各种按键进行操作;第三是绘图命令区,用于手动输入命令进行绘图,可以编制多种复杂命令追溯原音频率。第四是琴键区,包括从do到#do共16个音键;第五为背景颜色调整区,为下拉菜单,可对背景颜色进行选择。
系统的模块设计

模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户需求。根据人类解决一般问题的经验,如果一个问题由两个问题组合而成,那么它的复杂程度大于分别考虑每个问题时的复杂程度之和,也就是说把复杂的问题分解成许多容易解决的小问题,原来的问题也就容易解决了。这就是模块化的根据。
对GUI的模块进行如图所示的模块划分:
数字电子琴的模块划分

后台程序设计
对每个对象进行回调函数的设计,首先介绍do~#do按钮的设计,先进行回调函数设计,满足在按下相应按钮时输入对应的频率。
16键盘模块的设计是在GUI的界面上,把键设计出来后,激活后自动生成的,只需要按照D/A要求进行代码的转换。例如对do键的程序设置为:
function do_Callback(hObject, eventdata, handles)
根据回到函数找到do键的主函数位置,然后由difsound函数
来进行编写,其格式为:
difsound(,264,,);
其它键程序程序的编写都是基于这一原理进行编写的。在这里不在一一介绍。

控制模块的设计为在大模块的基础上进行波形、频率、幅值、相位以及默认值、开始按钮的添加,其原理与键的原理是一样的,也是通过callback函数来进行函数的编写。例如对波形的编写,可由callback来找到程序的位置,其程序为:
function option_Callback(hObject, eventdata, handles)
然后由get函数进行函数参数的调取为:
=get(hObject,'Value');
guidata(hObject,handles);
同样也是用这样的方法对频率、幅值、相位进行编写。
而对默认值的编写则是比较麻烦的,通过set函数来对默认值进行设置。其程序为:
set(,'Value',1);

最近更新

蠕动式缆索机器人模糊故障树分析与应用 3页

螺旋分选机研究 3页

蜂窝夹层复合材料不确定性参数识别方法 3页

表面形貌与特性 18页

虚拟化技术在漕溪能源转换工程技术研究中心的.. 3页

薄膜水墨应用过程中出现的问题及其原因 3页

蔬菜真空冷藏技术 3页

蒸发式冷凝器在12MW凝汽发电机组中的应用 3页

表格信息的加工和表达 20页

补充计算机绘图基本方法 79页

补充用牛顿第二定律解决问题(一) 23页

衣柜日常工作管理注意事项 27页

苯乙烯微乳液聚合的正交试验研究 4页

苏州古城区水体污染时空分异特征及污染源解析.. 3页

花青素类天然染料研究现状及展望 3页

2025年度个人车位租赁与车位租赁纠纷调解服务.. 8页

芦山地震经济重建研究——基于国内地震重建经.. 3页

2025年度个人抵押汽车贷款绿色金融合同 7页

2025年度个人安全操作事故处理服务合同 9页

2025年度个人住房贷款合同纠纷起诉状 8页

船舶铸钢尾轴架外形设计与技术要求 3页

行动成功张晓岚介绍 7页

2025年度专业技术人员创新创业基地建设聘用合.. 9页

舵机电位器的反馈位置误差补偿方法研究 4页

航道区海管回收与弃置主要施工程序研究 3页

2025年度5G通信技术入股合作协议书样本 8页

2025年多场合股份期权激励与股权变更合同 9页

2025年医学生培养定向就业协议书:医疗专业人.. 9页

2025年农村个人承包土地经营权抵押贷款合同书.. 8页

航天发动机壳体类零件电化学去毛刺加工工艺研.. 4页