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. * SOFTWARE.
*/ */
// Rev 10 March 2021 - Corrected interpolation formula Bob L
#include "synth_sin_cos_f32.h" #include "synth_sin_cos_f32.h"
// 513 values of the sine wave in a float array: // 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 */ /* Read two nearest values of input value from the sin table */
a = sinTable512_f32[index]; a = sinTable512_f32[index];
b = sinTable512_f32[index+1]; 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 */ /* Shift forward phaseS_C and get cos. First, the calculation of index of the table */
phaseC = phaseS + phaseS_C; phaseC = phaseS + phaseS_C;
@ -90,7 +92,7 @@ void AudioSynthSineCosine_F32::update(void) {
/* Read two nearest values of input value from the sin table */ /* Read two nearest values of input value from the sin table */
a = sinTable512_f32[index]; a = sinTable512_f32[index];
b = sinTable512_f32[index+1]; 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); AudioStream_F32::transmit(blockS, 0);

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

Loading…
Cancel
Save