使用过滤功能生成丢失的数据

| 我具有通过filter()函数提供的数据向量-所述滤波器的构造是发出原始信号的合理近似值,然后将其用于识别原始数据中的“不良”元素(通常所说的元素由不频繁的短时传感器故障引起,与良好的数据完全不同)。在确定了这些不良因素之后,我想回过头来用合理的方法代替它们。 一种方法是用过滤后的输出替换不良值。但是,生成的输出具有错误的值,因此具有一些不希望的失真。 理想情况下,我希望有一种方法告诉filter()假定丢失了错误的元素,而应该对丢失的值生成合理的插值(例如,基于周围的值和过滤器的属性),以便在构建输出时使用。 有人告诉我某些工具箱允许插入特殊值(例如NaN)来指示丢失(但假定行为良好)数据。 我查看了Octave的filter()的源代码,但没有发现明显的问题–是否有一个特殊值(或其他机制)告诉filter()假定行为良好的数据丢失了(并且应该根据需要插入)?     
已邀请:
        为此插入
NaN
将不起作用。
filter
函数非常简单-它仅实现了一个IIR滤波器。 如果您的信号平滑且变化缓慢,则可以简单地使用
interp1
根据任一侧的良好数据插值不良拉伸的新值,从而摆脱困境。 如果您的信号具有更复杂的频谱内容,我认为“维纳插值”是Google的目标。对于外推,您可以使用线性预测编码。     

要回复问题请先登录注册