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); } }