我正在研究C中的微控制器DDS项目,并且在计算线性插值以平滑输出值时遇到一些困难。现在的程序
使用24位累加器的前8位作为8位输出值数组的索引。我需要提出一个函数,它将采用累加器的中间和低位字节,并在数组中的“上一个”和“下一个”值之间生成一个值。在快速硬件上这将是直截了当的,但由于我使用微控制器,我真的需要避免做任何浮点操作或分区!由于这些限制,我不能确定从我的两个8位输入数字和累加器的较低2位取得8位插值,这代表了两者之间的“距离”输入值。预先感谢您的任何建议!直接数字合成中的线性插值
澄清
DDS =直接数字合成
在DDS是从查找表中使用相位累加器产生的波形。相位累加器通常包含一个整数分量和一个分数分量。整数组件用作查找表的索引。在简单的DDS实现中,小数部分被忽略,但对于更高质量的输出,小数分量用于在相邻查找表值之间进行插值(通常只是线性插值)。对于上述问题,我们正在研究如何在给定分数f的两个查找表值之间高效地执行线性插值,其中0 <= f < 1
。
什么是_DDS_? –
DDS =直接数字合成 - 用于音频/无线电/通信/等的波形生成 –