MATLAB ヘルプ センター
ソフトなしきい値処理またはハードなしきい値処理
Y = wthresh(X,sorh,T)
Y = wthresh(X,sorh,T) は、sorh の指定に応じて、ベクトルまたは行列 X のソフトなしきい値処理またはハードなしきい値処理を返します。T はしきい値です。
Y
X
sorh
T
例
すべて折りたたむ
信号を生成し、しきい値を設定します。
y = linspace(-1,1,100); thr = 0.4;
ハードなしきい値処理とソフトなしきい値処理を実行します。
yhard = wthresh(y,"h",thr); ysoft = wthresh(y,"s",thr);
結果をプロットして、元の信号と比較します。
tiledlayout(1,3) nexttile plot(y,y) ylim([-1 1]) title("Original Signal") nexttile plot(y,yhard) ylim([-1 1]) title("Hard Threshold") nexttile plot(y,ysoft) ylim([-1 1]) title("Soft Threshold")
ノイズがある Doppler 信号を読み込みます。信号の間引きなしの離散ウェーブレット変換をレベル 4 まで下げて求めます。
load noisdopp wt = modwt(noisdopp,4);
最も細かいスケールのウェーブレット係数に基づいて、Donoho-Johnstone のユニバーサルしきい値を決定します。
thr = median(abs(wt(1,:)-median(wt(1,:))))/0.6745;
ウェーブレット変換にソフトなしきい値処理を適用し、結果を反転して、ノイズ除去された信号を求めます。
wtthr = wthresh(wt,"s",thr); xden = imodwt(wtthr);
元の信号とノイズ除去後の信号をプロットします。
plot([noisdopp(:) xden(:)]) axis tight legend("Original","Thresholded",Location="southeast")
しきい値への入力データ。ベクトルまたは行列として指定します。
データ型: single | double 複素数のサポート: あり
single
double
"s"
"h"
実行するしきい値処理のタイプ。
"s" — ソフトなしきい値処理
"h" — ハードなしきい値処理
しきい値。正の実数として指定します。
データ型: single | double
しきい値処理後のデータ。ベクトルまたは行列として返されます。Y の次元は X と同じになります。
sorh が "s" の場合、Y は X のソフトなしきい値処理であり、Y=sign(X)·(|X|−T)+ となります。
(x)+={xifx≥00otherwise
ソフトなしきい値処理は、ウェーブレットの縮小です。
sorh が "h" の場合、Y は X のハードなしきい値処理であり、Y=X·1(|X| > T ) となります。
1(|X| > T )={1if|X|>T0otherwise
ハードなしきい値処理は、ソフトなしきい値処理よりも大まかなものになります。
すべて展開する
関数 wthresh は、複素数値および単精度の入力をサポートします。
wthresh
wdenoise
wdencmp
wpdencmp
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ