信號降噪是信號處理的重要步驟之一,目的是提高所獲得信號數據的質量,以達到更高的定性和定量分析精度。信號降噪能提升信號處理其他環節的性能和人們對信息識別的準確率,給信號處理工作提供更可靠的保證。信號降噪的難點是降低噪聲的同時也會破壞原始信號中一些有效的細節信息,如峰或邊緣。在分析信號中,譜峰包含著重要的物理或化學性質。為了降低信號中的噪聲,通常需要對信號進行平滑處理,尤其對于導數譜分析方法,信號平滑是必不可少的環節,一旦譜峰被平滑掉,在后續分析過程中很難再恢復,從而影響分析結果。
時間域降噪直接對信號本身進行處理,包括滑動均值法、Savitzky-Golay 方法、正則化方法、中值濾波以及基于偏微分方程的方法等。滑動均值法是用滑動窗口內所有點的平均值替換中心點來實現平滑。Savitzky-Golay 方法是滑動均值法的推廣,它通過一個低階多項式來擬合整個窗口內的數據。作為 Savitzky-Golay 方法的改進,一種基于懲罰最小二乘的正則化方法被提出。中值濾波是一種非線性濾波方法,它是將鄰域內所有點按強度排序,然后用中間值代替鄰域中心點來實現濾波。鄰域窗口的大小和形狀對降噪效果有著很大的影響。基于偏微分方程的方法是將降噪過程看作物理學中的熱擴散,通過求解熱擴散方程得到最終的降噪結果。
變換域降噪方法是將信號從時間域變換到頻域,然后處理變換后的系數,最終通過逆變換獲得降噪后的信號。長期以來,傅里葉變換是變換域降噪的主要手段,對于平穩信號有著不錯的效果,但在實際應用中,大多數信號都是非平穩的,這給傅里葉變換降噪帶來了困難。隨著小波理論的不斷發展,小波方法逐漸被應用于信號降噪領域。Mallat 提出了信號奇異性檢測的理論,并利用小波變換模極大值的方法進行信號降噪;Donoho提出了基于非線性小波變換閾值的信號降噪方法。但是,該方法會在信號不連續處產生偽吉布斯現象,于是在閾值法的基礎上,一種改進的平移不變量小波降噪方法被提出。此外,多小波與小波包理論的研究也為變換域降噪帶來了新的方法。
鑒于此,采用基于布雷格曼偏差校正技術的全變分一維時間序列信號降噪方法,運行環境為MATLAB R2018A。
function [u, iter] = denoise_1D(g, mu, delta)
l.
%
% Input: g - noisy 1D signal
% mu - regularization parameter
% delta - noise level. needed for disc. principle stop crit
% If noise level is not set, use a variance estimate
% Output: u - solution of the ROF model%% check inputs, potentially assign discrepancy principle threshold
fprintf('Bregman iterative denoising started\n');assert(size(g,1) == 1 || size(g,2) == 1, 'input signal must be 1D')
g = reshape(g,[],1);
N = size(g,1);% if no noise level is set, use variance estimate
if nargin == 2delta = sqrt((N-1)*var(g)); fprintf('no noise level provided, estimating discrepancy principle threshold to sqrt((N-1)*variance).\n');fprintf('Iterate until ||u-f||_2 < %.4f.\n',delta);
elsefprintf('Iterate until ||u-f||_2 < %.4f.\n',delta);
end%% iteration
u = zeros(N,1);
v = u;
k = 0;
fprintf('%5s\t|\t%12s\t|\t%12s\n','k','||u-f||_2','||v||_2');
fprintf([repmat('_',1,45),'\n'])
while norm(u - g) > deltak = k + 1;u = ROF_1D(g + v,mu); % modified ROFv = v + g - u; % update noisefprintf('%5d\t|\t%12.4g\t|\t%12.4g\n',k,norm(u-g),norm(v));
end
end完整代碼:https://mbd.pub/o/bread/ZpWXlpdq
擅長領域:現代信號處理,機器學習,深度學習,數字孿生,時間序列分析,設備缺陷檢測、設備異常檢測、設備智能故障診斷與健康管理PHM等。
擅長領域:現代信號處理,機器學習,深度學習,數字孿生,時間序列分析,設備缺陷檢測、設備異常檢測、設備智能故障診斷與健康管理PHM等。