Project ideas

From SGPS Project
Jump to: navigation, search

The list of the ideas to be developed and TO DO list is showed here. Before this, go to the Documentation and read it to understand what are we talking about :) You are free to take these ideas, think about them, work them but please, share all you do! your ideas, calculations, results, programs... In the points we know how those ideas can be implemented (more or less) we will post how we think the idea can be developed. You are free to follow our proposed guidelines or to create your own way of implementing the idea if you think that could be better.

The hyphenated points means that they are dependent on their previous points. These ideas or tasks are not ordered by how much important they are, they are just written as we thought them.



  1. Document and improve the already existing C/C++ code.
  2. In the basic C++ implementation, test the algorithm with the Meeus EqT (Equation of Time) formula.
  3. Improve the sunrise and sunset detection when there are more than 2 transitions.
  4. Create a program which takes de coordinates for each station, calculates the sunrise and sunset time for that station and see what is the light value in those moments. Do that for all stations and all days. This way we can improve the accuracy when using NOAA files. In other words, create some kind of training or calibrating to improve sunrise and sunset detections.
  5. Instead of using an approximation for fractional days where the sunrise used is from the day the day d, modify the algorithm to use the sunset of day d and sunrise of day d-1. This should improve accuracy.
  6. Use a CCD sensor (webcam for example) to measure the light intensity (medium value of the gray level of all the pixels).
  7. Implement the algorithm in an open source device. For example, using Arduino.
    1. Test the system with real underwater measurements.
    2. Implement a sensor network or measurements from various sensors at the same time.
  8. Under development by Javier V. Gómez Create an algorithm to implement a sensor network, which helps to reduce the error. 2 main possibilities: use triangulation among different sensors and optimizing the position of the triangles or implement the idea of the paper [1] This has the problem that it is very difficult to implement the restrictions, and the easy solution (discretizing the map into cells) can be inaccurate and consumes a lot of energy. The documentation will be uploaded soon, but future work here is focused on:
    1. How the proposed method scales to smaller networks (in terms of distances among nodes) in which the overlapping among probabilistic error functions is higher.
    2. This is also applicable with sensor networks in which the relative position among sensors is well-known (combining with compass information, for example).
    3. A minimum value of the chosen fitness function does not mean that the error is also minimized. Research focused on finding a new, more significant fitness function could suppose a great improvement on the algorithm.
  9. Change the current algorithm in order to use the Meeus Equation of Time formula, which is supposed to have zero error.
  10. Create a program to read the NOAA database but instead reading all the measurements, applying intelligent measurement strategies to reduce the energy consumed by the system. More information here
  11. Implement the tracking algorithm proposed by Frode's base paper. More information here With the NOAA dataset we can compare the sunrise and sunset times detected among the different stations, so we can "measure" the distance among those stations.
  12. Implement a modified algorithm which takes into account data of current day and also the results of the previous days to correct errors. It could be useful to use Kalman filter or particle filter, to predict the position and update it.
  13. Attach a hardware passive filter to remove the artificial light from the measurements.

New Ideas

  1. Check out the magnetic geolocation methods.
  2. Include HUE (HSV color space H value) to the sunlight intensity data to improve the sunrise/sunset detection.
    1. Concept of a Simple Hue Sensor
  3. Include a correction to the algorithm to take into account the elevation of the sensors above the sea level.
  4. Study better signal processing techniques to apply to the NOAA database.
  5. Study how to apply machine learning (for instance clustering) or artificial intelligent techniques to improve the accuracy of the sunrise and sunset detection.
    1. To normalize the sunlight data in time could be very helpful to apply machine learning algorithms... but how can we do this?
  6. Study how to predict and counteract the systematic latitude error, maybe via probabilistic estimations.
  7. Deep study of how this system can be applied to other planets. We think changing the celestial model is enough. Can anybody give a celestial model for other planet?
  8. Try to find a way to calculate the zenith angle from light intensity (or other magnitude). This will make easier to detect sunrise and sunset because zenith = 90º means sunrise or sunset.
  9. Obtaining a good fitting for the sunlight intensity signal will allow to derivate the signal. The maximum inflexion points (third derivative = 0) could be interesting to analyze.
  10. Study how to include other magnitudes to the algorithm such as: light spectrum, temperature, atmospheric pressure... Check this paper: Improving light-based geolocation by including sea surface temperature.
  11. Track the position of the sun using the incidence angle, following the idea proposed in
  12. Use time series prediction and the date (if possible) to predict the increment or decrement in the length of the day time and this waythe sunrise and sunset can be predicted prior their measurement and hence the measures are more robust.
  13. Study the existing sun tracker and star tracker systems and check their reliability within the SGPS project.
  14. Build a system which is able to use Cosm database to test SGPS and also connect and upload data in the same database.
  15. Use the real-time data to test the SGPS.
  16. Study the magnetic declination and if it could be useful within the SGPS.
  17. When analyzing the error, it turns out that for example, during "summer equinox" (from day 81 to 266) the latitude error in the north hemisphere always tends to the south of the real station and the opposite during the rest of the year. Since we know the day and if that day is longer than 12 hours of sunlight, we can predict in which hemisphere we are and the counteract statistically this error.
  18. PROMISING: Integrate the sensor shown in with the SGPS algorithm, so we could probably know the coordinates at any time of the day (during daylight, of course). This requires to study how to change the mathematical model to get coordinates from sun's position.
  19. [APPLICATION]: Use the system as a back-up of the standard GPS system.
  1. Under development by Jose Pardeiro Implement a Neuronal Network to calculate the real position when you know the angle of the sunlight. I will implement this method using a Neuronal Network trained with known values and then use the network as an inverse method.

Developed Ideas

  1. Using the Meeus model, create an iterative algorithm to select the coordinates which fit the best with the sunrise and sunset measured. Results here.


  1. M. L. Sichitiu, V. Ramadurai and P. Peddabachagari, Simple Algorithm for Outdoor Localization of Wireless Sensor Networks with Inaccurate Range Measurements In International Conference on Wireless Networks, 2003.
Personal tools