TU ANUNCIO / YOUR PUBLICITY

AQUÍ PODRÍA ESTAR TU ANUNCIO: / HERE COULD BE YOUR AD E-mail

miércoles, 28 de diciembre de 2016

GPR data processing on Android / Procesmiento de datos en Android

Enlace con Google Play: 

https://play.google.com/store/apps/details?id=com.nieto.luis.gpr


RESUMEN / ABSTRACT: 

Este manual presenta una nueva forma de afrontar el procesado de señales GPR desde el punto de vista de dispositivos móviles. Posibilita la obtención de radargramas sin necesidad de disponer de equipos y programas comerciales especializados, de mayor complejidad. Se trata de una herramienta sencilla e intuitiva, que permite agilizar el procesado de la señal y la obtención de resultados preliminares, implementando filtros que optimizan el procesado de las imágenes procesadas y facilitan la realización de mediciones e informes. La aplicación incorpora herramientas para la medición de espesores, detección y medición de cambios en el terreno y de elementos enterrados (diámetro de tuberías y armaduras).

This manual presents a new GPR signal processing method for mobile devices.The new developed app is able to obtain radargrams without needing to resort to other commercial and more complex programs. It is a simplified and intuitive tool, that allows to speed up the processing of the GPR signal, obtaining preliminary results easily, implementing filters to optimize the treatment of GPR images and simplifying measurement proceeds and reports. The app incorporates tools for the thickness measurement, detection and measurement of changes on the ground and buried elements (pipes and rebars).

Índice general de comandos / General index of commands




Inicio-Apertura / Home-Opening

La aplicación incorpora un diálogo de apertura previo y una  base de datos en la nube con varios ejemplos. 
The application incorporates a previous open dialog and a database in the cloud with several examples.



nterfaz general de la aplicación: opening files (a) and a general view of the radargram before processing (b)
La siguiente figura muestra unavisualización comparativa entre un ejemplo de señal original (3476 traces) y de su apertura parcial (la nº3), limitada a 1000 traces (en el tramo de1000 a 2000 traces), lo que permite analizar una parte concreta del radargrama obtenido.
Next figure show us a comparative visualization between an example of original signal (3476 traces) and its partial opening (number 3), that has been limited to 1000 traces (in the stretch of 1000 to 2000 traces); it allows us to analyze a specific part of the processing radargram.


Diferencias entre apertura completa (a) y parcial (b) de un archivo 
(Obsérvese el interfaz de usuario que permite elegir la operación)
Differences between complete (a) and partial opening file (b) of radargram. 
(Notice that the interface allows us to choose the way of opening files).

Herramientas de visualización y prefiltrado / Visualization and pre-filtering basic tools. 

Las herramientas de previsualización desarrolladas son los siguientes:
The pre-visualization developed tools are the following ones:

Deshacer, salvar, reiniciar  / Undo, save and reset. 

NOTA/NOTE:
Cada vez que usemos un filtro de procesado de  la señal GPR, aparecerán en pantalla cuatro botones, para dar valores e intensidades a cada filtro. Estos modificadores de filtrado se muestran como “<<”, “>>”, ”__”, ”Fijar” y “Salir” y tendrán significados comunes para todos los filtros: disminuir la intensidad, aumentarla, fijar un valor numérico , fijar un cambio o salir del filtro, sin cambiar la señal original que estamos procesando
There will appear four bottons to modify intensity of filtering/processing on the screen when using filters. These filtering modifiers are shown as “<<”, “>>”, ”__”, ”Save” and “Exit” on the screen, and they will have common meanings for all filters: diminish intensity, increase it, fix a numerical value , save changes or exit the filter, without modifying the original signal that we are processing

FBotones de filtrado (de izquierda a derecha): minoración, mayoración, especificación de un valor numérico, fijado y deshacer. 
Filtering bottons (from left to right): diminish, increase, fix a numerical value, save changes and undo. 


La paleta de colores y el contraste / Palette color and Contrast

Los radargramas se colorearán según una codificación de color, con el fin de facilitar su tratamiento e interpretación. Para que la aplicación cuente con esta herramienta, se incluye un pre-filtro que representa en B/N o color la señal pre-procesada, mejorando su contraste.
Las escalas adoptadas se  muestran en la figura siguiente
Radargrams will be colored according to coding colors, for an easy treatment and interpretation. So that the application has this tool, it has been included a pre-filter that represents in B/W or color the pre-processed signal, improving its contrast.  The scales adopted are shown in next figure.

Espectros de color implementados (a). Aumento de contraste en la representación de la señal en valores centrales (b). Proceso de incremento del contraste de la señal en valores centrales del espectro de color (c). 
Spectrum of color applied (a). Contrast increasing in signal representation of central values (b). Contrast increasing processing of GPR signal in central values of the spectrum of color (c).

Zoom: 

Se acciona presionando la pantalla táctil del dispositivo con dos dedos, en la zona de la representación que queramos ampliar. No se define un botón específico para el zoom, pero esta opción está presente en todo momento en la aplicación, tal y como sucede en otras aplicaciones Android tradicionales, gracias a la pantalla táctil
It is operated at the push of the touch screen of the device with two fingers, on the zone of the representation to enlarge. It was decided not to define a specific button for the zoom, but this option is presented in the application all time, as found in other traditional Android app, thanking to the touch screen. 


Ejemplo de señal original (6) y aplicación del zoom (b)  
 Comparison of original raw signal (a) and zoom filter applied (b)


 Corrección de tiempo cero y recorte de señal / Time zero correction and Sample/Trace range removal

El pre-filtro de ajuste de tiempo cero (“puesta a cero”) permite fijar un punto de partida (“horizonte cero”) a partir del cual considerar los valores del GPR. 
“Time zero correction” pre-filter will set a starting point (“Horizon zero”), from wich  GPR values will be considered. 
En la figura se muestra el proceso general de funcionamiento de opciones de prefiltrado implementadas:
Figure shows a general view of pre-filtering operation options implemented in the app. 



Efecto del corte cero y otros seccionadores aplicados sobre la señal GPR
Time zero correction and other implemented tools


Filtros / Signal processing filters: 

DC Component Correction (Dewow Filter)

El filtro de centrado de la señal (o filtro vertical) atenúa las interferencias o ruidos generados por el acople de la señal interna del equipo GPR con su componente DC-Shift. Es útil para atenuar las interferencias en señales GPR procedentes de antenas de alta frecuencia. 
The focusing signal filter (or vertical filter) attenuates the interferences (or “noises”) produced by the join up of the internal signal of the GPR device with its component DC-Shift. It is useful to attenuate interferences in GPR signals of high frequency antennas. 

Delimitación de la zona a promediar (a) y obtención del descentrado con filtro tipo DEWOW (b)
Delimitation of the average zone (a) and de-centration obtained with DEWOW filter (b)

Signal amplification

Truncation filter

Es un filtro sencillo, desarrollado para limitar los valores máximos de la señal GPR, truncándolos. 
It is a simple filter, developed to limit maximum values of GPR signal, truncating them. 

Ejemplo de procesado de señal con el filtro de truncamiento sobre radargrama sin procesar (a) y resultado (b) (valor = 64 en el ejemplo).
Truncation filter processing example in raw radargram (a) and filtering result (b). Applied value: 64

Potential Gain Filter

Cuando cambiamos la sencilla función de transformación de truncado por una función potencial simple, tipo y=xb, se obtiene el siguiente cambio en la señal GPR procesada.
When substituting the simple truncation transformation function by a simple potential function, as y=xb, it is obtained  the following change in the  GPR processed signal.


Procesado de la señal con el filtro de ganancia potencial. Radargrama original (a) y resultado (b) (valor de la ganancia = 4.0)
Processed GPR signal applying potential gain filter. Raw radargram (a) and results (b) (Gain value: 4.0)

Arc-tangential gain

La transformación realizada en la señal GPR con el filtro de truncamiento es asintótica, y la función potencial aplicada en el filtro de ganancia es continua. La posibilidad de aunar ambos filtros (truncamiento y gananciapotencial) la encontramos en la función arcotangente, que ofrece la posibilidad de implementar un nuevo filtro: ganancia arcotangencial. 
The GPR signal transformation applied with the truncation filter is an asymptotic fuction, and the potential function applied with the gain filter is a continuous one. Joining both filters (truncation and potential gain) we get an arc-tangential function, making possible to develope a new processing filter: arc-tangential gain. 


Proceso de modificación de la señal por la aplicación del filtro deganancia arcotangencial, antes de aplicar el filtro (a) y después de aplicarlo (b)
GPR raw signal modification  before (a) and after (b) arc-tangential filter application

Signal derivation

Vertical derivation filter. 

Este filtro permite analizar las variaciones de la amplitud de la señal electromagnética en el eje z, en particular en los puntos de cambio de la curva teórica que representa la señal. Se centra así en la componente vertical “trace”. 
This filter allows to analyze the amplitude variations of the electromagnetic signal in axis z, in particular in the  changing/turning points of the theoretical curve that represents the signal. It is focused on  the vertical component, named “ trace”.

Horizontal derivation filter.

Al igual que en el filtro anterior, se ha desarrollado otro que realiza el mismo procesado de la señal GPR, pero considerando ahora las variaciones de las amplitudes de la señal respecto del eje x (se centra en la componente horizontal “sample”).
As in the previous processing filter, authors have developed other filter that carries out the GPR processing signal considering its amplitude variation in axis x (so it is focused on the horizontal component, “sample”). 


Ejemplo de procesado de la señal original (a) por derivación vertical (b) y derivación horizontal (c). 
En b) y c) el parámetro de proporcionalidad k utilizado fue: k =100
Original GPR signal before (a) and after processing with vertical derivation (b) and horizontal derivation (c) filters (proprocionality parameter k =100)

Filtro de suavizado / Smooth filter

Algunas señales GPR contienen muchas interferencias (o ruidos) adosados a la señal principal, o  que se han generado en el proceso de filtrado. Por ese motivo se ha incorporado un filtro de suavizado de la señal, que realiza la media móvil de la componente vertical. 
Some GPR signals contain a lot of interferences (or “noises”) attached to the main signal, or generated during filtering. Because of this, a filter to smooth the signal has been incorporated to calculate the “moving” average of the vertical component.



Radargrama y perfil anterior y posterior al procesado con filtro de suavizado de la señal.
Original radargram  before (left) and after (right) signal processing with smooth filter

 Frequency Analysis: 

En un típico desarrollo de Fourier en una onda cuadrada (figura siguiente) observamos que la frecuencia correspondiente al primer término de nuestra transformada de Fourier es equiparable a la frecuencia del primer ciclo.
In a typical Fourier development in a square wave (figure below) we observe that the frequency corresponding to the first term of our Fourier transform is comparable to the frequency of the first cycle.


Con este método simplificado obtendremos la frecuencia ω si conocemos λ y la velocidad en el medio (v) :  ω=v/ λ. Si el eje de abcisas en vez de espacial, fuera temporal, como ocurre en nuestro caso con la señal GPR, nos sería más fácil obtener el periodo (T) y derivaríamos la frecuencia ω=1/T. Éste método es ideal para señales abruptas. 
Otra forma de obtener el periodo, y por tanto la frecuencia, cuando la señal presenta un perfil más suavizado es entre puntos donde la curva tenga la misma inflexión. Para el cálculo de la segunda derivada optaremos por la función simplificada: f’’≈ (f(x+Δx)-2f(x)+f(x-Δx))/Δx2.


a) Radargrama de una cavidad 
b) Análisis posterior de frecuencia por el método simplificado de entre valles/crestas

Mediciones / Measurements

La aplicación desarrollada también permite obtener medidas directas de profundidad o espesor en el radargrama procesado. Con la finalidad de obtener más exactitud en nuestros resultados, es necesario conocer un valor aproximado de  la constante dieléctrica del medio en el que nos movemos. Conociendo además la variable “timewindow” del registro de datos inicial, podremos realizar el cálculo de la distancia que ha recorrido la señal electromagnética del GPR. Para ello, simplificadamente, partimos de la expresión:
twt = 2h/v   y v = c/√ε.
De lo que se deduce:
h = v·twt/2 h = c·twt / (2√ε)

This app has been designed to obtain direct thickness and depth measurements onthe  processedradargram. In order to secure more accutareresults, it is necessary to know an approximate value of the dielectric constant of ground where the electromagnetic signal is moving(22). In addition, we know the variable "timewindow" of the initial data registration, so we can make the calculation of equivalent length travelled by the GPR signal. With the expression:

twt = 2h/v   y v = c/√ε.
It is easy to deduce:
h = v·twt/2 h = c·twt / (2√ε)

Donde h=profundidad en el medio
v: velocidad de propagación de la onda electromagnética en el medio.
twt: tiempo doble de registro de la señal.
c: es la velocidad de la luz en el vacío (constante= 30 cm/ns)
ε: es la constante dieléctrica del medio (por defecto, el valor considerado será 6.0)

Where h = ground depth
v: propagation velocity of the electromagnetic wave in ground.
Δt: time signal recording.
c: speed of light in vacuum
ε ': real component of the dielectric constant (default value is considered 6.0)

Con la implementación en la aplicación del nuevo dato -la constante dieléctrica- se reescriben/redefinen también todas las escalas consideradas hasta ahora: Aprovecharemos entonces la cualidad táctil de la pantalla de los Smartphone para mover el radargrama y encajamos un cuadrado con las dimensiones solicitadas por el programa. En el dibujo/representación  aparecerá un rectángulo, debido a la diferencia entre las escalas horizontales y verticales aplicadas. En el ejemplo de la figura 19 se muestra la medición de una capa asfáltica real, tras la implementación del valor. En la parte inferior de la pantalla aparecerán las leyendas #0.13 y #0.10,  que son las medidas del lado de cada cuadrado, en centímetros (como se aprecia en esta figura).

Implementing new data (the dielectric constant) in the app, all pictures scales will be re-written/redefinetoo. Using the Smartphone tactile screen we will be able to move the radargram and fit a window with some dimensions on the screen requested by the app. A rectangle will appear on the screen: it’s due to the difference between horizontal and vertical scales applied. Figure 17 shows an asphalt layer measurement. At the bottom of picture it will appear legends “#0.13” and “#0.10”, thatare the measurements of each square side, in centimeters.


Estimación de diámetros de tuberías / Diameter pipes estimation

En esta aplicación se ha optado por simplificar el procedimiento, debido a las limitaciones de los dispositivos Android, centrándonos en la búsqueda del diámetro máximo posible del elemento detectado, de manera aproximada, a través del empleo de hipérbolas de ajuste.
In this application, the procedure has been simplified because of Android devices limitations. It has been focused on searching approximately the maximum diameter of the detected objects, using an adjusting hyperbola.
La circunferencia tangente en el vértice de la hipérbola tiene la primera derivada (tangente) y la segunda (curvatura) coincidentes. Esto simplifica el problema, centrándolo en la búsqueda de la circunferencia de radio máximo que sea tangente al vértice y no la intersecte en más puntos. Esta condición obliga a que el centro de la circunferencia buscada esté situado, precisamente, en el foco de la hipérbola de ajuste.
The tangential circumference at the hyperbola vertex has its first derivative (tangential) and second derivative (curvature) converging. This fact simplifies the measurementproblem,that will be focused on finding the maximum radius of thetangential circumference to the vertex and within more intersecting points. This condition requires that the center of the searched circle is located on thefocus of the hyperbola, precisely.



FMáxima circunferencia tangente al vértice y no secante a una hipérbola en su lado cóncavo y su ecuación (izquierda) y visualización en la aplicación (derecha)
Maximumtangentigal circumference to the vertex and non-secant to an hyperbola in its concave side: equation (left) and visualization in the app (right) of adjustment hyperbola. 

El proceso implementado en esta aplicación se basa en aproximaciones sucesivas de la hipérbola: Iremos aumentando el diámetro de la circunferencia y dibujando su hipérbola asociada. Moveremos el dibujo obteniendo los valores de traslación (xt, yt) hasta encajar la hipérbola en la parte del radargrama en la que se intuye la presencia de la tubería o de la barra enterrada. Cuando logremos encajarlo,  habremos terminado el proceso 

The process implemented in the app is based on successive approximations to the hyperbola,increasing the diameter of the circle and drawing its associated hyperbole. We will move the picture, obtaining the translational values (xt, yt) to fit the setting hyperbola in the part of the radargram where the presence of buried pipes or steel bars is intuited. When we manage to fit it, we will have completed the process 

NOTA: La situación el vértice e las asíntotas se controla se controla deslizando el dedo sobre el dibujo del perfil. 
NOTE: The situation the vertex of the asymptotes is controlled by sliding the finger on the drawing of the profile.



Ejemplos tipo de estimaciones de diámetro:
Examples type of diameter estimates:




NOTA: Esta sistema es aproximado. Sólo nos dará un orden de magnitud
NOTE: This procedure is approximate. It will only give us an order of magnitude

Salida de resultados / Output results

La utilidad de los filtros presentados se completa con la exportación de los resultados del radargrama y perfiles en formato gráfico png.
Shown filters utilities has been completed with the exportation of radargramresults and profiles in graphic format png, as we will see in this subsection.

Exportación /Exportation

Una vez procesada la señal esta puede exportarse en formato .gpr Malå extension (archivos .rad y .rd3) 
Once the radargram has been processed, a file with a .gpr Malå extension (.rad and .rd3 formats) will be created, as a result of the exporting process.



2 comentarios:

  1. perfecto es complicado usar pero es indispensable y util

    ResponderEliminar
  2. Hello
    Is this program capable of detecting metal and cavity?
    Please explain how to use it.
    Can a deep throat be detected?

    ResponderEliminar