How do you create a biphasic rectangular signal?
12 views (last 30 days)
Show older comments
miroslava del carmen villanueva castillo
on 11 Aug 2021
Commented: miroslava del carmen villanueva castillo
on 12 Aug 2021
hi, i want to create a biphasic rectangular signal with amplitude of 1, duty cycle of 25%, frequency of 3Hz, is there a matlab function for this?
i can easily make the rectangular train pulse but im struggling with this
it should be looking like this:

0 Comments
Accepted Answer
Dave B
on 11 Aug 2021
Edited: Dave B
on 11 Aug 2021
If you have access to signal processing toolbox you can do this with pulstrain
I'm sure there's a cleaner/clearer way to use this but here's what I worked out for an arbitrary width and frequency. Note that each pulse has a time and amplitude, you can make the amplitude +/-1 to achieve a biphasic pulse.
t=linspace(0,1,1000);
w = .02;
dPos = .1:.1:1;
dNeg = dPos + w;
dT = [dPos dNeg]';
dAmp = [ones(numel(dPos),1); -1 * ones(numel(dNeg),1)];
y = pulstran(t,[dT dAmp],'rectpuls',w);
plot(t,y)
ylim padded
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!