如何解决使用过滤功能生成丢失的数据
| 我具有通过filter()函数提供的数据向量-所述滤波器的构造是发出原始信号的合理近似值,然后将其用于识别原始数据中的“不良”元素(通常所说的元素由不频繁的短时传感器故障引起,与良好的数据完全不同)。在确定了这些不良因素之后,我想回过头来用合理的方法代替它们。 一种方法是用过滤后的输出替换不良值。但是,生成的输出具有错误的值,因此具有一些不希望的失真。 理想情况下,我希望有一种方法告诉filter()假定丢失了错误的元素,而应该对丢失的值生成合理的插值(例如,基于周围的值和过滤器的属性),以便在构建输出时使用。 有人告诉我某些工具箱允许插入特殊值(例如NaN)来指示丢失(但假定行为良好)数据。 我查看了Octave的filter()的源代码,但没有发现明显的问题–是否有一个特殊值(或其他机制)告诉filter()假定行为良好的数据丢失了(并且应该根据需要插入)?解决方法
为此插入
NaN
将不起作用。 filter
函数非常简单-它仅实现了一个IIR滤波器。
如果您的信号平滑且变化缓慢,则可以简单地使用interp1
根据任一侧的良好数据插值不良拉伸的新值,从而摆脱困境。
如果您的信号具有更复杂的频谱内容,我认为“维纳插值”是Google的目标。对于外推,您可以使用线性预测编码。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。