필터 지우기
필터 지우기

how to create trapezoidal wave form as shown in fig in attached file?

조회 수: 5 (최근 30일)
ajeet verma
ajeet verma 2017년 7월 24일
편집: Geoff Hayes 2017년 7월 24일
i am using trapezoid function to create a trapezoidal wave form but i am not getting desired result.please help code is here;
function s = trapezoid(t)
%TREPEZOID Trapezoid wave generation.
% TRAPEZOID(T) generates a square wave with period 2*Pi for the
% elements of time vector T. TRAPEZOID(T) is like SQUARE(T), only
% it creates a square wave with peaks of +1 to -1 instead of
% a sine wave.
%
% For example, generate a 30 Hz square wave:
% t = 0:.0001:.0625;
% y = square(2*pi*30*t);, plot(t,y)
%
% I pretty much stole this from square, so see that.
% See also SQUARE
% Author(s): Jordan Firth, 2 Sep 2010
% $Revision: 0.0 $ $Date: 2007/12/14 15:06:21 $
% compute values of t normalized to (pi/4,9*pi/4)
tmp = mod(t-pi/4,2*pi);
tmp = mod(t+pi/4,2*pi);
a = (tmp < pi/2);
b = (tmp >= pi/2 & tmp < pi);
c = (tmp >= pi & tmp < 3*pi/2);
rise = 2*tmp/pi;
fall = -2*(tmp-pi)/pi+1;
nodd = a.*rise + b + c.*fall;
s = 2*nodd-1;
and using this function i am trying to create waveform as i need.
%trapezoid wave form
t = -5:.001:5;
y1 = trapezoid((2*pi*0.5*t)-pi/2);
y2=trapezoid((2*pi*0.5*t)+0);
y3=trapezoid((2*pi*0.5*t)+pi/2);
plot(t,y1,t,y2,t,y3)
%

답변 (0개)

카테고리

Help CenterFile Exchange에서 Geometric Transformation and Image Registration에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by