Triangular wave form plot

3 ビュー (過去 30 日間)
Rashmil Dahanayake
Rashmil Dahanayake 2013 年 12 月 9 日
コメント済み: Rashmil Dahanayake 2013 年 12 月 10 日
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?

採用された回答

Walter Roberson
Walter Roberson 2013 年 12 月 9 日
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 件のコメント
Rashmil Dahanayake
Rashmil Dahanayake 2013 年 12 月 10 日
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

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeAnnotations についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by