const int order = 6;
float xn[] = {0, 0, 0, 0, 0, 0, 0};
float b[] = {0.0184750505552459, 0.0383151887695476, 0.0581553269838493, 0.0662884731464846, 0.0581553269838493, 0.0383151887695476, 0.0184750505552459};
void setup() {
Serial.begin(115200);
for(int i = 0; i <= order; i++)
{
xn[i] = 0;
}
}
void loop() {
for(int i = order; i >= 1 ; i--)
{
xn[i] = xn[i-1];
}
float t = micros()/1.0e6;
xn[0] = sin(2*PI*0.5*t) + 0.2 * sin(2*PI*100*t);
double yn = 0;
for(int i = 0; i <= order; i++)
{
yn += b[i]*xn[i];
}
delay(1);
//if(k%3 == 0)
//{
Serial.print(2*xn[0]);
Serial.print(" ");
Serial.println(8*yn);
//}
//k = k+1;
//delay(1);
}