做游戲還是做網(wǎng)站好外貿(mào)網(wǎng)站推廣公司
信號(hào)降噪是信號(hào)處理的重要步驟之一,目的是提高所獲得信號(hào)數(shù)據(jù)的質(zhì)量,以達(dá)到更高的定性和定量分析精度。信號(hào)降噪能提升信號(hào)處理其他環(huán)節(jié)的性能和人們對(duì)信息識(shí)別的準(zhǔn)確率,給信號(hào)處理工作提供更可靠的保證。信號(hào)降噪的難點(diǎn)是降低噪聲的同時(shí)也會(huì)破壞原始信號(hào)中一些有效的細(xì)節(jié)信息,如峰或邊緣。在分析信號(hào)中,譜峰包含著重要的物理或化學(xué)性質(zhì)。為了降低信號(hào)中的噪聲,通常需要對(duì)信號(hào)進(jìn)行平滑處理,尤其對(duì)于導(dǎo)數(shù)譜分析方法,信號(hào)平滑是必不可少的環(huán)節(jié),一旦譜峰被平滑掉,在后續(xù)分析過程中很難再恢復(fù),從而影響分析結(jié)果。
時(shí)間域降噪直接對(duì)信號(hào)本身進(jìn)行處理,包括滑動(dòng)均值法、Savitzky-Golay 方法、正則化方法、中值濾波以及基于偏微分方程的方法等?;瑒?dòng)均值法是用滑動(dòng)窗口內(nèi)所有點(diǎn)的平均值替換中心點(diǎn)來實(shí)現(xiàn)平滑。Savitzky-Golay 方法是滑動(dòng)均值法的推廣,它通過一個(gè)低階多項(xiàng)式來擬合整個(gè)窗口內(nèi)的數(shù)據(jù)。作為 Savitzky-Golay 方法的改進(jìn),一種基于懲罰最小二乘的正則化方法被提出。中值濾波是一種非線性濾波方法,它是將鄰域內(nèi)所有點(diǎn)按強(qiáng)度排序,然后用中間值代替鄰域中心點(diǎn)來實(shí)現(xiàn)濾波。鄰域窗口的大小和形狀對(duì)降噪效果有著很大的影響。基于偏微分方程的方法是將降噪過程看作物理學(xué)中的熱擴(kuò)散,通過求解熱擴(kuò)散方程得到最終的降噪結(jié)果。
變換域降噪方法是將信號(hào)從時(shí)間域變換到頻域,然后處理變換后的系數(shù),最終通過逆變換獲得降噪后的信號(hào)。長期以來,傅里葉變換是變換域降噪的主要手段,對(duì)于平穩(wěn)信號(hào)有著不錯(cuò)的效果,但在實(shí)際應(yīng)用中,大多數(shù)信號(hào)都是非平穩(wěn)的,這給傅里葉變換降噪帶來了困難。隨著小波理論的不斷發(fā)展,小波方法逐漸被應(yīng)用于信號(hào)降噪領(lǐng)域。Mallat 提出了信號(hào)奇異性檢測的理論,并利用小波變換模極大值的方法進(jìn)行信號(hào)降噪;Donoho提出了基于非線性小波變換閾值的信號(hào)降噪方法。但是,該方法會(huì)在信號(hào)不連續(xù)處產(chǎn)生偽吉布斯現(xiàn)象,于是在閾值法的基礎(chǔ)上,一種改進(jìn)的平移不變量小波降噪方法被提出。此外,多小波與小波包理論的研究也為變換域降噪帶來了新的方法。
鑒于此,采用基于布雷格曼偏差校正技術(shù)的全變分一維時(shí)間序列信號(hào)降噪方法,運(yùn)行環(huán)境為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
擅長領(lǐng)域:現(xiàn)代信號(hào)處理,機(jī)器學(xué)習(xí),深度學(xué)習(xí),數(shù)字孿生,時(shí)間序列分析,設(shè)備缺陷檢測、設(shè)備異常檢測、設(shè)備智能故障診斷與健康管理PHM等。
擅長領(lǐng)域:現(xiàn)代信號(hào)處理,機(jī)器學(xué)習(xí),深度學(xué)習(xí),數(shù)字孿生,時(shí)間序列分析,設(shè)備缺陷檢測、設(shè)備異常檢測、設(shè)備智能故障診斷與健康管理PHM等。