how to generate below sawtooth pulse
5 次查看(过去 30 天)
显示 更早的评论
and what is pulse number and how it generates in matlab
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/620608/image.png)
1 个评论
Adam Danz
2021-5-17
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.
回答(2 个)
DGM
2021-5-17
编辑:DGM
2021-5-17
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 个评论
Star Strider
2021-5-17
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 个评论
Star Strider
2021-7-19
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.
.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!