   memset(ablock,100,128*numBlocks*2);
   memset(error,0,128);
   //initialize pointers for NLMS
-  pw = w;
   Perror = error;
   Serial.begin(9600); // initiate baud rate for serial comm.
   AudioMemory(8); // allocate # of audio memory (each block has 128 sample of data)

 
    //update filter taps
    for(int j = 0; j<gg;j+=1){
      pw[j] = pw[j] + (x[gg-j+h]*mu0*error[h])/131072;
    }//end for
  }//end for outer
}// end NLMS_AEC

  int16_t mu = 13;
  int8_t psi = 1;

  for(int h = 0; h < 128; h+=1){
    for(int j = gg; j > 0; j-=1){
      yhat += (x[j+h]*w[gg-j])/32768;
      xtdl += x[j+h]*x[j+h];
    }
    error[h] = Mic[gg+h]-yhat;
