How to create mono phasic square waves with certain amplitude, pulse width and frequency for a certain time period

2 次查看(过去 30 天)
Hi,
I would like to create an output signal for my constant current stimulator. I would like to send square pulses with certain amplitude, pulse width and frequency for a certain time period.
For example: I want to send a pulse train (pulse width = 100µs) for 400ms in 100Hz.
What would be the best approach for this?
Thanks!

采纳的回答

Bjorn Gustavsson
Bjorn Gustavsson 2022-6-11
you could use square - for details check the help and documentation of that function.
HTH.
  2 个评论
Evrim Yilmaz
Evrim Yilmaz 2022-6-11
I got it, silly me.
clc
clear all
SR = 10000; % SR: sampling rate, constant
A = 0.5; % A: amplitude, mAmper
F = 100; % F: frequency, Hz
TW = 0.1; % TW: train width, second
PW = 0.0001; % PW: pulse width, second (50µs)
i = 1;
SW(i) = (TW(i) / F(i))- PW(i); % SW: space width (interpulse duration)
CT(i) = PW(i) + SW(i); % CT: cycle time
DC(i) = (PW(i) / CT(i)) *100; % DC: Duty cycle (% of ON) in a cycle
t = 0:1/SR:TW(i);
y = A(i)*((1 + square(pi*F(i)*t,DC(i)))/2);
plot(t,y)
xlim([0 t(1,end)]) % last element in t
ylim([0 A(i)*1.2]);

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Detection, Range and Doppler Estimation 的更多信息

产品


版本

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by