数字信号发生器和数字电子琴摘要 Matlab 是一个具有数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等功能的工程有用软件。其易于使用的视窗环境,在很大程度上摆脱了传统非交互式程序设计语言(如 C、Fortran)的编辑模式。本文介绍了一种使用 GUI 工具箱,用 Matlab 实现虚拟数字信号发生器的设计。关键词 Matlab;信号发生器;数字电子琴1 概述MATLAB 是矩阵实验室(Matrix Laboratory)的简称,是美国 MathWorks 公司出品的商业数学软件。可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域.图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采纳图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。Matlab 自带了强大的 GUl 工具[1]。在本文中,将利用 Matlab 的 GUI 工具,设计出数字信号发生器和数字电子琴.信号发生器又称信号源或振荡器,是一种能提供各种频率、波形和输出电平电信号,常用作测试的信号源或激励源的设备,在生产实践和科技领域中有着广泛的应用。按信号波形可分为正弦信号、函数(波形)信号、脉冲信号和随机信号发生器等四大类[2].各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路被称为函数信号发生器。本文设计了一种可以产生正弦波、余弦波、方波、三角波、锯齿波、白噪声的虚拟数字信号发生器。2 技术路线虚拟数字信号发生器设计的流程图如图 2.1:图 2.1 数字信号发生器流程图在此基础上,将产生的数字信号写入声卡,即可播放出相应音阶的声音,实现电子琴的功能。初始化检测并接收用户输入:波形、幅值、频率、初始相位产生数字信号显示波形开始3 实现方法3.1 数字信号发生器3.1.1 搭建 GUI 界面图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采纳图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受.Matlab 凭借其强大的计算能力,系统集成能力以及图形处理能力,其图形用户接口(GUI)也日趋成熟。Matlab GUI 的控件丰富,调用方便,可视化效果美观。GUI 可以使得参数的输入...