我有一个采样的信号:在哪里. 我想找到信号的一阶和二阶导数:和.
我的第一个想法是通过中心差异来估计导数:
然而,信号可能有很多高频噪声,可能会导致快速波动和.
找到“平滑”估计的最佳方法是什么和?
我有一个采样的信号:在哪里. 我想找到信号的一阶和二阶导数:和.
我的第一个想法是通过中心差异来估计导数:
然而,信号可能有很多高频噪声,可能会导致快速波动和.
找到“平滑”估计的最佳方法是什么和?
这可能更多地取决于您的数据。要知道,由于微分是线性运算,如果您选择任何线性滤波器来平滑 f' 和 f'',它相当于使用相同的滤波器平滑 f,然后取其导数。
您能否发布一些有关您想要区分的信号的图片或更多信息?可能您正在寻找的是某种低通滤波器来平滑信号。几个非常简单的选项包括一个单极递归滤波器,如, 或 Hann 滤波器,它只是将信号与 Hann 窗口进行卷积。Hann 滤波器选项很好,因为它是线性相位的。如果您知道您关心的频率范围,您可以在频域中设计一个合适的低通滤波器。
Savitzky-Golay滤波器提供信号和前几个导数的平滑估计。
可以在此处找到 MATLAB 实现。