【发布时间】:2010-11-12 23:08:37
【问题描述】:
我想组装一个 SDR 系统,该系统最初可以调谐 AM,然后是 FM 等。 我计划用来执行此操作的系统将有一个用于直接数字合成 (DDS) 的正弦查找表。 为了正确调谐,我希望能够精确控制馈送到混频器(在这种情况下为乘数)的正弦波的频率。我预计线性插值会很接近,但认为非线性方法会提供更好的结果。
什么是用于正弦表的良好且快速的插值方法。目标系统上的乘法和加法很便宜;分割成本很高。
编辑: 我计划使用乘法/移位函数来实现常量,以将常量标准化为缩放整数。中间值将使用宽加,乘法将使用 18 或 17 位。可以使用浮点“预计算”,但不能在目标平台上使用。当我说“除法代价高昂”时,我的意思是它必须使用乘数和大量代码来实现。这不是不可想象的,但应该避免。但是,真正的浮点 IEEE 方法会占用该平台上的大量资源以及自定义实现。
任何 SDR 经验都会有所帮助。
【问题讨论】:
-
您评估过线性插值吗?在 PC 上运行一个通过预期输入运行的快速程序应该可以为您提供任何建议解决方案的错误幅度。
-
我没做过DDS,但是做过FM和相位失真合成。我刚刚读了一点关于 DDS 的内容。听起来好像经常使用线性插值,但我认为你可能会使用比线性更好的东西来降低本底噪声。当您开始实施时,您应该对输出进行 FFT,并将已知波通过输入,以查看您的本底噪声是多少以及是否有任何伪影。
标签: signal-processing trigonometry interpolation radio nonlinear-functions