/*
			 if (bufferSwitch == 2) {

				 // undersampling 2
				 filterSelect = 48;

				 DSPrunFilter(&LP12_3000Hz, &AdcBuffer1[0], &filterBuffer[0]);
				 n = 0;
				 for (var = 0; var < LENGTH_OF_SAMPLES; var+=4) {
					 underSamplingBuffer12kHz[n] = filterBuffer[var];
					 underSamplingBuffer12kHz_2[n] = filterBuffer[var];
					 n++;
				}
				 carry12KHz = var - LENGTH_OF_SAMPLES + 1;
				 //n = 251;
				 filterSelect = 12;

				 DSPrunFilter(&PP1U_25_40Hz, &underSamplingBuffer12kHz[0], &filterBuffer12KHz[0]);
				 arm_abs_f32( &filterBuffer12KHz[0], &underSamplingBuffer12kHzTemp[0], n);
				 TimeWeighting(&underSamplingBuffer12kHzTemp[0], timeWeightingType, &previousWeightedValue[0] , n, SAMPLING_FREQUENCY_12KHZ);

				 //DSPrunFilter(&PP2U_50_80Hz, &underSamplingBuffer12kHz[0], &filterBuffer12KHz[0]);
				 DSPrunFilter(&PP2U_50_80Hz, &underSamplingBuffer12kHz_2[0], &filterBuffer12KHz[0]);
				 arm_abs_f32( &filterBuffer12KHz[0], &underSamplingBuffer12kHzTemp[0], n);
				 TimeWeighting(&underSamplingBuffer12kHzTemp[0], timeWeightingType, &previousWeightedValue[1] , n, SAMPLING_FREQUENCY_12KHZ);
				 //previousWeightedValue[1] = previousWeightedValue[1]/10;

				 //DSPrunFilter(&PP3U_100_160Hz, &underSamplingBuffer12kHz[0], &filterBuffer12KHz[0]);
				 DSPrunFilter(&PP3U_100_160Hz, &underSamplingBuffer12kHz_2[0], &filterBuffer12KHz[0]);
				 arm_abs_f32( &filterBuffer12KHz[0], &underSamplingBuffer12kHzTemp[0], n);
				 TimeWeighting(&underSamplingBuffer12kHzTemp[0], timeWeightingType, &previousWeightedValue[2] , n, SAMPLING_FREQUENCY_12KHZ);
				 //previousWeightedValue[2] = previousWeightedValue[2]/1000;

				 DSPrunFilter(&PP4U_200_315Hz, &underSamplingBuffer12kHz[0], &filterBuffer12KHz[0]);
				 arm_abs_f32( &filterBuffer12KHz[0], &underSamplingBuffer12kHzTemp[0], n);
				 TimeWeighting(&underSamplingBuffer12kHzTemp[0], timeWeightingType, &previousWeightedValue[3] , n, SAMPLING_FREQUENCY_12KHZ);

				 DSPrunFilter(&PP5U_400_630Hz, &underSamplingBuffer12kHz[0], &filterBuffer12KHz[0]);
				 arm_abs_f32( &filterBuffer12KHz[0], &underSamplingBuffer12kHzTemp[0], n);
				 TimeWeighting(&underSamplingBuffer12kHzTemp[0], timeWeightingType, &previousWeightedValue[4] , n, SAMPLING_FREQUENCY_12KHZ);

				 DSPrunFilter(&PP6U_800_1250Hz, &underSamplingBuffer12kHz[0], &filterBuffer12KHz[0]);
				 arm_abs_f32( &filterBuffer12KHz[0], &underSamplingBuffer12kHzTemp[0], n);
				 TimeWeighting(&underSamplingBuffer12kHzTemp[0], timeWeightingType, &previousWeightedValue[5] , n, SAMPLING_FREQUENCY_12KHZ);


				 filterSelect = 48;
				 DSPrunFilter(&PP7_1600_2500Hz, &AdcBuffer1[0], &filterBuffer[0]);
				 arm_abs_f32( &filterBuffer[0], &filterBufferTemp[0], LENGTH_OF_SAMPLES);
				 TimeWeighting(&filterBufferTemp[0], timeWeightingType, &previousWeightedValue[6] , LENGTH_OF_SAMPLES, SAMPLING_FREQUENCY_48KHZ);

				 DSPrunFilter(&PP8_3150_5000Hz, &AdcBuffer1[0], &filterBuffer[0]);
				 arm_abs_f32( &filterBuffer[0], &filterBufferTemp[0], LENGTH_OF_SAMPLES);
				 TimeWeighting(&filterBufferTemp[0], timeWeightingType, &previousWeightedValue[7] , LENGTH_OF_SAMPLES, SAMPLING_FREQUENCY_48KHZ);

				 DSPrunFilter(&PP9_6300_10000Hz, &AdcBuffer1[0], &filterBuffer[0]);
				 arm_abs_f32( &filterBuffer[0], &filterBufferTemp[0], LENGTH_OF_SAMPLES);
				 TimeWeighting(&filterBufferTemp[0], timeWeightingType, &previousWeightedValue[8] , LENGTH_OF_SAMPLES, SAMPLING_FREQUENCY_48KHZ);

				 DSPrunFilter(&PP10_12500_20000Hz, &AdcBuffer1[0], &filterBuffer[0]);
				 arm_abs_f32( &filterBuffer[0], &filterBufferTemp[0], LENGTH_OF_SAMPLES);
				 TimeWeighting(&filterBufferTemp[0], timeWeightingType, &previousWeightedValue[9] , LENGTH_OF_SAMPLES, SAMPLING_FREQUENCY_48KHZ);



			}else{


				 // undersampling 2
				filterSelect = 48;

				 DSPrunFilter(&LP12_3000Hz, &AdcBuffer2[0], &filterBuffer[0]);
				 n = 0;
				 for (var = 0; var < LENGTH_OF_SAMPLES; var+=4) {
					 underSamplingBuffer12kHz[n] = filterBuffer[var];
					 underSamplingBuffer12kHz_2[n] = filterBuffer[var];
					 n++;
				}
				 carry12KHz = var - LENGTH_OF_SAMPLES + 1;
				 //n = 251;
				 filterSelect = 12;

				 DSPrunFilter(&PP1U_25_40Hz, &underSamplingBuffer12kHz[0], &filterBuffer12KHz[0]);
				 arm_abs_f32( &filterBuffer12KHz[0], &underSamplingBuffer12kHzTemp[0], n);
				 TimeWeighting(&underSamplingBuffer12kHzTemp[0], timeWeightingType, &previousWeightedValue[0] , n, SAMPLING_FREQUENCY_12KHZ);

				 //DSPrunFilter(&PP2U_50_80Hz, &underSamplingBuffer12kHz[0], &filterBuffer12KHz[0]);
				 DSPrunFilter(&PP2U_50_80Hz, &underSamplingBuffer12kHz_2[0], &filterBuffer12KHz[0]);
				 arm_abs_f32( &filterBuffer12KHz[0], &underSamplingBuffer12kHzTemp[0], n);
				 TimeWeighting(&underSamplingBuffer12kHzTemp[0], timeWeightingType, &previousWeightedValue[1] , n, SAMPLING_FREQUENCY_12KHZ);
				 //previousWeightedValue[1] = previousWeightedValue[1]/10;

				 //DSPrunFilter(&PP3U_100_160Hz, &underSamplingBuffer12kHz[0], &filterBuffer12KHz[0]);
				 DSPrunFilter(&PP3U_100_160Hz, &underSamplingBuffer12kHz_2[0], &filterBuffer12KHz[0]);
				 arm_abs_f32( &filterBuffer12KHz[0], &underSamplingBuffer12kHzTemp[0], n);
				 TimeWeighting(&underSamplingBuffer12kHzTemp[0], timeWeightingType, &previousWeightedValue[2] , n, SAMPLING_FREQUENCY_12KHZ);
				 //previousWeightedValue[2] = previousWeightedValue[2]/1000;

				 DSPrunFilter(&PP4U_200_315Hz, &underSamplingBuffer12kHz[0], &filterBuffer12KHz[0]);
				 arm_abs_f32( &filterBuffer12KHz[0], &underSamplingBuffer12kHzTemp[0], n);
				 TimeWeighting(&underSamplingBuffer12kHzTemp[0], timeWeightingType, &previousWeightedValue[3] , n, SAMPLING_FREQUENCY_12KHZ);

				 DSPrunFilter(&PP5U_400_630Hz, &underSamplingBuffer12kHz[0], &filterBuffer12KHz[0]);
				 arm_abs_f32( &filterBuffer12KHz[0], &underSamplingBuffer12kHzTemp[0], n);
				 TimeWeighting(&underSamplingBuffer12kHzTemp[0], timeWeightingType, &previousWeightedValue[4] , n, SAMPLING_FREQUENCY_12KHZ);

				 DSPrunFilter(&PP6U_800_1250Hz, &underSamplingBuffer12kHz[0], &filterBuffer12KHz[0]);
				 arm_abs_f32( &filterBuffer12KHz[0], &underSamplingBuffer12kHzTemp[0], n);
				 TimeWeighting(&underSamplingBuffer12kHzTemp[0], timeWeightingType, &previousWeightedValue[5] , n, SAMPLING_FREQUENCY_12KHZ);



				 // full sampling rate
				 filterSelect = 48;
				DSPrunFilter(&PP7_1600_2500Hz, &AdcBuffer2[0], &filterBuffer[0]);
				arm_abs_f32( &filterBuffer[0], &filterBufferTemp[0], LENGTH_OF_SAMPLES);
				TimeWeighting(&filterBufferTemp[0], timeWeightingType, &previousWeightedValue[6] , LENGTH_OF_SAMPLES, SAMPLING_FREQUENCY_48KHZ);

				 DSPrunFilter(&PP8_3150_5000Hz, &AdcBuffer2[0], &filterBuffer[0]);
				 arm_abs_f32( &filterBuffer[0], &filterBufferTemp[0], LENGTH_OF_SAMPLES);
				 TimeWeighting(&filterBufferTemp[0], timeWeightingType, &previousWeightedValue[7] , LENGTH_OF_SAMPLES, SAMPLING_FREQUENCY_48KHZ);

				 DSPrunFilter(&PP9_6300_10000Hz, &AdcBuffer2[0], &filterBuffer[0]);
				 arm_abs_f32( &filterBuffer[0], &filterBufferTemp[0], LENGTH_OF_SAMPLES);
				 TimeWeighting(&filterBufferTemp[0], timeWeightingType, &previousWeightedValue[8] , LENGTH_OF_SAMPLES, SAMPLING_FREQUENCY_48KHZ);

				 DSPrunFilter(&PP10_12500_20000Hz, &AdcBuffer2[0], &filterBuffer[0]);
				 arm_abs_f32( &filterBuffer[0], &filterBufferTemp[0], LENGTH_OF_SAMPLES);
				 TimeWeighting(&filterBufferTemp[0], timeWeightingType, &previousWeightedValue[9] , LENGTH_OF_SAMPLES, SAMPLING_FREQUENCY_48KHZ);

			}
*/