How to Generate Smooth Transitional Trapezoidal Signal in Simulink

Hi, everyone. I want to generate a custom signal demonstrated as follow image in Simulink, I have tried the Signal Editor Block, but the generated trapezoidal signal does not have smooth transition as showed in the attached image.
I would be appreciated that someone could give me some suggestions.

2 Comments

If you are looking for a one-line math equation for describing the smooth trapezoid, consider the Generalized Gaussian Distribution (GGD) other one-hump functions. However, it is probably easier to achieve that with the piecewise S-curve continuous function.
@Sam Chak Thanks for your suggestion, I will try it.

Sign in to comment.

 Accepted Answer

hello
whatever code you use to create the trapezoidal wave , you can simply then smooth it out, for example with smoothdata
a = 10; %Amplitude
m = 2; %Time Period
l = 5; %Horizontal Spread
c = 2; %Vertical Spread
x = 0:.01:10; %Sample Points
Trapezoidal_Wave = a/pi*(asin(sin((pi/m)*x+l))+acos(cos((pi/m)*x+l)))-a/2+c;
Trapezoidal_Wave_S = smoothdata(Trapezoidal_Wave,'gaussian',50);
plot(x,Trapezoidal_Wave,x,Trapezoidal_Wave_S);

More Answers (0)

Categories

Find more on Simulink in Help Center and File Exchange

Products

Release

R2023b

Community Treasure Hunt

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

Start Hunting!