Sz_Insper / Mbed 2 deprecated DAC_F302_Audio

Dependencies:   mbed

Committer:
henriquer
Date:
Thu Oct 15 21:13:21 2020 +0000
Revision:
0:08d7440bdf68
ADC-DAC-Sinal Audio

Who changed what in which revision?

UserRevisionLine numberNew contents of line
henriquer 0:08d7440bdf68 1
henriquer 0:08d7440bdf68 2 // #################### DAC F302 ####################
henriquer 0:08d7440bdf68 3
henriquer 0:08d7440bdf68 4 #include "mbed.h"
henriquer 0:08d7440bdf68 5
henriquer 0:08d7440bdf68 6 AnalogIn Ain(A0); // Entrada sinal de áudio
henriquer 0:08d7440bdf68 7
henriquer 0:08d7440bdf68 8 AnalogOut Aout(A2); // Reconstrução -sinal de áudio
henriquer 0:08d7440bdf68 9
henriquer 0:08d7440bdf68 10 Ticker snyq_tick;
henriquer 0:08d7440bdf68 11
henriquer 0:08d7440bdf68 12
henriquer 0:08d7440bdf68 13 void snyq_task(void);
henriquer 0:08d7440bdf68 14
henriquer 0:08d7440bdf68 15
henriquer 0:08d7440bdf68 16 float data_in, data_out;
henriquer 0:08d7440bdf68 17
henriquer 0:08d7440bdf68 18 int main()
henriquer 0:08d7440bdf68 19 {
henriquer 0:08d7440bdf68 20 snyq_tick.attach_us(&snyq_task,25); // tempo de amostragem do sinal 1/25us
henriquer 0:08d7440bdf68 21 }
henriquer 0:08d7440bdf68 22 // Funcção Amostragem do Sinal - DAC
henriquer 0:08d7440bdf68 23 void snyq_task(void)
henriquer 0:08d7440bdf68 24 {
henriquer 0:08d7440bdf68 25 data_in=Ain;
henriquer 0:08d7440bdf68 26 data_out=data_in;
henriquer 0:08d7440bdf68 27 Aout=data_out;
henriquer 0:08d7440bdf68 28
henriquer 0:08d7440bdf68 29 }
henriquer 0:08d7440bdf68 30
henriquer 0:08d7440bdf68 31 //float LPF(float LPF_in)
henriquer 0:08d7440bdf68 32 //{
henriquer 0:08d7440bdf68 33 //float a[4]= {1,2,1};
henriquer 0:08d7440bdf68 34
henriquer 0:08d7440bdf68 35 //float b[4]= {1,2,1};
henriquer 0:08d7440bdf68 36 //static float LPF_out;
henriquer 0:08d7440bdf68 37 //static float x[4], y[4];
henriquer 0:08d7440bdf68 38 //x[3] = x[2];
henriquer 0:08d7440bdf68 39 //x[2] = x[1];
henriquer 0:08d7440bdf68 40 //x[1] = x[0]; // move x values by one sample
henriquer 0:08d7440bdf68 41 //y[3] = y[2];
henriquer 0:08d7440bdf68 42 //y[2] = y[1];
henriquer 0:08d7440bdf68 43 //y[1] = y[0]; // move y values by one sample
henriquer 0:08d7440bdf68 44 // x[0] = LPF_in; // new value for x[0]
henriquer 0:08d7440bdf68 45 // y[0] = (b[0]*x[0]) + (b[1]*x[1]) + (b[2]*x[2]) + (b[3]*x[3]) + (a[1]*y[1]) + (a[2]*y[2]) + (a[3]*y[3]);
henriquer 0:08d7440bdf68 46
henriquer 0:08d7440bdf68 47 //LPF_out = y[0];
henriquer 0:08d7440bdf68 48 //return LPF_out; // output filtered value
henriquer 0:08d7440bdf68 49 //}