一、濾波的概念
濾波是指通過某種方法將信號(hào)中的某些頻率成分增強(qiáng)或抑制,達(dá)到去除噪聲、改善信號(hào)質(zhì)量、分離信號(hào)等目的的過程。濾波器是實(shí)現(xiàn)濾波功能的關(guān)鍵組件,它可以改變信號(hào)的頻譜特性,對不同頻率區(qū)域的信號(hào)進(jìn)行處理。
二、常見的濾波算法
1.小波變換濾波
原理:小波變換通過將信號(hào)分解成不同尺度的子信號(hào),可以提取出信號(hào)中的局部特征。在濾波中,小波變換可以用來去除信號(hào)中的噪聲或者對信號(hào)進(jìn)行平滑處理。
下面是該算法的波形圖:
使用場景:
(1)圖像去噪:小波變換可以有效地去除圖像中的噪聲,尤其是在多尺度分解中,可以針對不同頻率的噪聲進(jìn)行過濾。
(2)特征提取:小波變換能夠揭示圖像或信號(hào)中的局部特征,因此在特征提取方面非常有用,比如在圖像識(shí)別和分類中。
(3)邊緣檢測:小波變換在邊緣檢測方面表現(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)一定步長,重復(fù)上述步驟。
我們有一個(gè)離散時(shí)間信號(hào) x[n],并且我們使用長度為 M 的窗口進(jìn)行移動(dòng)平均濾波,那么濾波后的信號(hào) y[n] 可以通過以下公式計(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)平均濾波來平滑信號(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
以此類推,我們可以繼續(xù)計(jì)算后續(xù)輸出樣本。
下面是使用這個(gè)算法生成的一個(gè)波形圖
使用場景:
(1)在金融領(lǐng)域等需要對數(shù)據(jù)進(jìn)行趨勢分析的場景中,移動(dòng)平均濾波可以平滑價(jià)格波動(dòng),幫助分析數(shù)據(jù)的長期趨勢,預(yù)測未來走勢。
(2)在實(shí)時(shí)數(shù)據(jù)處理或傳感器數(shù)據(jù)處理中,移動(dòng)平均濾波可以利用先前時(shí)刻的數(shù)據(jù)進(jìn)行濾波處理,對新的數(shù)據(jù)進(jìn)行平均,有助于消除數(shù)據(jù)中的噪聲或異常值。
(3)移動(dòng)平均濾波對周期性噪聲和高頻噪聲的濾波效果比較好,可以很好地降低信號(hào)或數(shù)據(jù)中的高頻成分,同時(shí)保留信號(hào)的基本特征。
3.中值濾波
原理:中值濾波會(huì)選取數(shù)字圖像或數(shù)字序列中像素點(diǎn)及其周圍臨近像素點(diǎn)(一共有奇數(shù)個(gè)像素點(diǎn))的像素值,將這些像素值排序,然后將位于中間位置的像素值作為當(dāng)前像素點(diǎn)的像素值,讓周圍的像素值接近真實(shí)值,從而消除孤立的噪聲點(diǎn)。例如,針對下圖中第4行第3列的像素點(diǎn),計(jì)算它的中值濾波值。
將其鄰域設(shè)置為3×3大小,對其3×3鄰域內(nèi)像素點(diǎn)的像素值進(jìn)行排序(升序降序均可),按升序排序后得到序列值為:[16,35,46,52,52,62,64,83,85],在該序列中,處于中心位置(也叫中心點(diǎn)或中值點(diǎn))的值是“52”,因此用該值替換原來的像素值 64,作為當(dāng)前點(diǎn)的新像素值,新的像素圖如下所示。
下面是使用這個(gè)算法對隨機(jī)噪聲濾波后生成的一個(gè)波形圖:
使用場景:
(1)孤立噪聲點(diǎn)平滑:中值濾波能有效去除圖像或信號(hào)中的孤立噪聲點(diǎn),而不會(huì)對整體圖像或信號(hào)的平滑區(qū)域造成影響。
(2)椒鹽噪聲去除:中值濾波對椒鹽噪聲(salt-and-pepper noise)具有很好的濾除效果,這種噪聲表現(xiàn)為圖像中隨機(jī)分布的白色和黑色像素點(diǎn)。
(3)實(shí)時(shí)視頻處理:由于中值濾波算法的計(jì)算復(fù)雜度相對較低,它可以用于實(shí)時(shí)視頻流的噪聲去除。
4.算術(shù)平均濾波
原理:算術(shù)平均濾波是圖像處理中的一個(gè)常用技術(shù),主要用于降低圖像中的隨機(jī)噪聲。算術(shù)平均濾波器的基本思想是用像素點(diǎn)鄰域內(nè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)的灰度值,ΣΣ表示對領(lǐng)域內(nèi)所有像素點(diǎn)求和,m和n是濾波窗口的大小。
下面是使用這個(gè)算法對隨機(jī)噪聲濾波后生成的一個(gè)波形圖:
算術(shù)平均濾波適用于一些簡單的圖像或信號(hào)處理場景,例如去除較為均勻且較弱的噪聲。
5.卡爾曼濾波
原理:
(1)預(yù)測步驟(預(yù)測狀態(tài)):通過系統(tǒng)的動(dòng)態(tài)模型,根據(jù)已知的系統(tǒng)狀態(tài)和控制量,預(yù)測系統(tǒng)的下一個(gè)狀態(tài)以及狀態(tài)的協(xié)方差。這一步驟得到的是對系統(tǒng)未來狀態(tài)的預(yù)測。
(2)測量更新步驟(更新狀態(tài)):利用傳感器測量數(shù)據(jù),根據(jù)預(yù)測的狀態(tài)和測量數(shù)據(jù)的協(xié)方差,通過卡爾曼增益計(jì)算得到關(guān)于系統(tǒng)狀態(tài)的修正估計(jì)。卡爾曼增益會(huì)根據(jù)預(yù)測和測量的不確定性來調(diào)整估計(jì)值,以平衡兩者之間的權(quán)重。
下面是使用這個(gè)算法對隨機(jī)噪聲濾波后生成的一個(gè)波形圖:
使用場景:卡爾曼濾波廣泛應(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)模型不確定性、傳感器誤差等問題,提高狀態(tài)估計(jì)的精度和魯棒性。
6.均值濾波
原理:連續(xù)采樣N個(gè)數(shù)據(jù),去掉一個(gè)最大值和一個(gè)最小值然后計(jì)算N-2個(gè)數(shù)據(jù)的算術(shù)平均值N值的選取
下面是使用這個(gè)算法對隨機(jī)噪聲濾波后生成的一個(gè)波形圖:
使用場景:
(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)測:在環(huán)境監(jiān)測中,均值濾波可以用于處理大氣、水質(zhì)等監(jiān)測數(shù)據(jù),去除測量誤差和隨機(jī)波動(dòng)。
(4)數(shù)字圖像處理:在數(shù)字圖像處理中,中值平均濾波法常用于去除圖像中的噪聲,例如在數(shù)字?jǐn)z影中去除低光照條件下的圖像噪聲。
7.快速傅里葉變換(FFT)濾波
原理:FFT濾波將時(shí)域信號(hào)通過FFT算法轉(zhuǎn)換到頻域,得到信號(hào)在頻域上的頻譜信息。在頻域上對信號(hào)進(jìn)行濾波處理,可以采用各種濾波器,如低通濾波器、高通濾波器、帶通濾波器等,以抑制或增強(qiáng)特定頻率成分。對經(jīng)過濾波處理的頻域信號(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生成對應(yīng)的頻率向量。接下來,設(shè)計(jì)了一個(gè)簡單的低通濾波器,只允許截止頻率以下的頻率成分通過。應(yīng)用濾波器后,使用numpy.fft.ifft計(jì)算逆FFT,得到濾波后的信號(hào)。
下面是濾波的效果圖:
使用場景:
(1)頻域?yàn)V波:FFT允許將時(shí)域信號(hào)轉(zhuǎn)換到頻域,然后可以輕松地應(yīng)用各種濾波器,如低通、高通、帶通和帶阻濾波器。
(2)信號(hào)分析:FFT常用于分析信號(hào)的頻率成分,識(shí)別信號(hào)中的周期性成分或檢測特定頻率的信號(hào)。
(3)圖像處理:在圖像處理中,F(xiàn)FT可以用于頻域?yàn)V波,如銳化、模糊、邊緣檢測等。
-
信號(hào)
+關(guān)注
關(guān)注
11文章
2842瀏覽量
77887 -
濾波算法
+關(guān)注
關(guān)注
2文章
89瀏覽量
13901 -
CW32
+關(guān)注
關(guān)注
1文章
242瀏覽量
1093
原文標(biāo)題:基于CW32的儀表精度測量實(shí)現(xiàn)(一):相關(guān)濾波原理
文章出處:【微信號(hào):武漢芯源半導(dǎo)體,微信公眾號(hào):武漢芯源半導(dǎo)體】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評(píng)論請先 登錄
常見的濾波算法(C語言)
濾波算法有哪些十大濾波算法的資料介紹

什么是濾波 常見的軟件濾波辦法
市面上常見的濾波器有哪些?
常用的ADC濾波算法有哪些
藍(lán)牙信標(biāo)RSSI濾波算法

評(píng)論