Triangular wave form plot

5 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)

Categories

Find more on Line Plots 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!