一、濾波的概念
濾波是指通過(guò)某種方法將信號(hào)中的某些頻率成分增強(qiáng)或抑制,達(dá)到去除噪聲、改善信號(hào)質(zhì)量、分離信號(hào)等目的的過(guò)程。濾波器是實(shí)現(xiàn)濾波功能的關(guān)鍵組件,它可以改變信號(hào)的頻譜特性,對(duì)不同頻率區(qū)域的信號(hào)進(jìn)行處理。
二、常見(jiàn)的濾波算法
1.小波變換濾波
原理:小波變換通過(guò)將信號(hào)分解成不同尺度的子信號(hào),可以提取出信號(hào)中的局部特征。在濾波中,小波變換可以用來(lái)去除信號(hào)中的噪聲或者對(duì)信號(hào)進(jìn)行平滑處理。
下面是該算法的波形圖:
使用場(chǎng)景:
(1)圖像去噪:小波變換可以有效地去除圖像中的噪聲,尤其是在多尺度分解中,可以針對(duì)不同頻率的噪聲進(jìn)行過(guò)濾。
(2)特征提?。盒〔ㄗ儞Q能夠揭示圖像或信號(hào)中的局部特征,因此在特征提取方面非常有用,比如在圖像識(shí)別和分類(lèi)中。
(3)邊緣檢測(cè):小波變換在邊緣檢測(cè)方面表現(xiàn)出色,因?yàn)樗軌虿蹲降綀D像中的尖銳變化。
(4)信號(hào)去噪:在信號(hào)處理中,小波變換可以用于去除信號(hào)中的噪聲,尤其是在非平穩(wěn)信號(hào)中。
2.移動(dòng)平均濾波
原理:首先確定一個(gè)包含一定數(shù)量樣本點(diǎn)的窗口,這個(gè)窗口在信號(hào)上滑動(dòng)。在每一個(gè)位置,計(jì)算窗口內(nèi)所有樣本點(diǎn)的平均值。將計(jì)算得到的平均值作為濾波后的輸出。將窗口沿信號(hào)滑動(dòng)一定步長(zhǎng),重復(fù)上述步驟。
我們有一個(gè)離散時(shí)間信號(hào) x[n],并且我們使用長(zhǎng)度為 M 的窗口進(jìn)行移動(dòng)平均濾波,那么濾波后的信號(hào) y[n] 可以通過(guò)以下公式計(jì)算:則計(jì)算公式為:
y[n]=1/M∑k=n?M+1nx[k]
例如:一個(gè)包含噪聲的信號(hào)序列x=[1,4,3,6,6,5,10,9,7,12].
我們可以使用移動(dòng)平均濾波來(lái)平滑信號(hào)并減小噪聲的影響。假設(shè)我們選擇一個(gè)窗口大小為3,即每次計(jì)算三個(gè)樣本的平均值。
第一個(gè)輸出樣本為:y[0]=(1/3)?(1+4+3)=2.666
第二個(gè)輸出樣本為:y[1]=(1/3)?(4+3+6)=4.33
以此類(lèi)推,我們可以繼續(xù)計(jì)算后續(xù)輸出樣本。
下面是使用這個(gè)算法生成的一個(gè)波形圖
使用場(chǎng)景:
(1)在金融領(lǐng)域等需要對(duì)數(shù)據(jù)進(jìn)行趨勢(shì)分析的場(chǎng)景中,移動(dòng)平均濾波可以平滑價(jià)格波動(dòng),幫助分析數(shù)據(jù)的長(zhǎng)期趨勢(shì),預(yù)測(cè)未來(lái)走勢(shì)。
(2)在實(shí)時(shí)數(shù)據(jù)處理或傳感器數(shù)據(jù)處理中,移動(dòng)平均濾波可以利用先前時(shí)刻的數(shù)據(jù)進(jìn)行濾波處理,對(duì)新的數(shù)據(jù)進(jìn)行平均,有助于消除數(shù)據(jù)中的噪聲或異常值。
(3)移動(dòng)平均濾波對(duì)周期性噪聲和高頻噪聲的濾波效果比較好,可以很好地降低信號(hào)或數(shù)據(jù)中的高頻成分,同時(shí)保留信號(hào)的基本特征。
3.中值濾波
原理:中值濾波會(huì)選取數(shù)字圖像或數(shù)字序列中像素點(diǎn)及其周?chē)R近像素點(diǎn)(一共有奇數(shù)個(gè)像素點(diǎn))的像素值,將這些像素值排序,然后將位于中間位置的像素值作為當(dāng)前像素點(diǎn)的像素值,讓周?chē)南袼刂到咏鎸?shí)值,從而消除孤立的噪聲點(diǎn)。例如,針對(duì)下圖中第4行第3列的像素點(diǎn),計(jì)算它的中值濾波值。
將其鄰域設(shè)置為3×3大小,對(duì)其3×3鄰域內(nèi)像素點(diǎn)的像素值進(jìn)行排序(升序降序均可),按升序排序后得到序列值為:[16,35,46,52,52,62,64,83,85],在該序列中,處于中心位置(也叫中心點(diǎn)或中值點(diǎn))的值是“52”,因此用該值替換原來(lái)的像素值 64,作為當(dāng)前點(diǎn)的新像素值,新的像素圖如下所示。
下面是使用這個(gè)算法對(duì)隨機(jī)噪聲濾波后生成的一個(gè)波形圖:
使用場(chǎng)景:
(1)孤立噪聲點(diǎn)平滑:中值濾波能有效去除圖像或信號(hào)中的孤立噪聲點(diǎn),而不會(huì)對(duì)整體圖像或信號(hào)的平滑區(qū)域造成影響。
(2)椒鹽噪聲去除:中值濾波對(duì)椒鹽噪聲(salt-and-pepper noise)具有很好的濾除效果,這種噪聲表現(xiàn)為圖像中隨機(jī)分布的白色和黑色像素點(diǎn)。
(3)實(shí)時(shí)視頻處理:由于中值濾波算法的計(jì)算復(fù)雜度相對(duì)較低,它可以用于實(shí)時(shí)視頻流的噪聲去除。
4.算術(shù)平均濾波
原理:算術(shù)平均濾波是圖像處理中的一個(gè)常用技術(shù),主要用于降低圖像中的隨機(jī)噪聲。算術(shù)平均濾波器的基本思想是用像素點(diǎn)鄰域內(nèi)的平均灰度值來(lái)代替該像素點(diǎn)的灰度值。
算術(shù)平均濾波的計(jì)算公式如下:
f'(x, y) = 1/(mn) * ΣΣf(x+k, y+l)
其中,f'(x, y)是濾波后像素點(diǎn)(x, y)的灰度值,f(x+k, y+l)是原像素點(diǎn)(x, y)領(lǐng)域內(nèi)的灰度值,ΣΣ表示對(duì)領(lǐng)域內(nèi)所有像素點(diǎn)求和,m和n是濾波窗口的大小。
下面是使用這個(gè)算法對(duì)隨機(jī)噪聲濾波后生成的一個(gè)波形圖:
算術(shù)平均濾波適用于一些簡(jiǎn)單的圖像或信號(hào)處理場(chǎng)景,例如去除較為均勻且較弱的噪聲。
5.卡爾曼濾波
原理:
(1)預(yù)測(cè)步驟(預(yù)測(cè)狀態(tài)):通過(guò)系統(tǒng)的動(dòng)態(tài)模型,根據(jù)已知的系統(tǒng)狀態(tài)和控制量,預(yù)測(cè)系統(tǒng)的下一個(gè)狀態(tài)以及狀態(tài)的協(xié)方差。這一步驟得到的是對(duì)系統(tǒng)未來(lái)狀態(tài)的預(yù)測(cè)。
(2)測(cè)量更新步驟(更新?tīng)顟B(tài)):利用傳感器測(cè)量數(shù)據(jù),根據(jù)預(yù)測(cè)的狀態(tài)和測(cè)量數(shù)據(jù)的協(xié)方差,通過(guò)卡爾曼增益計(jì)算得到關(guān)于系統(tǒng)狀態(tài)的修正估計(jì)??柭鲆鏁?huì)根據(jù)預(yù)測(cè)和測(cè)量的不確定性來(lái)調(diào)整估計(jì)值,以平衡兩者之間的權(quán)重。
下面是使用這個(gè)算法對(duì)隨機(jī)噪聲濾波后生成的一個(gè)波形圖:
使用場(chǎng)景:卡爾曼濾波廣泛應(yīng)用于估計(jì)動(dòng)態(tài)系統(tǒng)的狀態(tài),例如航天器導(dǎo)航、飛行器控制、傳感器數(shù)據(jù)融合等領(lǐng)域。它具有高效、準(zhǔn)確、穩(wěn)定等優(yōu)點(diǎn),能夠處理系統(tǒng)模型不確定性、傳感器誤差等問(wèn)題,提高狀態(tài)估計(jì)的精度和魯棒性。
6.均值濾波
原理:連續(xù)采樣N個(gè)數(shù)據(jù),去掉一個(gè)最大值和一個(gè)最小值然后計(jì)算N-2個(gè)數(shù)據(jù)的算術(shù)平均值N值的選取
下面是使用這個(gè)算法對(duì)隨機(jī)噪聲濾波后生成的一個(gè)波形圖:
使用場(chǎng)景:
(1)工業(yè)自動(dòng)化:在工業(yè)自動(dòng)化和控制系統(tǒng)中,均值濾波用于從傳感器數(shù)據(jù)中去除噪聲,提高系統(tǒng)的穩(wěn)定性和可靠性。
(2)信號(hào)平滑:當(dāng)信號(hào)受到高頻干擾或隨機(jī)噪聲時(shí),中值平均濾波法可以將突然的干擾降低,使信號(hào)變得更加平滑。
(3)環(huán)境監(jiān)測(cè):在環(huán)境監(jiān)測(cè)中,均值濾波可以用于處理大氣、水質(zhì)等監(jiān)測(cè)數(shù)據(jù),去除測(cè)量誤差和隨機(jī)波動(dòng)。
(4)數(shù)字圖像處理:在數(shù)字圖像處理中,中值平均濾波法常用于去除圖像中的噪聲,例如在數(shù)字?jǐn)z影中去除低光照條件下的圖像噪聲。
7.快速傅里葉變換(FFT)濾波
原理:FFT濾波將時(shí)域信號(hào)通過(guò)FFT算法轉(zhuǎn)換到頻域,得到信號(hào)在頻域上的頻譜信息。在頻域上對(duì)信號(hào)進(jìn)行濾波處理,可以采用各種濾波器,如低通濾波器、高通濾波器、帶通濾波器等,以抑制或增強(qiáng)特定頻率成分。對(duì)經(jīng)過(guò)濾波處理的頻域信號(hào)進(jìn)行逆FFT,將信號(hào)恢復(fù)回時(shí)域。
我使用python生成了一個(gè)頻率為50 Hz的正弦波信號(hào),并添加了高斯噪聲。然后,使用numpy.fft.fft函數(shù)計(jì)算信號(hào)的FFT,并使用numpy.fft.fftfreq生成對(duì)應(yīng)的頻率向量。接下來(lái),設(shè)計(jì)了一個(gè)簡(jiǎn)單的低通濾波器,只允許截止頻率以下的頻率成分通過(guò)。應(yīng)用濾波器后,使用numpy.fft.ifft計(jì)算逆FFT,得到濾波后的信號(hào)。
下面是濾波的效果圖:
使用場(chǎng)景:
(1)頻域?yàn)V波:FFT允許將時(shí)域信號(hào)轉(zhuǎn)換到頻域,然后可以輕松地應(yīng)用各種濾波器,如低通、高通、帶通和帶阻濾波器。
(2)信號(hào)分析:FFT常用于分析信號(hào)的頻率成分,識(shí)別信號(hào)中的周期性成分或檢測(cè)特定頻率的信號(hào)。
(3)圖像處理:在圖像處理中,F(xiàn)FT可以用于頻域?yàn)V波,如銳化、模糊、邊緣檢測(cè)等。
審核編輯 黃宇
-
濾波
+關(guān)注
關(guān)注
10文章
662瀏覽量
56569 -
精度測(cè)量
+關(guān)注
關(guān)注
0文章
8瀏覽量
8257 -
CW32
+關(guān)注
關(guān)注
1文章
174瀏覽量
550
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論