基于MATLAB的数字信号发生器及简易电子琴设计论文

基于MATLAB的数字信号发生器及简易电子琴设计

摘 要

数字信号发生器是一种基于软硬件结合实现的函数波形产生仪器。在工程实践中需要检测和分析的各种复杂信号均可分解成各种简单信号之和,而这些简单信号皆可由数字信号发生器模拟产生,因此它在工程分析和实验教学中有着广泛的应用。MATLAB是一个数据分析和处理功能十分强大的工程实用软件,它的数据采集工具箱为实现数据的输入和输出提供了十分方便的函数和命令,在数字信号处理方面方便实用。本文介绍了一种使用MATLAB建立一个简单数字信号发生器的基本流程,并详细叙述了简单波形(正弦波、方波、三角波、锯齿波、白噪声、脉冲、阶跃、斜坡)信号的具体实现方法。最后,利用简单的正弦波信号和PC的声卡设计了一个简易电子琴。

关键字:MATLAB,数字信号发生器,简易电子琴

概述

随着计算机技术和测试技术的不断发展,传统的测试仪器正向虚拟化方向发展,特别是在试验教学领域。虚拟仪器作为现代仪器技术和计算机技术深层次结合的产物,更是得到了广泛应用。信号发生器原本是模拟电子技术发展的产物,但本文设计出的数字信号发生器是基于计算机软硬件实现的数字信号发生器,是一种虚拟仪器。

设计原理

常用的数字信号发生器一般可产生正弦信号、方波信号、三角波信号、锯齿波信号、白噪声信号、脉冲信号、阶跃信号、斜坡信号等。此时的数字信号又可称为离散信号,即时间为离散变量的信号。它只在离散时间上给出函数值,是时间上不连续的“序列”。离散时间的间隔是均匀的,以表示。的值由信号的采样频率决定。为保证采样后信号能真实地保留原始模拟信号信息,信号采样频率必须至少为原信号中最高频率成分的2倍。这是采样的基本法则,称为采样定理。本文为了使产生的数字信号更接近原始的模拟信号,采用的采样频率为原始信号频率的30倍。

MATLAB程序提供了常用的各种基本信号的生成函数。本设计需模拟的八种信号大部分都直接使用了MATLAB提供的函数,只有少数几个信号没有调用函数,直接编写的。为了模拟信号发生器的设置,本设计也将常用信号的幅值、频率、相位设计成可调的。

正弦信号的实现

正弦波信号的数学表达式如下式(2.1)所示,

(2.1)

其中:为幅值;为频率;为相位。

在MATLAB中,将时间变量离散化并构造成一个一维数组,如下式(2.2)所示,

(2.2)

其中:为采样频率。

相应的正弦波信号的数字信号表达式如下式(2.3)所示,

(2.3)

幅值、频率、相位参数可以由用户界面上的滑动条或编辑框输入。在分别得到与的离散值后,用plot作图函数即可获得波形显示。

方波信号的实现

在MATLAB中,可以用函数直接生成一个方波信号,其函数原型为,该函数可生成一个周期为,峰值为,占空比为的方波,的默认值为50%。

利用该函数,可得到幅值、频率、相位可调的方波信号函数如下式(2.4)所示,

(2.4)

三角波信号的实现

在MATLAB中,可以用函数直接生成一个三角波信号,其函数原型为,该函数可生成一个周期为,峰值为,最大值出现在位置的三角波。

利用该函数,可得到幅值、频率、相位可调的三角波信号函数如下式(2.5)所示,

(2.5)

锯齿波信号的实现

将上述2.3节中函数中的参数值设为1,即可得到锯齿波。利用该函数得到的幅值、频率、相位可调的锯齿波信号函数如下式(2.6)所示,

(2.6)

白噪声信号的实现

白噪声是指功率谱密度在整个频域内均匀分布的噪声。白噪声的实现可借助于MATLAB中的函数,它的功能是产生一个均值为0,标准差为1的随机数列或矩阵,该函数有多种调用形式,下式(2.7)即可得到一个均值为0,标准差为的维的随机矩阵。

(2.7)

其中,为幅值;。

脉冲信号的实现

考虑到脉冲信号与方波信号波形相似,故以方波信号函数函数为基础,将函数值加1,即可得到最大值为2,最小值为0的脉冲波形,原函数的参数可以用来调节脉冲的宽度。

利用该函数,得到的幅值、频率、相位可调的脉冲信号函数如下式(2.8)所示,

(2.8)

阶跃信号的实现

阶跃信号的数学表达式如下式(2.9)所示,

(2.9)

将上式用MATLAB程序语言转换一下,即可得阶跃信号函数如下式(2.10)所示,

(2.10)

斜坡信号的实现

斜坡信号的数学表达式如下式(2.11)所示,

(2.11)

其中,为斜坡的斜率。将上式中的时间离散化后,即可得到斜坡信号的数字

用matlab编程简单电子琴,基于MATLAB的数字信号发生器及简易电子琴设计论文.doc...相关推荐

  1. 基于matlab的数字信号发生器及简易电子琴设计,简易电子琴电路的设计仿真与实现课程设计...

    简易电子琴电路的设计仿真与实现课程设计 课程设计任务书 学生姓名: 专业班级: 指导教师: 工作单位: 信息工程学院 题 目: 简易电子琴电路的设计仿真与实现 初始条件: 可选元件:集成运算放大器LM ...

  2. matlab编程短路电流计算程序,基于MATLAB的短路电流计算程序开发

    软件 2014 年第 35 卷 第 11 期 SOFTWARE 国际 IT 传媒品牌 作者简介: 唐昊(1982-), 男, 工程师, 本科, 主要研究方向: 船舶电力系统分析与控制 基于 MATLA ...

  3. matlab怎么创建测试程序,基于MATLAB的自动化测试系统及方法与流程

    本发明涉及一种自动化测试系统及方法,特别涉及一种基于MATLAB的自动化测试系统及方法. 背景技术: 目前,无线电技术的应用越来越广,相关产品在日常生活中已经是无处不在.对于生产无线电产品的厂家来说, ...

  4. 基于matlab的2psk功率,基于matlab的相移键控系统仿真.doc

    <基于matlab的相移键控系统仿真.doc>由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关<基于matlab的相移键控系统仿真.doc>文档请在天天文库 ...

  5. 基于matlab的频率特性测试仪,基于MATLAB的频率特性测试仪_终稿

    基于MATLAB的频率特性测试仪_终稿 (15页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 基于MATLAB的低频频率特性测试虚拟仪器设 ...

  6. matlab功率谱的峰值,基于Matlab功率谱密度估计方法.doc

    基于Matlab功率谱密度估计方法 基于Matlab功率谱密度估计方法要在实际情况下, 许多平稳信号无法导出数学表达式, 要准确获取这些信号的功率谱密度存在一定的困难.根据维纳辛钦 (Wiener K ...

  7. Matlab之DNN:基于Matlab利用神经网络模型(epochs=10000000)预测勒布朗詹姆斯的2018年总决赛(骑士VS勇士)第一场得分、篮板、助攻

    Matlab之DNN:基于Matlab利用神经网络模型(epochs=10000000)预测勒布朗詹姆斯的2018年总决赛(骑士VS勇士)第一场得分.篮板.助攻 目录 输出结果 预测勒布朗詹姆斯的20 ...

  8. 光电编码器与计算机连接模块,计算机-谈述编码器基于增量光电编码器的车速制约器设计论文结论-优度********网...

    PI算法. 2.3 软件流程 该系统的软件部分主要由中断服务程序和主程序组成.图6给出了控制器的主程序流程图,主程序主要包括上电自检和对单片机进行初始化.PWM输出模块的初始化.启动定时器 .开中断. ...

  9. 嵌入式linux音频播放器设计,基于嵌入式Linux下Madplay音频播放器设计论文.docx

    基于嵌入式Linux下Madplay音频播放器设计论文 滁州职业技术学院计算机应用技术专业毕业论文PAGE I 滁州职业技术学院信息工程系--2015届计算机应用专业毕业论文 姓 名: 周杰 班 级: ...

最新文章

  1. php 的webservice类库NuSoap介绍
  2. KL 损失的边界框回归
  3. 数据分析软件python 对电脑的要求-数据分析5大软件PK,你最爱哪个?
  4. 四叶草社交平台——十天冲刺(5)
  5. “docker-app”实用工具分享,大大提高 Compose 文件复用率
  6. 【深度揭秘】百度、阿里、腾讯内部岗位级别和薪资结构,附带求职建议!
  7. 【英语学习】【WOTD】scavenger 释义/词源/示例
  8. JUnit4单元测试、JUnit4使用详解、assertThat用法
  9. Linux禁止ping以及开启ping的方法
  10. 33.MySQL高可用架构
  11. Atitit 减少财政支出之减少通讯支出 解决方案attilax总结
  12. oracle oem登录xdb,XDB sys_nc_oid$递归调用的案例一则
  13. GIT的安装与gitee基础使用
  14. 爬虫登陆实战 --- QQ音乐扫码登陆
  15. c语言中strcat函数的作用,strcat函数的作用是什么?
  16. Mac安装软件时各种异常情况的解决方法
  17. geoJson全国各省市地图json数据获取
  18. IT行业基础知识:云计算到底是什么
  19. Eclipse @override报错
  20. 腾讯云轻量级应用服务器的配置搭建及网站

热门文章

  1. 杭电 hdu 2040
  2. C#中的DateTime:本周,本月,今年,本周
  3. HttpWebRequest post提交XMl参数请求,
  4. sql server 2008学习13 触发器
  5. 软件需求包括3个不同的层次 - 业务需求、用户需求和功能需求
  6. 简述C# XML解析方法的特点及应用
  7. python算法与数据结构-二叉树的遍历
  8. python原始web与django框架 mvc模式开发
  9. php7-internal 7.7 zval的操作
  10. 上传问题总结(文件大小检测,大文件上传)