how to generate below sawtooth pulse
3 views (last 30 days)
Show older comments
and what is pulse number and how it generates in matlab
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/620608/image.png)
1 Comment
Adam Danz
on 17 May 2021
Do you have the signal processing toolbox? If so, see sawtooth.
Have you searched the forum for an answer because this question has definitely been addressed.
Answers (2)
DGM
on 17 May 2021
Edited: DGM
on 17 May 2021
The super-explicit way:
x = [0 1 1 2 3 3 4 5 5 6 7 7];
y = [0 1 0 0 1 0 0 1 0 0 1 0];
plot(x,y)
You could build those sequences any number of ways. Here's one:
xp = 0:2:7;
x = reshape(xp+[0 1 1].',1,[]);
y = reshape(xp+[0 1 0].',1,[]);
y = mod(y,2);
plot(x,y)
You could also use SPT tools:
x = linspace(0,7,1000);
y = max(sawtooth(pi*(x-1)),0);
plot(x,y)
0 Comments
Star Strider
on 17 May 2021
Another approach using a logical threshold (specific to this waveform) —
t = linspace(0, 7, 500);
s = rem(t,2);
s = s.*(s<1);
figure
plot(t, s, 'LineWidth',2)
grid
axis([0 7.1 0 1.1])
.
8 Comments
Star Strider
on 19 Jul 2021
Two months!
In this instance, pulse width is one-half the period, and the period is the time between peaks. Several functions, such as findpeaks, islocalmax, islocalmin, and others are useful here.
.
See Also
Categories
Find more on Switches and Breakers in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!