當前位置:成語大全網 - 書法字典 - 如何在matlab中對信號進行去噪?最好使用函數的形式,方便其他程序調用。

如何在matlab中對信號進行去噪?最好使用函數的形式,方便其他程序調用。

去噪的方法很多,小波去噪是最常用的壹種。matlab中有壹個函數對小波去噪,簡單易行。最常用最簡單的方法就是閾值去噪,用函數ddencmp()生成信號的默認閾值,再用函數wdencmp()去噪。比如:

%對噪聲信號s執行3層小波分解

[c,l]=wavedec(s,3,' db 1 ');%s是含噪信號,3是小波分解層數,db1是使用的小波基。

%獲取信號默認值

[thr,sorh,keepapp]=ddencmp('den ',' wv ',s);

%參數den代表去噪,wv代表小波,S代表包含噪聲的信號。

%實現去噪過程。

s2=wdencmp('gbl ',c,l,' db1 ',3,thr,sorh,keep app);

%參數gbl表示采用了全局去噪。