PulseTrain
The PulseTrain time series represents a sequence of pulses with specified timing and amplitude parameters.
Parameters:
Parameter |
Description |
Type |
---|---|---|
tStart |
Start time of pulse train (default: 0.0) |
float |
tEnd |
End time of pulse train (default: 1.0) |
float |
period |
Period between pulses (default: 1.0) |
float |
width |
Width of each pulse as a fraction of period (default: 0.5) |
float |
factor |
Amplitude of pulses (default: 1.0) |
float |
shift |
Phase shift of pulse train (default: 0.0) |
float |
Example
# Direct creation
from femora.components.TimeSeries.timeSeriesBase import TimeSeriesManager
ts_manager = TimeSeriesManager()
# Create a pulse train with 0.2s period and 0.1s pulse width
pulse_ts = ts_manager.create_time_series(
'PulseTrain',
tStart=0.0,
tEnd=1.0,
period=0.2,
width=0.5, # 50% duty cycle
factor=1.0
)
# Via Femora
import femora as fm
pulse_ts = fm.timeSeries.create_time_series(
'PulseTrain',
tStart=0.0,
tEnd=5.0,
period=1.0,
width=0.3, # 30% duty cycle
factor=2.0,
shift=0.5 # Phase shift of 0.5 seconds
)
Mathematical Representation
The pulse train time series generates rectangular pulses defined by:
f(t) = factor for t_n ≤ t ≤ t_n + width × period f(t) = 0 otherwise
where t_n = tStart + n × period + shift, for n = 0, 1, 2, … until tEnd