私は48kHzで正弦波をサンプリングしていますが、正弦波の周波数範囲は0〜20000 Hzで、約100Hzのステップで変化する可能性があります。ルックアップテーブルアプローチを使用しています。したがって、4096の異なるフェーズの正弦波に対して4096のサンプルを生成します。この背後にある一般的な考え方は、ステップサイズを増やし、周波数ごとに異なるステップサイズを使用することだと思います。だから私は次のことをします(擬似コード)。しかし、ステップサイズが正弦波のサンプルを生成したい周波数にどのように関係するのかわかりませんか?たとえば、周波数が15000 Hzの場合、トラバースする必要のあるステップサイズはどれくらいになりますか?私のサンプルサイズ(4096)はこれには小さすぎますか?
// 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];
}
前もって感謝します。