日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

  • 手機站
  • 小程序

    汽車測試網(wǎng)

  • 公眾號
    • 汽車測試網(wǎng)

    • 在線課堂

    • 電車測試

小波去噪的基本原理及其實現(xiàn)方法

2022-11-09 17:06:03·  來源:汽車NVH云講堂  
 
小波去噪基本原理小波去噪方法就是一種建立在小波變換多分辨分析基礎上的算法,其基本思想是根據(jù)噪聲與信號在不同頻帶上的小波分解系數(shù)具有不同強度分布的特點,將各頻帶上的噪聲對應的小波系數(shù)去除,保留原始信號的小波分解系數(shù),然后對處理后的系數(shù)進行小波
小波去噪基本原理

小波去噪方法就是一種建立在小波變換多分辨分析基礎上的算法,其基本思想是根據(jù)噪聲與信號在不同頻帶上的小波分解系數(shù)具有不同強度分布的特點,將各頻帶上的噪聲對應的小波系數(shù)去除,保留原始信號的小波分解系數(shù),然后對處理后的系數(shù)進行小波重構,得到純凈信號。


相比以往的其他去噪方法,小波變換在低信噪比情況下的去噪效果較好,去噪后的信號識別率較高,同時小波去噪方法對時變信號和突變信號的去噪效果尤其明顯。

圖片


圖1 小波去噪基本原理圖


Matlab實現(xiàn)小波去噪

利用小波分析對監(jiān)測采集的信號進行去噪處理,可以恢復原始信號。利用小波分析進行去噪,包括以下3種方法:


  • 默認閾值去噪處理:該方法利用函數(shù)ddencmp() 生成信號的默認閾值,然后利用函數(shù)wdencmp() 進行去噪處理;


  • 給定閾值去噪處理:在實際的去噪處理過程中,閾值往往可通過經(jīng)驗公式獲得,且這種閾值比默認閾值的可信度高。在進行閾值量化處理時可利用函數(shù)wthresh();


  • 強制去噪處理:該方法是將小波分解結構中的高頻系數(shù)全部置0,即濾掉所有高頻部分,然后對信號進行小波重構。這種方法比較簡單,且去噪后的信號比較平滑,但是容易丟失信號中的有用成分。


3種去噪方法原代碼


clear all;

clc;

load default.txt;

%裝載采集的信號

x= default;

lx=length(x);

t=[0:1:length(x)-1]';

%% 繪制監(jiān)測所得信號%%

subplot(2,2,1);

plot(t,x);

title('原始信號');

grid on

set(gcf,'color','w')

set(gca,'fontname','times New Roman')

set(gca,'fontsize',14.0)

%% 用db1小波對原始信號進行3層分解并提取小波系數(shù)%%

[c,l]=wavedec(x,3,'db1');

%sym8

ca3=appcoef(c,l,'db1',3);

%低頻部分

cd3=detcoef(c,l,3);

%高頻部分

cd2=detcoef(c,l,2);

%高頻部分

cd1=detcoef(c,l,1);

%高頻部分

%% 對信號進行強制去噪處理并圖示%%

cdd3=zeros(1,length(cd3));

cdd2=zeros(1,length(cd2));

cdd1=zeros(1,length(cd1));

c1=[ca3,cdd3,cdd2,cdd1];

x1=waverec(c1,1,'db1');

subplot(2,2,2);

plot(x1);

title('強制去噪后信號');

grid on

set(gcf,'color','w')

set(gca,'fontname','times New Roman')

set(gca,'fontsize',14.0)

%% 默認閾值對信號去噪并圖示%%

%用ddencmp( )函數(shù)獲得信號的默認閾值,使用wdencmp( )函數(shù)實現(xiàn)去噪過程

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

x2=wdencmp('gbl',c,l,'db1',3,thr,sorh,keepapp);

subplot(2,2,3);

plot(x2);

title('默認閾值去噪后信號');

grid on

set(gcf,'color','w')

set(gca,'fontname','times New Roman')

set(gca,'fontsize',14.0)

%% 給定的軟閾值進行去噪處理并圖示%%

cd1soft=wthresh(cd1,'x',1.465);

%經(jīng)驗給出軟閾值數(shù)

cd2soft=wthresh(cd2,'x',1.823);

%經(jīng)驗給出軟閾值數(shù)

cd3soft=wthresh(cd3,'x',2.768);

%經(jīng)驗給出軟閾值數(shù)

c2=[ca3,cd3soft,cd2soft,cd1soft];

x3=waverec(c2,1,'db1');

subplot(2,2,4);

plot(x3);

title('給定軟閾值去噪后信號');

grid on

set(gcf,'color','w')

set(gca,'fontname','times New Roman')

set(gca,'fontsize',14.0)

小波去噪:實例分享

%在馬達負載為1,轉速為1771,內圈的故障信號

load D:\我的文檔\MATLAB\106.mat

%讀數(shù)據(jù)序列

x=X106_DE_time(1:2000);

%將信號1到2000個采樣點給x

%x=X106_DE_time;           %賦予變量

fs=12000;                            %采樣率

dt=1/fs;                                %采樣間隔時間1/fs

n=length(x);                        %得到序列的長度

t=[0:n-1]*dt;

y=fft(x);                            %對信號進行快速FFT變換

figure(1)

subplot(2,2,1),

plot(t,x);

%繪制原始信號序列

xlabel('時間/s'),

title('時間域')

grid on

%subplot(2,2,2),

%plot([0:n-1]/(n*dt),abs(y)*2/n)

%繪制信號的振幅譜

%xlabel('頻率/HZ'),title('幅頻圖')

%ylabel('振幅')

%grid on

%小波去噪1

%將信號用小波函數(shù)SYM5分解到第5層,用minimaxi閾值選擇對系數(shù)進行處理,消除噪聲

lev=5;

xd=wden(x,'minimaxi','s','mln',lev,'sym5');

subplot(2,2,2),

plot(t,xd)

xlabel('時間/s'),

title('消噪后的信號')

grid on


程序運行結果如下:


圖片


圖2 
去噪前


圖片


圖3 去噪后

分享到:
 
反對 0 舉報 0 收藏 0 評論 0
滬ICP備11026917號-25