计算传感器有效曝光时间的算法

Algorithm to calculate effective exposure period of sensor

LED 以 f 的频率闪烁。

传感器在 waitingPeriod 期间关闭并在 exposurePeriod 期间打开以接收来自 LED 的光。

假设LED从一开始就点亮。如何计算sensor的有效曝光时间,即sensor打开,LED点亮的时间

(我用的是Matlab但是伪代码是可以的)

谢谢!

设 led(t) 是一个函数,当 led 打开时为 1,否则为 0。设 s(t) 是一个函数,当传感器打开时为 1,否则为 0。两个函数 ee(t) :=led(t) *s(t) 的乘积定义了效应暴露周期。 ee(t) 的积分是总有效曝光时间。

一些示例代码:

f=2
waiting=13
exposure=42
led=@(t)(mod(floor(t*f),2)==1);
s=@(t)(t>waiting&t<waiting+exposure);
ee=@(t)(s(t).*led(t));
q = integral(ee,0,inf);

这是一种使用内置函数(信号处理工具箱)创建信号的方法。 T_eff 是您要查找的结果。

f = 5;                          % Frequency of LED in Hz
T_init = 0.15;                  % initialization time (waiting) in s
T_exp  = 1;                     % exposure period in s

LED    = @(t) 0.5*square(2*pi*f*t)+0.5;
Sensor = @(t) rectpuls(t-T_init-T_exp/2,T_exp);

T_eff = integral(@(s)(LED(s).*Sensor(s)),0,T_init+T_exp)

为了验证结果,我们可以绘制数据并进行比较:

t = linspace(0,1.5,1000);
figure; hold on;
plot(t,LED(t))
plot(t,Sensor(t))