我使用 MSP430FR2355 微控制器和与其连接的显示器。我创建了 2 个包含时间和电压值的数组,根据这些值在显示屏上绘制了一个图表。之后,我将这些值传递到 dac 寄存器。如何对这些值进行正弦插值以获得平滑的图形?是否可以使用汉明窗函数来实现此目的?另一个澄清是微控制器不支持浮点。
或者我可以制作一个汉明窗函数的系数表,并将我的值乘以该表,它会起作用吗?
您不需要使用 sinc 插值。
如果您的信号一开始就被正确采样,则原始信号不包含 >= Fs/2 的频率。在实践中,您需要留一点空间。例如,如果原始信号的频率不超过 Fs*0.4,那么您需要应用以获得“平滑信号”的抗混叠滤波器会更温和、更短。
如果您的 DAC 支持比现有更高的采样频率,那么您应该上采样到 DAC 的采样率,然后应用数字 FIR 滤波器以数字方式完成大部分抗锯齿工作。这称为“过采样”。
无论如何,最终的抗混叠滤波器应该是应用于 DAC 输出的“模拟”滤波器。同样,信号距离 Fs/2 越远,这个过程就越简单。例如,如果您的信号最初达到 Fs0.4,并且您使用 2x 过采样,那么 DAC 输出将仅具有高达 Fs0.2 的频率,并且模拟滤波器可以非常简单。只需要通过小于 Fs0.2 的频率并截止大于 Fs0.8 的频率。