TU ANUNCIO / YOUR PUBLICITY

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

sábado, 31 de diciembre de 2016

Aplicaciones de cálculo para ingenieros en Android

Hace casi 80 años una máquina descifraba los códigos cifrazos alemanes en la segunda guerra mundial. Con los rudimentarios ordenadores de los años 60 se pudo controlar un cohete que llegara a la luna. Con el tiempo, cada vez más disciplinas técnicas se apuntaban al cálculo con ordenador. Incluyendo, obviamente, la obra civil.
En la actualidad, la velocidad y capacidad de cálculo se ha disparado. Sin embargo, el uso de éstos dispositivos ha avanzado hacia las redes sociales, la ofimática, el correo, internet… Todo este barullo, nos ha ido haciendo olvidar que dentro de ellos late un corazón de cálculo.
En enero de 2015, en una reunión de trabajo, la discusión acerca del armado de un muro de hormigón tuvo que cancelarse ante la necesidad de tener que realizar un recálculo de éste. En el coche, en el viaje de vuelta a la oficina, un programa radiofónico comentaba las últimas novedades en aplicaciones para móviles. En aquel momento pensamos que útil nos hubiera sido que una aplicación en el teléfono nos hubiera permitido recalcular el muro, estudiar rápidamente las distintas posibilidades e ir descartando opciones. Aunque se tratase de un cálculo aproximado se habría solucionado el problema. Más tarde con calma ya realizaríamos el cálculo fino en la oficina. 
Es en este momento cuando nos decidimos a realizar nuestro programa simplificado para Android de cálculo de muros. Con el tiempo le siguieron el de cálculo de IRI, marcos, vigas, recubrimientos, estabilidad de taludes, eficiencia energética en depuradoras, áreas, toma de datos para GIS… y cálculo hidráulico para tuberías y canales.
Los condicionantes siempre han sido los mismos, simplificación máxima de datos, exportación de informes que pudieran compartirse y distribuirse, y un mínimo número de pantallas para no perder de vista el problema en su conjunto.

CÁLCULO DE MUROS DE HORMIGÓN


La publicamos el 31 de marzo de 2015. Fue la dedicada al ´calculo de muros de hormigón:



Hasta hicimos un vídeo divulgativo:



Hasta la fechas ya ha sido descargada 15.000 veces y recibidos 67 comentarios. Por lo que estamos muy contentos.

CÁLCULO DE MARCOS DE HORMIGÖN


El 24 de septiembre de 2015 subimos esta nueva aplicación. Se trataba de la lógica 2ª parte del programa de cálculo de muros. Se pretendía poder hacer un rápido recálculo de cualquier marco, paso inferior o alcantarilla.


También le hicimos un vídeo divulgativo:


Nos costó bastante trabajo (el cálculo de un marco es más complejo que el de un muro) y el número de descargas a fecha de hoy es de 1.500. Esperamos que en los próximos 10 días alcancemos la barrera de las 100.

Con estos dos (muros y marcos) tendremos solucionados casi el 90 % de las preguntas simples estructurales planteadas en obra.

CÁLCULO DE VIGAS


El 15 de septiembre publicamos nuestra aplicación para el cálculo de vigas. Estábamos trabajando en el programa de marcos de hormigón y pensamos que ya que estábamos elaborando las subrutinas para el cálculo de momentos flectores de cada cara de un marco, bien podríamos crear un programa aparte con el cálculo de vigas con cualquier tipo de solicitación.


El ritmo de descargas es bastante bueno y a fecha de hoy estamos en más de 30.000

CÁLCULO DE CAUDALES EN CANALES Y TUBERÍAS




En octubre de este año nace el programa Hidro-I. El objetivo de este programa es facilitar los cálculos hiodráulicos típicos en tuberías y canales. Los datos de partida pueden ser sus dimensiones, caudal, rugosidad, resguardo y/o pendiente. Cualquiera de éstos puede pasar a ser la incógnita buscada, Además, la inclinación puede tomarse la propia del teléfono.

Todos los datos están a la vista a la vez. 




CÁLCULO CAPACIDAD DE GLORIETAS


Realiza el cálculo del nivel de servicio de una glorieta o rotonda.


El algoritmo se basa en una virtualización acelerada del proceso de circulación en una glorieta o rotonda.

Los vehículos se irán moviendo a la velocidad adecuada. Cumplen las normas de circulación y actúan como conductores habituales, es decir, conocen adecuadamente la trayectoria a seguir. Por otro lado, los vehículos pesados tienen una velocidad menor y son más lentos de reaccionar, como cabría de esperar.

Admite de 3 a 8 ramales, pudiendo ser de entrada, o de salida, o de entrada y salida.

Realiza croquis y diagramas exportables a formato gráfico.





CÁLCULO APROXIMADO DE LA EFICIENCIA ENERGÉTICA EN DEPURADORAS




Realiza el cálculo aproximado de la eficiencia energética en una planta de depuración de aguas residuales urbanas. Con pocos datos tendremos una idea de la catalogación (del nivel) de la planta en términos de eficiencia energética. El cálculo se hace comparativamente con la planta perfecta sin pérdidas y con la máxima cogeneración posible.

La forma de realizar el cálculo es un secreto de los patrocinadores (ABAKAL) para su elaboración se estudiaron más de 1000 depuradoras y las discrepancias entre el funcionamiento óptimo teórico frente al real.

CÁLCULO DE LA ESTABILIDAD DE TALUDES


Aplicación dedicada al cálculo de estabilidad de taludes en desmontes y terraplenes. Admite hasta 8 materiales diferentes. El cálculo se realiza partiendo en franjas las posibles líneas de rotura definidas por parábolas.



Le hicimos un vídeo divulgativo:


Éste programa se terminó el 5 de mayo. Hasta la fecha es el programa de cálculo más complejo elaborado por nosotros. Confluyen en el cálculo las teorías de elementos finitos y el cálculo matricial. Pese a que el volumen de descargas (260 en 6 meses) sea bajo, estamos muy contentos de la calidad de nuestro trabajo. Y gran parte de la programación (subrutinas) están sirviendo para otras aplicaciones más modernas.

CÁLCULO DEL INDICE DE REGULARIDAD INTERNACIONAL



También le hicimos un vídeo divulgativo:


Este programa fue terminado el 21 de febrero de 2015. Eso le convierte en el primer programa desarrollado por nosotros. 

Permite calcular el IRI con los sensores de vibración y el GPS de Android. Realiza gráficas e informe además de permitir su calibración.

El nivel de descargas nos sigue decepcionando. En nueve meses van 250 descargas. Teníamos muchas esperanzas en él. Un ensayo de IRI cuesta unos 1.000€/km y de esta manera sale gratis. Pretendíamos además, demostrar de una forma bastante evidente las falacias de los que realizan este ensayo presumiendo de perfilómetro y en realidad sólo utilizan la vibración de éste. Más tarde nos dimos cuenta de que un programa que sólo puede el ser utilizado con un vehículo en movimiento no es lo que se espera en una aplicación de Android.

OTROS PROGRAMAS


En octubre de 2.015 desarrollamos un trío de programas:


Aún es pronto para evaluarlos. Lo dejaremos para otro momento.

AGRADECIMIENTOS

Una de las cosas que más nos han animado ha sido la multitud de correos que nos han ido enviando las personas que han utilizado nuestros programas. Por ello estamos muy agradecidos.

La fecha no es la real. Simplemente quiero que salga como primera página del blog este año.

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).

NOTA: Debido a las ultimas restricciones de Android (a partir de la versión 11) el programa desde Google Play no puede abrir documentos de terceros sin su consentimiento expreso. Si se desea esa utilidad descárguese nuestra versión particular aquí.

NOTE: Due to the latest Android restrictions (from version 11) the program from Google Play cannot open third-party documents without your express consent. If you want this utility, download our particular version here.

Í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.