How to Generate Smooth Transitional Trapezoidal Signal in Simulink
61 views (last 30 days)
Show older comments
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
Sam Chak
on 3 Jun 2024
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.
Accepted Answer
Mathieu NOE
on 3 Jun 2024
hello
whatever code you use to create the trapezoidal wave , you can simply then smooth it out, for example with smoothdata
the first part of the code is from : generating periodic trapezoidal waves with ramps - MATLAB Answers - MATLAB Central (mathworks.com)
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)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!