Architecture design for a multi-sensor information fusion processor

This paper discusses the design of the architecture of an information fusion processor. This processor emulates the way of human thinking, namely by drawing conclusions from the obtained collection of information. Architecture design for this processor is based on Knowledge Growing System (KGS) algorithm. KGS is a novelty in Artificial Intelligence field. Compared to other AI methods, KGS focuses on the observation of the process of the knowledge growth within human brain based on information received from the surrounding environment. By using KGS algorithm, this processor works by receiving inputs from a set of sensors and possible hypotheses obtained after the processing of the information. The processor generates a value which is called as Degree of Certainty (DoC), which show the most possible hypothesis among all alternative ones. The Processor Elements which are used to perform KGS algorithm is designed based on systolic array architecture. The design of this processor is realized with VHSIC Hardware Design Language (VHDL) and synthesized by using FPGA Quartus II.13.1. The results show that the data path which has been design is able to perform the mechanism of KGS computation


Introduction
In the Big Data era, information and data come from various sources. Different types and variety amounts of data, are processed to obtain a set of information about the situation in an environment which is being observed. Wireless sensor network, body sensor network, even the autonomous vehicles are several examples of hardware technology development that supports the big data applications. Therefore the existence of hardware which has ability for performing a computation to obtain information from a set of data is needed. This hardware not only receives a set of data from different kind of sensors, but also fuses the data to obtain information, take extract the inference from the fused information which have has received, and takes it as the basis for making conclusions before making decisions or taking actions based on the conclusion which have been made.
This phenomena emerge the idea to design a processor that is able to receive inputs from a complex sensor circuit. It not only accepts inputs, but also processes the inputs of each sensor, combines the results with other sensors and draws conclusions according of the situation which being observed. The conclusion then becomes a reference for the taking an action. For example, for autonomous vehicle, the system will receive input from a collection of sensors to become a reference for the movement of the vehicle.
In 2009, Arwin Datumaya Wahyudi Sumari, Adang Suwandi Ahmad, Aciek Ida Wuryandari, and Jaka Sembiring, have developed a new perspective in the area of Artificial Intelligence (AI) called Knowledge Growing System (KGS) [1]. The key of KGS concept is to emulate the way of human's brain obtain new knowledge from the information delivered by its sensory organs gathered from the environment. KGS is a novelty in Artificial Intelligence that emulates the knowledge growth within the human brain by collecting information from observed conditions, does information fusion, and forms new knowledge of the observed phenomena. By implementing KGS in the form of processor, it is expected to support the development of 363 cognitive electronic instrumentation system. That is, the system that is able to analyze the conditions of the surrounding environment and takes action based on the observed conditions.

Related Works
The KGS method has been used in designing Probabilistic Cognitive Robot [2]. This Robot uses the KGS algorithm to determine the direction of movement, based on the input of the attached sensors. In the field of instrumentation, KGS is being developed to assist the decision-making process for monitoring the condition of the transformer [3]. In the field of hardware security KGS has also been developed as a system for side channel attack countermeasure [4] and to detect an intrusion in network environment [5]. KGS also has developed to bulid a software for Military Operation Decision Support System [6,7] and as software to enhance the development of medical diagnosing and monitoring [8,9] Several studies related to Very-Large Scale Integration (VLSI) and System-on-Chip (SoC) technology ever developed a processor design by implementing some artificial intelligence method into its processor architecture [10,11]. The use of KGS algorithm in a processor design will be a new approach in this area because of this kind of processor will have an ability to extract information from data delivered from a collection of sensors and then use it to generate new knowledge [12]. The generated knowledge is then used to determine the action (decision making mechanism) that must be taken by the device which are connected to the processor.
This paper delivers the methodology to design architecture of a multi-sensor information fusion processor. The steps of how to translate the KGS algorithm to Very High Speed Integrated Circuit Hardware Design Language (VHDL) language and the results obtained from this methodology, are discussed in this paper. The paper will be closed with concluding remarks and the future works with an explanation of the next stage of the research plan to improve our processor to become a Cognitive processor system. Figure 1 shows the KGS mechanism, how it works to obtain new knowledge. Firstly, after receiving information of the observed phenomenon from the sensory organs, the process of gaining new knowledge is started. Secondly, the information delivered from the sensory organ is then fused to obtain comprehensive information. This process will produce a new knowledge and it will have a value which is called Degree of Certainty (DoC). DoC represents the value of the certainty of the knowledge regarding the observed phenomenon for each new knowledge. The process to obtain the DoC value is shown in Figure 2. The mechanism of KGS is represented by A3S (Arwin-Adang-Aciek-Sembiring) equation as described as follow [1]:

Research Method
where: V

Results and Analysis 4.1. Information Fusion Computation
According to (1) and (2), the inputs to the system are the values of P (Hj|Si) and the number of sensors (n). While the outputs are the value of NKPD (P()). To further deepen the understanding of the KGS computational flow, a set combination of sensors and hypotheses is made in form of a table, as shown in Table 1. Assuming that there are 4 hyphotheses and 4 sensors. According to DoC computation mechanism and A3S equation, the steps of KGS computation can be explained as follows: a. Counting NKPD for each sensors: Table 1 illustrates the example observation of a system which ossible answers to the observed phenomenon namely, new knowledge as shown in Figure 2. The observation results are represented by logic '1' which indicates that the corresponding hypothesis is in accordance with the sensor observation, whereas logic '0' states otherwise. By using A3S equation, the result of the computation in form of NKPD values can be seen in Table 2.   Table 2 shows that the results of NKPD calculation generate integer number. The numbers corresponding to the A3S equation are the result of the division of the number of bits '1' in each combination of sensors and hypotheses. Therefore it is necessary to prepare a register that can accommodate these numbers. In this design, it is provided 8-bit registers to accommodate the division results. b. Counting NKPD for overall Sensors-Hyphothesis (SiHj) After the NKPD value of each sensor is found, and then the next step is to calculate the NKPD of the whole sensor and hypothesis (NKPD SiHj). The illustrative calculations at this stage can be seen in Table 3. The NKPD results in this observation (t1) of the entire SiHj according to A3S equation are derived from the sum of the NKPD H1 values (i.e. S1H1+S2H1+...). The NKPD H2 value (i.e. S1H2+S2H2+ ...) and so on, divided by the number of active sensors. If any sensor generates a value of '0000' then the sensor does not get information from the existing hypothesis and is not included in the calculation or neglected. It can be seen that the value of total NKPD (H1 +H2 +H3 +H4...)=1, which represents 100%. From the computation results which are shown in Table 3, it can be seen that NKPD value of H1 has the biggest value compared to all NKPD values among all hypotheses (H1 to H4). As explained at the Section above, the DoC value represents the best possible hypothesis which explains the phenomenon being observed. So, in this case, the DoC value of H1 of this observation represents the certainty of the system recognizing the observed phenomenon, which is phenomenon H1. It is also said the system successfully obtains new knowledge regarding the observed phenomenon, namely H1.

The Architecture Design of Multi Sensor Information Fusion
To design the architecture of this kind of processor, it is important to understand what kind of components which can form the processes ouccured within the system. The components for multi-sensor fusion processor, as shown at Figure 3, are designed based on the existing A3S formula in (1). In this paper, the processor architecture to perform A3S computing is used to receive inputs for a combination of four sensors and four hypotheses As explained above, the first step of the computation is to count the value of NKPD for the information of every sensor and hyphothesis combination. There is a Look Up Table (LUT) component which is used to convert the result of NKPD of sensor-hyphothesis relations as shown in Table 2 into the appropriate binary number combination as shown in Table 3. According to A3S equation, since there is a division operation of each hypothesis with the number of sensors, it is necessary to detect the number of sensors. So this processor is also equipped with an "active sensors detection" component.
Systolic Array processor architecture is designed to process the overall NKPD computation, as shown at Table 3. Why uses systolic array architecture? Because the design of systolic array architecture meets the requirements of the reconfigurable design [13]. So in the future, if the system will be developed to receive information from a more complex sensor system, it does not require more component resources. Based on (3), to produce a systolic array design, the equation to count NKPD values at one Hj (represented with P ( i j )) can be translated in the following form:   From the simulation, it is shown that this design is able to perform A3S equation. The computation time to obtain the NKPD values for each hypothesis is depended on the number of sensors. That is, the computation time is directly proportional to the number of sensors. The more the number of sensors will affect the time of calculating the DoC value. This designed is also synthesized using FPGA Quartus II.13.1. The synthesized result is shown at Figure 6. Figure 7 shows the RTL synthesis results. There is a clock circuit to as timing and statemachine control. Latch registers are used to store calculation results from adder and multiplication components, according to the time set by the state-machine controller.
The synthesized result show that the processor chip has a total number of 116 logic elements and with total as many as 59 pins, because the system uses 4 sensors. The input pin of this processor is 4x8 bit, where 8 bit is the result of bit conversion of NKPD value as shown in Table 3. This design will generate the DoC value which is represented with 32 bits width for each hypothesis.

Conclusion
This paper delivers the methodology of designing the datapath for Multi-sensor information fusion processor using KGS Algorithm. The result shows that the designed processor is able to perform A3S computation. The result of this processor design is value of DoC as represented of the value of possibilities from hyphotesis correspondent with available sensors. The design improvements will be made by adding a bus interface so this processor is able to communicate with other peripherals After implementing the KGS algorithm in form of Multi-sensor information fusion processor, we are still continuing doing research to design Cognitive Proccessor which is equipped with KGS algorithm. With KGS algorithm, the Cognitive processor can be used as a main control for an autonomous system which has ability to grow its own knowledge continuously as the time passes. This system will be package in form of System of Chip (SoC), TELKOMNIKA ISSN: 1693-6930  Architecture design for a multi-sensor information fusion processor (Catherine Olivia Sereati) 369 so that cognitive processor will have ability to support the development of autonomous-mobile electronic instrumentation.