matlab 中画方波的square函数怎么设置周期和峰值

matlab 中画方波的square函数怎么设置周期和峰值,第1张

一、在MATLAB中用square函数来表示,其调用形式为 y=square(t,DUTY) ,其作用类似于sin(t),用以产生一个时长为t、幅值为±1的周期性方波信号,其中的DUTY参数表示占空比,即在信号的一个周期中正值所占的百分比。例如频率为30Hz的周期性方波信号的MATLAB程序和图形如下:

1、在MATLAB的命令框内输入方波程序,如下图所示:

2、在输入完成图形显示函数plot后,会显示出来图形,grid,ylim意思是对图形显示的y坐标进行限制。该程序是将图形y坐标限制在(-1.5,1.5)。

二、y=square(t,DUTY) 函数默认的幅值是±1,想要改变幅值,只需要乘以一个系数即可,改变周期的话,将频率30改成其他即可。如y=2*square(t,DUTY)。程序和图形如下图所示:

扩展资料:

MATLAB系统由MATLAB开发环境、MATLAB数学函数库、MATLAB语言、MATLAB图形处理系统和MATLAB应用程序接口(API)五大部分构成。

1、开发环境

MATLAB开发环境是一套方便用户使用的MATLAB函数和文件工具集,其中许多工具是图形化用户接口。它是一个集成的 用户工作空间,允许用户输入输出数据,并提供了M文件的集成编译和调试环境,包括MATLAB桌面、命令窗口、M文件编辑调试器、MATLAB工作空间和在线帮助文档。

2、数学函数

MATLAB数学函数库包括了大量的计算算法。从基本算法如四则运算、三角函数,到复杂算法如矩阵求逆、快速傅里叶变换等。

3、语言

MATLAB语言是一种高级的基于矩阵/数组的语言,它有程序流控制、函数、数据结构、输入/输出和面向对象编程等特色。用这种语言能够方便快捷建立起简单运行快的程序,也能建立复杂的程序。

4、图形处理

图形处理系统使得MATLAB能方便的图形化显示向量和矩阵,而且能对图形添加标注和打印。它包括强大的二维三维图形函数、图像处理和动画显示等函数。

5、程序接口

MATLAB应用程序接口(API)是一个使MATLAB语言能与C、Fortran等其它高级编程语言进行交互的函数库。该函数库的函数通过调用动态链接库(DLL)实现与MATLAB文件的数据交换,其主要功能包括在MATLAB中调用C和Fortran程序,以及在MATLAB与其它应用程序间建立客户、服务器关系。

参考资料来源:百度百科-MATLAB

周期性矩形波(方波)信号:在MATLAB中用square函数来表示,其调用形式为

y=square(t,DUTY)

其作用类似于sin(t),用以产生一个时长为t、幅值为±1的周期性方波信号,其中的DUTY参数表示占空比,即在信号的一个周期中正值所占的百分比。例如频率为30Hz的周期性方波信号的 MATLAB 参考程序如下:

t=-2*pi/100:pi/1024:2*pi/100

y=square(2*pi*30*t,50)

plot(t,y)

grid

ylim([-1.5 1.5])

扩展资料

模拟的正弦信号中负半周期中最后一个点为正数,符号取为正1,和0连在一起肯定要间断的;产生思路是可以的,但是要注意下端点的连续性,这样生成你要保证前半周期是正,后半周期为负才可以。

就是指电路系统中信号的质量,如果在要求的时间内,信号能不失真地从源端传送到接收端,就称该信号是方波信号。

信号具有良好的方波信号是指当在需要的时候,具有所必需达到的电压电平数值。差的方波信号不是由某一单一因素导致的,而是板级设计中多种因素共同引起的。主要的方波信号问题包括反射、振荡、地d、串扰等。

这要结合具体的电路,比如12MHz主频的8031与DAC0832构成的单缓冲连接及双极性输出电路。

1、三角波输出程序

START:MOV

DPTR,#7FFFH;向DAC0832输出的地址(取决于你电路中地址线的连接方式)

DA:MOV

R0,#80H;输出初始值入R0(从0伏开始输出),兼做输出计数控制

UP:MOV

A,R0;输出值入A

MOVX

@DPTR,A;正向增长,DA转换输出

INC

R0;输出值加1

NOP;延时1微秒

NOP;延时1微秒

CJNE

R0,#0FFH,UP;输出未到5伏则转UP,继续正向增长

DOWN:DEC

R0;输出值减1

MOV

A,R0;输出值入A

MOVX

@DPTR,A;反向减小,DA转换输出

NOP;延时1微秒

NOP;延时1微秒

CJNE

R0,#80H,DOWN;输出未到0伏则转DOWN,继续反向减小

AJMP

DA;一个周期结束进入下一个周期

注:此程序输出的三角波频率不是很精确的500HZ,但相差也不大,

2、方波输出程序

START:MOV

DPTR,#7FFFH;向DAC0832输出的地址(取决于你电路中地址线的连接方式)

DA:MOV

R0,#80H;输出初始值入R0(从0伏开始输出),兼做输出计数控制

UP:MOV

A,#80H;0伏输出值入A

MOVX

@DPTR,A;0伏DA转换输出

INC

R0;输出计数加1

NOP;延时1微秒

NOP;延时1微秒

CJNE

R0,#0FFH,UP;未到半个周期则转UP,继续0伏输出

DOWN:DEC

R0;输出计数减1

MOV

A,#0FFH;5伏输出值入A

MOVX

@DPTR,A;5伏DA转换输出

NOP;延时1微秒

NOP;延时1微秒

CJNE

R0,#80H,DOWN;输出未到0伏则转DOWN,继续反向减小

AJMP

DA;一个周期结束进入下一个周期

注:同样,此程序输出的方波频率不是很精确的500HZ


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/10875703.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-11
下一篇2023-05-11

发表评论

登录后才能评论

评论列表(0条)

    保存