相关疑难解决方法(0)

如何从固定大小的查找表中查找不同频率的正弦值?

我正在采样48 kHz的正弦波,我的正弦波的频率范围可以在0到20000 Hz之间变化,步长约为100 Hz.我正在使用查找表方法.因此,我为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];
 }
Run Code Online (Sandbox Code Playgroud)

提前致谢.

c embedded trigonometry signal-processing lookup-tables

10
推荐指数
2
解决办法
8253
查看次数