Analog Neuromorphic Velocity Sensor
Paper Referred: Pulse-Based Analog VLSI Velocity Sensors
Authors: Jorg Kramer, Rahul Sarpeshkar, and Christof Koch
Why this research?
The research in neuromorphic algorithms and bio-inspired hardware has gained a lot of research in recent years. In this direction, this paper tries to mimic the basic function of human eye, i.e., to detect a moving object and its direction of motion, and to calculate its approximate speed. The perception of the object is based upon change in illumination due to the object, as detected by photodiodes. The current from the photodiodes is then processed to calculate the desired features, via a circuit presented in this paper. Besides calcualating the results correctly, we aim to have the following features in our system:- Real time detection of the features to interact with a dynamic environment
- Small area and low power requirements so that it can be used in IoT sensors
- Low computation requirements to reduce cost of the sensor
The Paper
The complete circuit described in the paper is divided into two parts: Feature extraction stage and velocity computation stage. For the first stage, the circuit called *Temporal Edge Detector* converts changes in irradiance at two different positions to thin current pulses. For the second stage, these current pulses are given as inputs to *Voltage Shaping Circuits* and *Motion Circuits* (one for each direction of motion). ![alt text](Introduction_Flow_Chart.PNG "Circuit Flow Chart") Note that temporal edge detector and pulse shaping circuit are shared between both directions' motion circuits to optimize resources and area. There are two types of motion circuits: *facilitate and trigger* (FT) and *facilitate and sample* (FS). FT motion circuit measures the time overlap between the binary pulses produced by two adjacent pulse shaping circuits and FS motion circuit samples the time varying output of first pulse shaping circuit by a thin pulse produced by second pulse shaping circuit. See the below images for clarity:Temporal Edge Detector
The Temporal Edge Detector Circuit converts a rapid increase in brightness to a current pulse. The circuit diagram is shown below: ![alt text](Temporal_Edge_Detector_1.PNG "Temporal Edge Detector Circuit") The diode D1, transistors Q1-Q4 and capacitors C1-C2 constitute a photoreceptor. This photoreceptor converts a change ΔE in illumination E to a change in output voltage ΔVph as: ![alt text](Photoreceptor_Equation.PNG "Photoreceptor Output Equation") The output of the photoreceptor are the positive voltage spikes corresponding to ON stages. This is then converted to ON current by the next circuit. The transistors Q5-Q9 constitute an operational amplifier with a bias,connected to some other transistors Q10-Q13 and capacitors C3-C5, so that it is in a noninverting feedback configuration.The adaptive element Q10 is a sinh element, identical to that used in the photoreceptor, that prevents the node V- of the amplifier from floating by slowly adapting it to Vint. The current charging the node V- is given by:Pulse Shaping Circuit
The output current from the temporal edge detector is fed into the pulse shaping circuit. The pulse shaping circuit depends upon the motion circuit being used (i.e., FT or FS). The required output pulses from the pulse shaping circuit are: The FT motion sensor uses a nonlinear filtering circuit to convert the current pulse from the edge detector into a thin voltage spike that is translated into a voltage pulse of fixed amplitude and width by a refractory neuron circuit. The FS motion sensor uses the same nonlinear filter to convert the current pulse from the edge detector into two signals, a thin voltage spike and a slowly decaying voltage signal. Thus, we require nonlinear filter and refractory neuron circuits as pulse shaping circuits.Nonlinear Filter
The input to the circuit Iin is a current proportional to Ie, obtained from the mirror formed by connecting the output voltage of the edge detector ( Ve) to Vin of the filtering circuit. In response to an input current pulse, two voltage signals are generated: The voltage Vf produces a sharp spike, while the voltage Vs responds with a sharp onset and a log(t) like decay. The input Iin may be thought of as an impulse that sets the initial condition on the diode-capacitor subcircuit of Q4, Q5 and C.
For an initial condition with a pulse amplitude of Io, the diode-capacitor current Iout is given by
After a sufficiently long time , such that Iot >> CVk, Iout(t) = C*Vk/t,
Note that the circuit does not have an explicit threshold for the value of Io where contrast-insensitivity begins. Neither does Vs have an explicit time constant determined by a bias voltage, since a diode-capacitor configuration intrinsically adapts to time constants over many orders of magnitude.
Refractory Neuron Circuit
The voltage Vp represents the membrane potential and rests at ground. The voltage Vn represents the state of activation of the sodium conductance modeled by Q5-Q12 and rests at Vdd. The bias voltage Vl sets the leak current through Q4. The bias voltage Vd sets the pulse width of the output pulse. The bias voltage Vr sets the refractory period of the neuron or the minimum time between output pulses.