Como procurar seno de frequências diferentes a partir de uma tabela de pesquisa de tamanho fixo?

Eu estou amostrando uma onda senoidal em 48 kHz, a faixa de freqüência da minha onda senoidal pode variar de 0 a 20000 Hz com um passo de cerca de 100 Hz. Eu estou usando uma abordagem de tabela de pesquisa. Então eu gero 4096 amostras para uma onda senoidal para 4096 fases diferentes. Eu acho que a idéia geral por trás disso é incrementar o tamanho do passo e usar diferentes tamanhos de passos para diferentes freqüências. Então eu faço o seguinte (pseudo código). Mas eu não tenho certeza de como o tamanho do passo vai ser relacionado com a freqüência que eu quero gerar as amostras da onda senoidal de? Por exemplo, se a minha frequência for 15000 Hz, qual seria o tamanho do passo que tenho de percorrer? O tamanho da minha amostra (4096) é muito baixo para isso?

 // Pseudocode
 uint16_t audio_sample[4096] = {...};
 NSTEP = freq; //???How is the step size going to be related to the freq here

 for(int i = 0; i < 4096; i = i+NSTEP)
 {
     sine_f(i) = audio_sample[i];
 }

Desde já, obrigado.

questionAnswers(5)

yourAnswerToTheQuestion