【发布时间】:2012-11-08 03:09:45
【问题描述】:
我正在对 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];
}
提前致谢。
【问题讨论】:
标签: c embedded signal-processing lookup-tables trigonometry