![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Versão do protegemed que calcula o tempo em ms da fuga, calcula o numero de onverflow (valores muito baixo) e underflow (valores muito altos). Além disso, calcula um valor médio a partir dos valores capturados e não apenas pela fft.
Dependencies: EthernetInterface mbed-rtos mbed
Diff: Codes/SignalProcessor.cpp
- Revision:
- 2:86c3cb25577b
- Parent:
- 1:917ca6b5d9d9
--- a/Codes/SignalProcessor.cpp Fri Jul 18 20:24:45 2014 +0000 +++ b/Codes/SignalProcessor.cpp Mon Jul 21 00:58:34 2014 +0000 @@ -11,6 +11,7 @@ #include <string.h> #include "SignalProcessor.h" +#include "limites.h" #define SWAP(a,b) tempr=(a);(a)=(b);(b)=tempr #define PI 3.14159265358979323846F @@ -99,9 +100,9 @@ for(i=0; i<Settings::get_Samples();i++) value[i]= (float) ( (buffer[i] - Settings::get_Offset(ch)) / Settings::get_Gain(ch) ); */ - printf("Antes ComplexFFT\n"); + float* fft = ComplexFFT(buffer,1, ch); //deve desalocar memoria do ptr retornado - printf("Passou ComplexFFT\n"); + /* Mapa do vetor fft. @@ -122,11 +123,12 @@ sen[i-1] = fft[i*2+1]; } + /* for(int i=0;i<Settings::get_MaxHarmonics();i++) { printf("[%dHz]\tsen %.4f\tcos %.4f\n", (i+1)*60, sen[i], cos[i]); } - + */ free(fft); //printf("[3] %d %d %d %d\n", buffer[0], buffer[100], buffer[200], buffer[255]); } @@ -153,6 +155,10 @@ vector=(float*)malloc(2*Settings::get_Samples()*sizeof(float)); memset(vector,0,2*Settings::get_Samples()*sizeof(float)); printf("DEpois malloc\n"); + + + DisplayRAMBanks(); + //put the real array in a complex array //the complex part is filled with 0's //the remaining vector with no data is filled with 0's