image thumbnail

Rate-Varying Poisson Process Generator

version 1.0.0.0 (2.29 KB) by Peter O'Connor
Generates a poisson-process based on a time-varying (or also scalar) rate signal.

636 Downloads

Updated 16 Jan 2011

View License

Rate-Varying Poisson-Process generator.

T=PechePourPoisson(rate);
T=PechePourPoisson(rate,dt);
[T tvec]=PechePourPoisson(rate,dt);

Example:
rate=conv(randn(1,10000),ones(1,1000),'same');
[T t]=PechePourPoisson(rate,.001);
plot(t,rate);
addline(T); addline(0,'h'); % You may not have the addline function

This function spits out a poisson process with a rate that can vary with
time. Each sample of the "rate" vector is considered to be the beginning
of a time bin of width dt. The number of events occurring in each bin is
sampled from a Poisson Distribution. The timing of each event within the
bin is then randomized.

Note: You can easily specify a constant-rate process running for a
certain time by just making "rate" a scalar rate and setting dt to your
desired time span.

Inputs Description
"rate" Vector representing the rate as a function of time. Negative
rates are interpreted as zero rates.
("dt") Optional scalar defining the time resolution of the rate
vector. If neglected, dt=1, and the rate is interpreted as
meaning "events per time-sample". If dt is set, rate will be
scaled by the value of dt. eg, say you want 90events/s, where
the rate vector represents the spiking rate as a function of
time with millisecond resolution. Then dt=0.001, and
rate(i)=90, where i is the particular instant with a 90event/s rate.

Outputs Description
"T" Vector of event times. The first sample of "rate" is
considered to be time 0. If dt is specified, times will be
scaled accordingly.
"tvec" If you're too lazy to make your own time vector for your rate
vector, this function can optionally do it for you.

Enjoy
Peter
oconnorp _at_ ethz _dot_ ch

Cite As

Peter O'Connor (2021). Rate-Varying Poisson Process Generator (https://www.mathworks.com/matlabcentral/fileexchange/30056-rate-varying-poisson-process-generator), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2009b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!