Primero que nada gauchosuizo, qué lenguaje pensas usar?
Un procedimiento muy común utilizado es el siguiente:
Suponiendo que las muestras se llaman A0,A1,A2 .....AX
valor integrado= [(A0*t)+(|A1-A0| / 2)] + [(A1*t)+(|A2-A1| / 2)] + y asi con todos...
donde t es tu "delta" o tiempo de muestreo, en tu caso 0,5 seg.
Cómo implementarlo dependera de varias cosas: tiene que ser en tiempo real? o guardas las muestras y despues integras? lo haces en C o en ensamblador?
En C no es más que escribir el calculo cuidando de haber definido correctamente cada variable, en ensamblador es un poco más complicado, pero en tu caso se puede simplificar un poco: fijate que la multiplicación Ax*t es Ax*0,5 o lo que es igual Ax/2 o rotar una posición a la derecha el registro, lo mismo con el resultado de |A1-A0|/2, pero recordando que se necesita el modulo de la resta, por lo que tendras que verificar si el resultado es negativo y complementar el registro si es necesario. El resultado seguramente sea una variable de más de un byte, por lo que tendras que erreglarte tambien con eso en ensamblador.