Report Open Access

FPGA Based Data Smoother for Sensor Data

Banjac, Jelena; Faerber, Christian Faerber; Machen, Jonathan; Garnier, Jean-Christophe Garnier

DataCite XML Export

<?xml version='1.0' encoding='utf-8'?>
<resource xmlns:xsi="" xmlns="" xsi:schemaLocation="">
  <identifier identifierType="DOI">10.5281/zenodo.159419</identifier>
      <creatorName>Banjac, Jelena</creatorName>
      <affiliation>CERN openlab Summer Student</affiliation>
      <creatorName>Faerber, Christian Faerber</creatorName>
      <givenName>Christian Faerber</givenName>
      <affiliation>Summer Student Supervisor</affiliation>
      <creatorName>Machen, Jonathan</creatorName>
      <affiliation>Summer Student Supervisor</affiliation>
      <creatorName>Garnier, Jean-Christophe Garnier</creatorName>
      <givenName>Jean-Christophe Garnier</givenName>
      <affiliation>Summer Student Supervisor</affiliation>
    <title>FPGA Based Data Smoother for Sensor Data</title>
    <subject>CERN openlab summer student</subject>
    <date dateType="Issued">2016-10-05</date>
  <resourceType resourceTypeGeneral="Report"/>
    <alternateIdentifier alternateIdentifierType="url"></alternateIdentifier>
    <relatedIdentifier relatedIdentifierType="URL" relationType="IsPartOf"></relatedIdentifier>
    <rights rightsURI="">Creative Commons Attribution 4.0 International</rights>
    <rights rightsURI="info:eu-repo/semantics/openAccess">Open Access</rights>
    <description descriptionType="Abstract">&lt;p&gt;Project Specification&lt;/p&gt;

&lt;p&gt;In this project it should be tested to use a sensor smoothing algorithm on an FPGA to directly reduce the noise on raw sensor data in general. Noise is a large issue for all high energy physics detectors and it is quite common to use some kind of pre-processing like clustering to reduce the needed bandwidth and reduce the later needed processing complexity due to combinatorics. For sensor data from vibrations monitoring systems the reduction of noise is the main issue.&lt;/p&gt;

&lt;p&gt;Different smoothing algorithms will be investigated and afterwards implemented on a modern Cyclon V SOC FPGA. The data source will be a vibration sensor foreseen for monitoring the hard drives of the LHCb computing farm.&lt;/p&gt;

&lt;p&gt;To realize the system the processing of fix-point calculations in HDL will be studied and simulated in ModelSim. Furthermore, a test bench for the system has to be written, to test the different smoothing algorithms. Afterwards the performance of the designs will be tested with real sensor data.&lt;/p&gt;


&lt;p&gt;The primary output of any experiment in which significant information is to be extracted is information which measures the phenomenon under observation. Indistinguishable from this information are random errors which, regardless of their source, are usually described as noise. Of importance to the experimenter is the removal of as much of this noise as possible without, at the same time, overly degrading the underlying information.&lt;/p&gt;

&lt;p&gt;In this experimental work, the information from vibration sensor is obtained in the form of four-column table of numbers. This paper is concerned with computational method for the removal of the random noise from such information as well as implementation of this method in HDLs (Hardware Description Languages) and run the algorithm on an FPGA (field programmable gate array).&lt;/p&gt;

&lt;p&gt;In this project, random noise from vibration sensor’s data is removed using the smoothing algorithm, which is called moving average. This algorithm is implemented inside an average block using VHDL and Verilog languages. The average block is using binary fixed point math library (fixed point addition and fixed point division) as well as Finite State Machine (FSM) and this is ran through the pipeline on an FPGA board.&lt;/p&gt;

&lt;p&gt;Finally, we show the outcome of smoothing data from the vibration sensor and what was the influence of the implemented smoothing method using graphs, histograms and simulation results.&lt;/p&gt;

&lt;p&gt;Keywords: FPGA, smoothing data, VHDL, Verilog, average block, fixed point addition, fixed point division, sensor data.&lt;/p&gt;</description>
All versions This version
Views 213213
Downloads 1,0761,078
Data volume 2.4 GB2.4 GB
Unique views 193193
Unique downloads 1,0341,035


Cite as