Triangular wave form plot

3 views (last 30 days)
Hi, I'm trying to generate a 140Hz triangular wave.
Following code produce the correct plot up to 100HZ. Once I enter the value beyond 100hz (eg 140hz) the plot doesn't seems to be correct.
t=0:.001:1.5 ;
x = sawtooth (2 * pi * 140 * t , 0.5); % 0.5 specify a symmetric triangular shape
plot(t,x); axis ( [ 0 0.01 -1 1 ] );
Is it some thing to do with the code of the plot figure settings?

Accepted Answer

Walter Roberson
Walter Roberson on 9 Dec 2013
sawtooth() already does a 2*pi conversion internally. A value of 1 for time corresponds to one full cycle of the triangle wave. Your pre-multiplication by 2*pi is throwing that off.
  1 Comment
Rashmil Dahanayake
Rashmil Dahanayake on 10 Dec 2013
HI Walter, I do not think what you mentioned about in built 2*pi conversion in sawtooth() is correct.
In fact you can try it out urself plotting a 4Hz triangular wave just for testing purposes. t=0:.001:1; x = sawtooth (2 * pi * 4 * t , 0.5); plot(t,x);
By further investigating I found out that the sample frequency caused the problem in high frequency sawtooth signals.
ie use t=0:.0001:1 instead 0:.01:1

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!