| Signal Processing Toolbox | ![]() |
表示
y=medfilt1(x,n) y=medfilt1(x,n,blksz)
詳細
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要素の平均を出力します。
y は、 = medfilt1(x,n,blksz)
forループを使って、同時にblksz(ブロックサイズ)個の出力サンプルを計算します。medfilt1は、n行blksz列の作業用行列を使用するため、使用している計算機のメモリが少ない場合には、 blksz << length(x)を使用してください。デフォルトでは、blksz = length(x)です。これは、メモリが十分にある場合に実行時間が最も速くなる設定です。
xが行列の場合、medfilt1は、つぎのステートメントを使って、xの列単位にメディアンフィルタ処理します。
y(:,i) = medfilt1(x(:,i),n,blksz)
参考
|
巡回型(IIR)または非巡回型(FIR)フィルタによるデータのフィルタリング |
medfilt2 |
2次元メディアンフィルタリング(Image Processing Toolbox User's Manualを参照) |
|
中央値(MATLAB Function Referenceを参照) |
参考文献
[1] Pratt, W.K., Digital Image Processing, John Wiley & Sons, 1978, pp. 330-333.
| maxflat | modulate | ![]() |