as

Dependencies:   mbed CMSIS_DSP_5

main.cpp

Committer:
MIGUI
Date:
2018-10-26
Revision:
7:5a4df5ab9495
Parent:
6:38073f406fc8
Child:
8:e51ee87bb437

File content as of revision 7:5a4df5ab9495:

#include "mbed.h"
#include "datos.h"
#include "arm_math.h" //utilizar funcion de q15 a float32 para optimizar la funcion a 22ums

Timer timer;
float resultado;
int tiempo;

float calcularRMS(int16_t *datos, int longitud); //definicion del tipo de variable que devuelve la funcion



int main()
{

    timer.reset();
    timer.start();
    resultado=calcularRMS(datos, 500);
    timer.stop();
    printf("****El valor Vrms es %f calculado en %d us ****\n",resultado,timer.read_us());
    
}


float calcularRMS(int16_t *datos, int longitud)  // definicion de los estamentos de la funcion
{
    float32_t k=1.007080078125000e-04;
    int64_t producto=0;
    
    for (int n=0; n<longitud; n++) {
        producto+=datos[n]*datos[n];
    }
    return sqrt((float(producto)/longitud))*k;
    
}