Create a Step Sine wave

16 Ansichten (letzte 30 Tage)
Rashmil Dahanayake
Rashmil Dahanayake am 20 Dez. 2013
Hi, I intend to create a square shaped step sine wave. At the moment I approach this problem by defining a sample time. However it created a triangular wave instead.
Please suggest to correct this. I have optional DSP tool box if necessary.
t=0:1/3:1;
y=sin(2*pi*t);
plot(t,y);grid on;

Antworten (3)

Rashmil Dahanayake
Rashmil Dahanayake am 20 Dez. 2013
This Code produce a symmetric quasi square wave. Any ideas to change the number of steps to 6, instead of 3.
To=0.02; %period
t=(0:To/500:To)';
f=sign(sin(2*pi*t/To))/2+sign(sin(-6*pi*t/To))/6;
plot(t,f7);grid on;

Walter Roberson
Walter Roberson am 20 Dez. 2013
You did not sample at a high enough resolution. Or, alternately, use a stairs() plot
  1 Kommentar
Walter Roberson
Walter Roberson am 20 Dez. 2013
Your 3-level symmetric wave image starts off negative at t = 0. That requires using cos(t) or some other phase offset.
Your 3-level symmetric wave image has a different width for the central part where y = 0, only half the width of the y = -1 and y = +1. Therefore the number of sampling intervals must be increased.
With a small bit of experimentation what I find works acceptably well is
t = linspace(0,1,7);
y = sin(2*pi*(t-1/3));
stairs(t,y)

Melden Sie sich an, um zu kommentieren.


Rashmil Dahanayake
Rashmil Dahanayake am 20 Dez. 2013
The stairs() doesn't produce a symmetric wave.
I need a 3 level symmetric wave like http://imgur.com/FPtDiTb
That's why I sampled at Ts/3.

Kategorien

Mehr zu Applications finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by