计算传感器有效曝光时间的算法
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))
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))