fghfgh

Dependencies:   mbed CMSIS_DSP_5 TextLCD

main.cpp

Committer:
jvicente
Date:
2019-11-21
Revision:
7:4dd3ef163f65
Parent:
6:1e45b5f30b87
Child:
8:05a125e4eee0

File content as of revision 7:4dd3ef163f65:

#include "mbed.h"
#include "arm_math.h"
#include <stdio.h>
#include <string.h>
#include "datos.h"

#define frameLength 2048
#define NUM_TAPS              15
#define NUM_STAGES            3
float inDataFloat[frameLength];
float outDataFloat[frameLength];
float valorRMSFloat;
float valorRMSSinFiltro;
float valorRMSSinFiltroConvertido;
float valorRMSConvertido;
float meanSinFiltro;
float meanTrasFiltro;


float  salida[frameLength];

const float32_t iirCoeffs32[NUM_TAPS] = {
    8.9618e-05,-1.439e-11,-8.9619e-05,1.8954,-0.91178,
    1,2,0.99999,1.9116,-0.94211,
    1,-2,0.99999,1.9588,-0.96799
};


static float32_t iirStateF32[4*NUM_STAGES];

arm_biquad_casd_df1_inst_f32 S;

/// Tocar funciones de abajo

void init_procesado()
{
    arm_biquad_cascade_df1_init_f32(&S, NUM_STAGES, (float32_t *)&iirCoeffs32[0], &iirStateF32[0]);
}

void procesarfloat(float *inData,float *outData,int32_t length)
{
    arm_mean_f32(inData, length, &meanSinFiltro);
    arm_rms_f32(inData, length, &valorRMSSinFiltro);
    valorRMSSinFiltroConvertido = valorRMSSinFiltro*3.3f;

    arm_biquad_cascade_df1_f32(&S, inData, outData, length);

    arm_rms_f32(outData, length, &valorRMSFloat);
    valorRMSConvertido = valorRMSFloat*3.3f;
    arm_mean_f32(outData, length, &meanTrasFiltro);
}

// PROGRAMA PRINCIPAL
int main()
{

    init_procesado();
    procesarfloat(datos,salida,frameLength);
    printf("*******************************entrada\n");
    for (int n=0; n<frameLength; n++) {
        printf("%f\n",datos[n]);
    }
    printf("********************************salida\n");
    for (int n=0; n<frameLength; n++) {
        printf("%f\n",salida[n]);
    }
    while(1) {
        wait(1000);
    }


}