我想写一个一维中值滤波器来消除信号中的毛刺。我写了我的中值滤波器代码在matlab和ı上,比较它与medfilt1函数输出。我的中值滤波器不工作了。
--我的中值滤波器阶数是8。
在我的实现中,当数据到来时,我填充数组(数组的大小是8)。当输入数据计数为8时,我取中间值并将该中间值写入中值滤波器输出数组。然后我等待下一个8个数据。当ı获取8个数据时,ı获取中间值,并将该中间值写入中值滤波器输出数组。诸若此类。(我实现了排序算法,并对其进行了ı测试。它运行良好)。
这是我的截图,
我的传入数据的颜色是红色。matlab的medfilt1的输出是绿色的。我的中值滤波器是蓝色的。
我想我的算法是错的,但是我不知道什么是正确的算法?
发布于 2016-06-25 22:45:58
您的实现是错误的,可能在两个方面(很难说,因为您没有向我们展示您的代码)。
https://stackoverflow.com/questions/38028575
复制相似问题