Data Analysis

Digital Signal Processing, Filtering and calculus of needed mathematical information. Extraction of information from numbers. Interpretation of numbers to extract conclusions.

- In green: graphic representation of the sound of a snoring man -

Cleaning, transforming, and modeling data to discover useful information

This is a common practice in Telecommunications Engineering. We have noise in signals, spurs in frequency responses, frequency and time domains and also statistics of variables. The following to examples tell about Data Analysis done when we have needed it in our projects.

Extraction of information from Data

Install Snorek from Google Play

All eight Apps can be installed Free, Low Cost or Full from this link in the Google Play store

Case 1: Snorek App - Snore detection

The SleepApp captures the sound from the mobile telephone, samples it and filters it to identify snores using a "Snore detection algorithm developed by Marc Farssac". There are important things to take into account when doing this: First, every telephone has a different microphone with different electric characteristics and of course, they are not calibrated or adjusted by any means. Second users can place the telephone at more or less distance from them. Third, they can turn left or right while sleeping reducing the noise level recieved by the phone. And also, every snorer is different. Last but not least we have to define what is a snore. Imagine, there are some considerations needed to develop it, still, it works and you can install it from the Google Play store or find out more here

Snore detection algorithm

The biggest difficulty was to develop an algorithm that understands sounds and is able to know when one sound is the one of a snore. Many App versions were released with algorithm improvements. At the begining, the App offered the user to "help" in the better snore detection by telling the App the type of rom were was sleeping. This was used by the algorithm being less sensitive to noises resembling snores. With time the algorithm got better and this setting disapeared from the App.

To know more, continue reading about the next generation of Snorek Apps

Case 2: ADC Calibration of an IoT Gateway

This project is an initial stage of an end-to-end project with an IoT sensor and gateway connected to a mobile device.

In order to measure temperatures using the analog inputs and outputs of our IoT Gateway prototype we performed a calibration of the ADC and DAC converters using a module programmed in C and running on a Texas Instruments MC3220 microcontroller. This runs the Texas Instruments Real Time operating System. This module read the temperature of remote sensors linked using a Sub 1 Ghz MASH network.

At this stage and here we will focus on the ADC converter which we will monitor using a multimeter, connected to a Pulse Width Modulated Analog output with an LED.

Since our Analog input is converted to a digital value, we will have to calibrate it. Also the conversion from the digital value read will have to be adjusted so that a Pulse Width Modulation can reproduce the initial voltage. The graphics with the data measurements and related analysis is found in in this Matcha file.

The Firmware runs two threads, one for reading and one for writing, a callback for the calibration push button and a General Purpose IO to turn on the calibration LCD. Instead of a temperature sensor I used a variable resistor and noted the readings at the resitor output and compared it with the reading from the micro to calibrate the readings (measurement of the Voltage in, the ADC value and the Voltage out for a given pulse width).

Freelance Android
Developer & Architect

Get in touch

Marc Farssac
MFB Engineering

Passeig Maragall 350, Baixos
08031 Barcelona
Catalonia, Spain

E-Mail: This email address is being protected from spambots. You need JavaScript enabled to view it.
Mobile: +34 644 764 764
Landline: +34 93 460 86 39

© Marc Farssac. All rights reserved.
Legacy site