Main Content

wthresh

ソフトなしきい値処理またはハードなしきい値処理

説明

Y = wthresh(X,sorh,T) は、sorh の指定に応じて、ベクトルまたは行列 X のソフトなしきい値処理またはハードなしきい値処理を返します。T はしきい値です。

すべて折りたたむ

信号を生成し、しきい値を設定します。

y = linspace(-1,1,100);
thr = 0.4;

ハードなしきい値処理とソフトなしきい値処理を実行します。

ythard = wthresh(y,'h',thr);
ytsoft = wthresh(y,'s',thr);

結果をプロットして、元の信号と比較します。

subplot(1,3,1)
plot(y,y)
ylim([-1 1])
title('Original Signal')
subplot(1,3,2)
plot(y,ythard)
ylim([-1 1])
title('Hard Threshold')
subplot(1,3,3)
plot(y,ytsoft)
ylim([-1 1])
title('Soft Threshold')

Figure contains 3 axes objects. Axes object 1 with title Original Signal contains an object of type line. Axes object 2 with title Hard Threshold contains an object of type line. Axes object 3 with title Soft Threshold contains an object of type line.

入力引数

すべて折りたたむ

しきい値に対する入力データ。実数値のベクトルまたは行列として指定します。

データ型: double

実行するしきい値処理のタイプ。

  • 's' — ソフトなしきい値処理

  • 'h' — ハードなしきい値処理

しきい値。正の実数として指定します。

出力引数

すべて折りたたむ

しきい値処理後のデータ。実数値のベクトルまたは行列として返されます。Y の次元は X と同じになります。

アルゴリズム

sorh's' の場合、YX のソフトなしきい値処理であり、Y=sign(X)·(|X|T)+ となります。

(x)+={xifx00otherwise

ソフトなしきい値処理は、ウェーブレットの縮小です。

sorh'h' の場合、YX のハードなしきい値処理であり、Y=X·1(|X|>T) となります。

1(|X|>T)={1if|X|>T0otherwise

ハードなしきい値処理は、ソフトなしきい値処理よりも大まかなものになります。

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入