Signal Processing Toolbox    
medfilt1

1次元メディアンフィルタリング

表示

詳細

y = medfilt1(x,n) は、n次の1次元メディアンフィルタをベクトルxに適用します。yは、xと同じ長さです。この関数は、最後の点を越えるとゼロとして信号を処理します。

nが奇数の場合、y(k)x(k-(n-1)/2:k+(n-1)/2)の中央値となります。

nが偶数の場合、y(k)x(k-n/2),x(k-(n/2)+1), ... , x(k+(n/2)-1)の中央値となります。この場合、 medfilt1 は、数値を並べ替えてから、(n-1)/2要素と((n-1)/2)+1要素の平均を出力します。

nのデフォルト値は3です。

y = medfilt1(x,n,blksz) は、forループを使って、同時にblksz(ブロックサイズ)個の出力サンプルを計算します。medfilt1は、nblksz列の作業用行列を使用するため、使用している計算機のメモリが少ない場合には、 blksz << length(x)を使用してください。デフォルトでは、blksz = length(x)です。これは、メモリが十分にある場合に実行時間が最も速くなる設定です。

xが行列の場合、medfilt1は、つぎのステートメントを使って、xの列単位にメディアンフィルタ処理します。

参考
filter
巡回型(IIR)または非巡回型(FIR)フィルタによるデータのフィルタリング
medfilt2
2次元メディアンフィルタリング(Image Processing Toolbox User's Manualを参照)
median
中央値(MATLAB Function Referenceを参照)

参考文献

[1] Pratt, W.K., Digital Image Processing, John Wiley & Sons, 1978, pp. 330-333.


 maxflat modulate