在實際的工程應用中,所分析的信號可能包含許多尖峰或突變部分,並且噪聲也不是平穩的白噪聲。
對這種信號的降噪處理,用傳統的傅立葉變換分析,顯得無能為力,因為它不能給出信號在某個時間點上的變化情況。
通常情況下有用信號表現為低頻部分或是一些比較平穩的信號,而噪聲信號則表現為高頻的信號。
處理 小波系數!
三個基本的步驟:
(1)對含噪聲信號進行小波變換;
(2)對變換得到的小波系數進行某種處理,以去除其中包含的噪聲;
(3)對處理后的小波系數進行小波逆變換,得到去噪后的信號。
小波去噪方法的不同之處集中在第一步。
信號映射到小波域,根據噪聲和噪聲的小波系數在不同尺度上具有不同的性質和機理,對含噪信號的小波系數進行處理。
減少剔除噪聲產生的小波系數,最大限度的保留真實信號的系數。
小波去噪實現步驟
(1)二維信號的小波分解。選擇一個小波和小波分解的層次N,然后計算信號s到第N層的分解。
(2)對高頻系數進行閾值量化。對於從1~N的每一層,選擇一個閾值,並對這一層的高頻系數進行軟閾值量化處理。
(3)二維小波重構。根據小波分解的第N層的低頻系數和經過修改的從第一層到第N的各層高頻系數,計算二維信號的小波重構。
圖像去噪:小波變換法_席光榮_新浪博客 http://blog.sina.com.cn/s/blog_165027efc0102xazm.html
小波去噪Matlab程序如下:
clc clear all %讀取圖像 X=imread('lena.jpg'); X_gray=rgb2gray(X); subplot(221); image(X_gray); imshow(X_gray); title('原始圖像'); %生成含有噪聲的圖像並顯示 init=2055615866; randn('seed',init); X_gray=double(X_gray); %添加隨機噪聲 X_noise=X_gray+8*randn(size(X_gray)); subplot(222); imshow(uint8(X_noise)); title('含噪圖像'); %用小波函數coif2對圖像進行兩層分解 [c l]=wavedec2(X_noise,2,'coif2'); n=[1,2]; % 設置閾值向量,對高頻小波系數進行閾值處理 p=[10.28,24.08]; nc=wthcoef2('h',c,l,n,p,'s'); % 圖像的二維小波重構 X1=waverec2(nc,l,'coif2'); subplot(223); imshow(uint8(X1)); title('第一次消噪聲后的圖像'); mc=wthcoef2('v',nc,l,n,p,'s'); % 圖像的二維小波重構 X2=waverec2(mc,l,'coif2'); subplot(224); imshow(uint8(X2)); title('第二次消噪聲后的圖像');
小波圖像去噪及matlab實例 - CSDN博客 https://blog.csdn.net/mingtian715/article/details/60873875
小波去噪DWT - CSDN博客 https://blog.csdn.net/study_000/article/details/71077254