Corrected interpolation

pull/6/merge
boblark 4 years ago
parent 068bca57c3
commit 822701e4a4
  1. 6
      synth_sin_cos_f32.cpp
  2. 1
      synth_sin_cos_f32.h

@ -31,6 +31,8 @@
* SOFTWARE.
*/
// Rev 10 March 2021 - Corrected interpolation formula Bob L
#include "synth_sin_cos_f32.h"
// 513 values of the sine wave in a float array:
@ -80,7 +82,7 @@ void AudioSynthSineCosine_F32::update(void) {
/* Read two nearest values of input value from the sin table */
a = sinTable512_f32[index];
b = sinTable512_f32[index+1];
blockS->data[i] = amplitude_pk * (a + 0.001953125*(b-a)*deltaPhase); /* Linear interpolation process */
blockS->data[i] = amplitude_pk * (a + (b-a)*deltaPhase); /* Linear interpolation process */
/* Shift forward phaseS_C and get cos. First, the calculation of index of the table */
phaseC = phaseS + phaseS_C;
@ -90,7 +92,7 @@ void AudioSynthSineCosine_F32::update(void) {
/* Read two nearest values of input value from the sin table */
a = sinTable512_f32[index];
b = sinTable512_f32[index+1];
blockC->data[i] = amplitude_pk * (a + 0.001953125*(b-a)*deltaPhase); /* Linear interpolation process */
blockC->data[i] = amplitude_pk * (a + (b-a)*deltaPhase); /* Linear interpolation process */
}
}
AudioStream_F32::transmit(blockS, 0);

@ -2,6 +2,7 @@
* AudioSynthSineCosine_F32
*
* Status: Checked for function and accuracy. 19 April 2020
* 10 March 2021 Corrected Interpolation equations. Bob L
*
* Created: Bob Larkin 15 April 2020
*

Loading…
Cancel
Save