How to generate a periodic customized waveform?
4 views (last 30 days)
Show older comments
I want to generate waveforms as shown in the image below and then tweak them to modify the fall time constant of the signal. However, MATLAB doesn't have a customized waveform generator I think. Can I make this waveform in MATLAB? Thanks in advance!
0 Comments
Accepted Answer
Yazan
on 6 Aug 2021
Edited: Yazan
on 7 Aug 2021
This simple function can compute the signal you need. Use lambda to control the decay and see the other parameters.
function x = mySignal(T1, T2, A, lambda, np)
if nargin==0
T1 = 10; T2 = 30; A = 5; lambda = 0.25; np = 5; % np is number of periods
end
t1 = 0:T1-1; t2 = (T1:T2);
x1 = A/(T1-0).*t1;
x2 = A.*exp(-lambda.*(t2-T1));
xx = [x1(:); x2(:)];
x = repmat(xx, [np, 1]);
t = 0:length(x)-1;
figure, plot(t, x), grid minor
ax = gca;
ax.XTick = [0, T1, T2];
ax.XTickLabel = {'0', sprintf('T1=%g', T1), sprintf('T2=%g', T2)};
ax.YTick = [0, A];
ax.YTickLabel = {'0', sprintf('A=%g', A)};
title({'Composite signal', 'Control exponential decay by $\lambda$'}, 'interpreter','latex')
end
0 Comments
More Answers (0)
See Also
Categories
Find more on Waveform Generation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!