y = RankOrderFilter(x, window, thd) 在 x 上运行 N 阶的排序过滤。 y 的大小与 x 相同。 如果 x 是一个矩阵,RankOrderFilter 沿 x 的列进行运算。
排序过滤器在围绕 x 的每个点的 N 大小窗口上计算数据的第 p 个百分位数。 p 可以是 0 到 100 之间的数字。为了避免边缘效应,通过重复第一个和最后一个样本 N/2 次来扩展 x。
当 p 等于 50 时,此函数的输出将与 MATLAB 的 MEDFILT1(x,N) 相同; 然而,RankOrderFilter 几乎总是更快,并且需要更少的内存。
当 p 接近 0(或接近 100)时,RankOrderFilter 计算信号的近似下(或上)包络。