【 MATLAB 】信号处理工具箱的信号产生函数之 sawtooth 函数简记

举报
李锐博恩 发表于 2021/07/15 06:06:19 2021/07/15
【摘要】  sawtooth 函数 x = sawtooth(t) generates a sawtooth wave with period 2π for the elements of the time array t. sawtooth is similar to the ...

 sawtooth 函数

x = sawtooth(t) generates a sawtooth wave with period 2π for the elements of the time array tsawtooth is similar to the sine function but creates a sawtooth wave with peaks of –1 and 1. The sawtooth wave is defined to be –1 at multiples of 2π and to increase linearly with time with a slope of 1/π at all other times.

x = sawtooth(t,xmax) generates a modified triangle wave with the maximum location at each period controlled by xmax.

上面两种形式是MATLAB官方的帮助文档给出的,但这并不是我今天想呈现给大家的,我想通过基本的解释,之后通过案例的对比来感受这个函数。更多的是体会参数xmax的含义。

x = sawtooth(t,xmax) ,t是时间阵列,也就是时间轴;xmax这个参数的含义是这个锯齿波的峰值位置位于哪里,没有这个参数的话,其实默认为1,此时,峰值位于最右侧;如果设置为0,则峰值在左侧;可想而知,如果为0.5,则峰值位于中间。

x = sawtooth(t) 生成一个周期为2π的锯齿波,类似于正弦波,只不过波形不一样而已。

如果想了解更多,在MATLAB的命令框里输入doc sawtooth,回车即可。

下面给出对比案例:

产生一个10个周期的锯齿波,其基波周期为50Hz,采样率为1kHz。


  
  1. %Generate 10 periods of a sawtooth wave with a fundamental frequency of 50 Hz. The sample rate is 1 kHz.
  2. clear
  3. clc
  4. close all
  5. T = 10*(1/50);
  6. Fs = 1000;
  7. dt = 1/Fs;
  8. t = 0:dt:T-dt;
  9. x = sawtooth(2*pi*50*t);
  10. plot(t,x)
  11. title('50 Hz sawtooth waveform');
  12. xlabel('t\s');
  13. ylabel('amplitude');
  14. grid on

将 sawtooth 函数改为:

x = sawtooth(2*pi*50*t, 0.5);

继续运行得到如下波形:(可见得到一个三角波)

将 sawtooth 函数改为:

x = sawtooth(2*pi*50*t, 0);

继续运行得到如下波形:

 

 

文章来源: reborn.blog.csdn.net,作者:李锐博恩,版权归原作者所有,如需转载,请联系作者。

原文链接:reborn.blog.csdn.net/article/details/82851458

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。