LED以频率 f 闪烁。
传感器在 waitingPeriod 期间关闭,在 exposurePeriod 期间打开以接收来自LED的光。
假设LED从一开始就打开。如何计算传感器的有效曝光时间,即传感器打开且LED打开的时间段。
(我使用Matlab但伪代码没问题。)
谢谢!
答案 0 :(得分:2)
设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);
答案 1 :(得分:2)
这是一种使用内置函数(信号处理工具箱)来创建信号的方法。 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))