數學濾波
1. 數字濾波的基本概念
廣義而言,濾波可以看作為對某一信號的改造作用。改造之前的信號稱為濾波輸入,改造之後的信號稱為濾波輸出。輸入、輸出、濾波器就構成了濾波三要素(圖5-2-1)。反射波地震資料數字處理中需改造的信號是含有干擾的地震信號,輸出是不含干擾或干擾減少的地震信號。改造信號的濾波既可以用物理過程實現,也可以用數學運算實現。前者是所謂的電濾波器,後者即為數字濾波。
圖5-2-1 濾波三要素
早期地震資料處理均使用電濾波器,即由電感、電容、電阻等電器元件所組成的濾波線路對地震電信號進行濾波。改變電器元件和濾波線路可以改變濾波器的特性,達到所要求的濾波目的。改變電濾波器的特性比較麻煩,其靈活性差且成本較高。數字濾波是在計算機中對采樣後的地震信號進行數學運算來實現濾波的。顯然,與電濾波器相比,它具有靈活、方便、改變濾波特性十分容易且成本低的特點。因此,數字濾波得到了廣泛使用。數字濾波的種類很多,下面主要以使用最多的一維頻率濾波為例加以介紹。在介紹一維頻率濾波之前,還需要簡單地了解地震記錄的時間域表示和頻率域表示問題。
2. 什麼叫數字濾波數字濾波與模擬濾波相比有什麼突出優點
你好!
帶寬可以做的很窄很窄啊。。。而且數字濾波器可以編程啊,就是用程序計算。。
打字不易,採納哦!
3. 什麼是數字濾波
數字濾波(digital filtering):
用電子計算機整理地震勘探資料時,通過褶積的數學處理過程,在時間域內實現對地震信號的濾波作用,稱為數字濾波。數字濾波器的作用就是使地震記錄與濾波運算元相褶積,濾波運算元就是脈沖響應,而脈沖響應是單位脈沖通過濾波器的結果。因此,地震信號通過數字濾波器,其輸出信號就是在某特定時間內所有不同延遲時間上脈沖響應信號之和。所以,數字濾波也是延遲濾波的數字化。數字濾波器具有比較理想的頻率特性和相位特性,失真度低,分辨能力好。適當改變參數就可靈活地設計出所需要的頻率特性。
數字濾波(digitalfilter)是由數字乘法器、加法器和延時單元組成的一種計算方法。其功能是對輸入離散信號的數字代碼進行運算處理,以達到改變信號頻譜的目的。由於電子計算機技術和大規模集成電路的發展,數字濾波已可用計算機軟體實現,也可用大規模集成數字硬體實時實現。數字濾波是一個離散時間系統(按預定的演算法,將輸入離散時間信號轉換為所要求的輸出離散時間信號的特定功能裝置)。應用數字濾波處理模擬信號時,首先須對輸入模擬信號進行限帶、抽樣和模數轉換。數字濾波輸入信號的抽樣率應大於被處理信號帶寬的兩倍,其頻率響應具有以抽樣頻率為間隔的周期重復特性,且以折疊頻率即1/2抽樣頻率點呈鏡像對稱。為得到模擬信號,數字濾波處理的輸出數字信號須經數模轉換、平滑。
數字濾波具有高精度、高可靠性、可程式控制改變特性或復用、便於集成等優點。數字濾波在語言信號處理、圖像信號處理、醫學生物信號處理以及其他應用領域都得到了廣泛應用。數字濾波有低通、高通、帶通、帶阻和全通等類型。它可以是時不變的或時變的、因果的或非因果的、線性的或非線性的。應用最廣的是線性、時不變數字濾波器.
4. 什麼叫數字濾波數字濾波的優勢
濾波是將信號中特定波段頻率濾除的操作。數字信號處理通常採用FFT/IFFT實現,那麼其中需要濾除的頻率,可以採用「濾波函數」與被處理信號相乘而達到目的。
數字濾波。它是通過一種演算法排除可能的隨機干擾,提高檢測精度的一種手段,又稱軟體濾波。
數字濾波器具有比模擬濾波器更高的精度,甚至能夠實現後者在理論上也無法達到的性能。例如,對於數字濾波器來說很容易就能夠做到一個 1000Hz 的低通濾波器允許 999Hz 信號通過並且完全阻止 1001Hz 的信號,模擬濾波器無法區分如此接近的信號。
數字濾波器相比模擬濾波器有更高的信噪比。這主要是因為數字濾波器是以數字器件執行運算,從而避免了模擬電路中雜訊(如電阻熱雜訊)的影響。數字濾波器中主要的雜訊源是在數字系統之前的模擬電路引入的電路雜訊以及在數字系統輸入端的模數轉換過程中產生的量化雜訊。這些雜訊在數字系統的運算中可能會被放大,因此在設計數字濾波器時需要採用合適的結構,以降低輸入雜訊對系統性能的影響。
數字濾波器還具有模擬濾波器不能比擬的可靠性。組成模擬濾波器的電子元件的電路特性會隨著時間、溫度、電壓的變化而漂移,而數字電路就沒有這種問題。只要在數字電路的工作環境下,數字濾波器就能夠穩定可靠的工作。
由於奈奎斯特采樣定理(en:Nyquist sampling theorem),數字濾波器的處理能力受到系統采樣頻率的限制。如果輸入信號的頻率分量包含超過濾波器1/2采樣頻率的分量時,數字濾波器因為數字系統的「混疊」而不能正常工作。如果超出1/2采樣頻率的頻率分量不佔主要地位,通常的解決辦法是在模數轉換電路之前放置一個低通濾波器(即抗混疊濾波器)將超過的高頻成分濾除。否則就必須用模擬濾波器實現要求的功能。
5. 什麼是現代濾波什麼是數字濾波他們是一個概念嗎
現代濾波說實話,我從來沒看到過這種說法,無論在國內還是國外的經典教材中,估計是某人新提的一種(網路文庫裡面有一些所謂的現代濾波器的資料,不過仔細一看,裡面的這些濾波器模型,無一不是經典濾波器,而且都有幾十年的年頭了,說不上是新東西,只是掛上一個現代,其實表達的是現在所使用的濾波器)。
數字濾波是用數學(特別是統計學)的方法,對於採集的數據進行分析,利用數學原理濾除差異較大的數據,保持數據的靈敏度和穩定性。
後面的這兩種都是經典數字濾波法,說白了都是數學。
前者用的最廣,後者在機器人視覺裡面用得很多。
6. 濾波在數學上是如何實現的
在單片機進行數據採集時,會遇到數據的隨機誤差,隨機誤差是由隨機干擾引起的,其特點是在相同條件下測量同一量時,其大小和符號會現無規則的變化而無法預測,但多次測量的結果符合統計規律。為克服隨機干擾引起的誤差,硬體上可採用濾波技術,軟體上可採用軟體演算法實現數字濾波。濾波演算法往往是系統測控演算法的一個重要組成部分,實時性很強。
採用數字濾波演算法克服隨機干擾的誤差具有以下優點:
1、數字濾波無需其他的硬體成本,只用一個計算過程,可靠性高,不存在阻抗匹配問題。尤其是數字濾波可以對頻率很低的信號進行濾波,這是模擬濾波器做不到的。
2、數字濾波使用軟體演算法實現,多輸入通道可共用一個濾波程序,降低系統開支。
3、只要適當改變濾波器的濾波程序或運算,就能方便地改變其濾波特性,這對於濾除低頻干擾和隨機信號會有較大的效果。
4、在單片機系統中常用的濾波演算法有限幅濾波法、中值濾波法、算術平均濾波法、加權平均濾波法、滑動平均濾波等。
(1)限幅濾波演算法
該運算的過程中將兩次相鄰的采樣相減,求出其增量,然後將增量的絕對值,與兩次采樣允許的最大差值A進行比較。A的大小由被測對象的具體情況而定,如果小於或等於允許的最大差值,則本次采樣有效;否則取上次采樣值作為本次數據的樣本。
演算法的程序代碼如下:
#defineA //允許的最大差值
chardata; //上一次的數據
char filter()
{
chardatanew; //新數據變數
datanew=get_data(); //獲得新數據變數
if((datanew-data)>A||(data-datanew>A))
return data;
else
returndatanew;
}
說明:限幅濾波法主要用於處理變化較為緩慢的數據,如溫度、物體的位置等。使用時,關鍵要選取合適的門限制A。通常這可由經驗數據獲得,必要時可通過實驗得到。
(2)中值濾波演算法
該運算的過程是對某一參數連續采樣N次(N一般為奇數),然後把N次采樣的值按從小到大排列,再取中間值作為本次采樣值,整個過程實際上是一個序列排序的過程。
演算法的程序代碼如下:
#define N11 //定義獲得的數據個數
char filter()
{
charvalue_buff[N]; //定義存儲數據的數組
char count,i,j,temp;
for(count=0;count
{
value_buf[count]=get_data();
delay(); //如果採集數據比較慢,那麼就需要延時或中斷
}
for(j=0;j
{
for(value_buff[i]>value_buff[i+1]
{
temp=value_buff[i];
value_buff[i]=value_buff[i+1];
value_buff[i+1]=temp;
}
}
returnvalue_buff[(N-1)/2];
}
說明:中值濾波比較適用於去掉由偶然因素引起的波動和采樣器不穩定而引起的脈動干擾。若被測量值變化比較慢,採用中值濾波法效果會比較好,但如果數據變化比較快,則不宜採用此方法。
(3)算術平均濾波演算法
該演算法的基本原理很簡單,就是連續取N次采樣值後進行算術平均。
演算法的程序代碼如下:
char filter()
{
int sum=0;
for(count=0;count
{
sum+=get_data();
delay():
}
return (char)(sum/N);
}
說明:算術平均濾波演算法適用於對具有隨機干擾的信號進行濾波。這種信號的特點是有一個平均值,信號在某一數值附近上下波動。信號的平均平滑程度完全到決於N值。當N較大時,平滑度高,靈敏度低;當N較小時,平滑度低,但靈敏度高。為了方便求平均值,N一般取4、8、16、32之類的2的整數冪,以便在程序中用移位操作來代替除法。
(4)加權平均濾波演算法
由於前面所說的「算術平均濾波演算法」存在平滑度和靈敏度之間的矛盾。為了協調平滑度和靈敏度之間的關系,可採用加權平均濾波。它的原理是對連續N次采樣值分別乘上不同的加權系數之後再求累加,加權系數一般先小後大,以突出後面若干采樣的效果,加強系統對參數變化趨勢的認識。各個加權系數均小於1的小數,且滿足總和等於1的結束條件。這樣加權運算之後的累加和即為有效采樣值。其中加權平均數字濾波的數學模型是:
式中:D為N個采樣值的加權平均值:XN-i為第N-i次采樣值;N為采樣次數;Ci為加權系數。加權系數Ci體現了各種采樣值在平均值中所佔的比例。一般來說采樣次數越靠後,取的比例越大,這樣可增加新采樣在平均值中所佔的比重。加權平均值濾波法可突出一部分信號抵制另一部分信號,以提高采樣值變化的靈敏度。
樣常式序代碼如下:
char codejq[N]={1,2,3,4,5,6,7,8,9,10,11,12}; //code數組為加權系數表,存在程序存儲區
char codesum_jq=1+2+3+4+5+6+7+8+9+10+11+12;
char filter()
{
char count;
char value_buff[N];
int sum=0;
for(count=0;count
{
value_buff[count]=get_data();
delay();
}
for(count=0;count
sum+=value_buff[count]*jq[count];
return(char)(sum/sum_jq);
}
(5)滑動平均濾波演算法
以上介紹和各種平均濾波演算法有一個共同點,即每獲取一個有效采樣值必須連續進行若干次采樣,當采速度慢時,系統的實時得不到保證。這里介紹的滑動平均濾波演算法只採樣一次,將一次采樣值和過去的若干次采樣值一起求平均,得到的有效采樣值即可投入使用。如果取N個采樣值求平均,存儲區中必須開辟N個數據的暫存區。每新採集一個數據便存入暫存區中,同時去掉一個最老數據,保存這N個數據始終是最新更新的數據。採用環型隊列結構可以方便地實現這種數據存放方式。
程序代碼如下:
char value_buff[N];
char i=0;
char filter()
{
char count;
int sum=0;
value_buff[i++]=get_data();
if(i==N)
i=0;
for(count=0;count
sum=value_buff[count];
return (char)(sum/N);
}
(6)低通濾波
將普通硬體RC低通濾波器的微分方程用差分方程來表求,變可以採用軟體演算法來模擬硬體濾波的功能,經推導,低通濾波演算法如下:
Yn=a* Xn+(1-a) *Yn-1
式中 Xn——本次采樣值
Yn-1——上次的濾波輸出值;
,a——濾波系數,其值通常遠小於1;
Yn——本次濾波的輸出值。
由上式可以看出,本次濾波的輸出值主要取決於上次濾波的輸出值(注意不是上次的采樣值,這和加權平均濾波是有本質區別的),本次采樣值對濾波輸出的貢獻是比較小的,但多少有些修正作用,這種演算法便模擬了具體有教大慣性的低通濾波器功能。濾波演算法的截止頻率可用以下式計算:
fL=a/2Pit pi為圓周率3.14…
式中 a——濾波系數;
, t——采樣間隔時間;
例如:當t=0.5s(即每秒2次),a=1/32時;
fL=(1/32)/(2*3.14*0.5)=0.01Hz
當目標參數為變化很慢的物理量時,這是很有效的。另外一方面,它不能濾除高於1/2采樣頻率的干攪信號,本例中采樣頻率為2Hz,故對1Hz以上的干攪信號應採用其他方式濾除,
低通濾波演算法程序於加權平均濾波相似,但加權系數只有兩個:a和1-a。為計算方便,a取一整數,1-a用256-a,來代替,計算結果捨去最低位元組即可,因為只有兩項,a和1-a,均以立即數的形式編入程序中,不另外設表格。雖然采樣值為單元位元組(8位A/D)。為保證運算精度,濾波輸出值用雙位元組表示,其中一個位元組整數,一位元組小數,否則有可能因為每次捨去尾數而使輸出不會變化。
設Yn-1存放在30H(整數)和31H(小數)兩單元中,Yn存放在32H(整數)和33H(小數)中。濾波程序如下:
雖千萬里,吾往矣。
7. 數字濾波與反濾波
廣義而言,濾波可以看作為對某一信號的改造作用。改造之前的信號稱為濾波輸入,改造之後的信號稱為濾波輸出。輸入、輸出、濾波器就構成了濾波三要素(圖5-4-6)。反射波地震資料數字處理中需改造的信號是含有干擾的地震信號,輸出是不含干擾或干擾減少的地震信號。改造信號的濾波既可以用物理過程實現,也可以用數學運算實現。前者是所謂的電濾波器,後者即為數字濾波。
圖5-4-6 濾波三要素
濾波器的設計一般在頻率域中進行。首先利用傅里葉變換分析有效波、干擾波的頻率成分。據此確定有效波、干擾波的頻譜范圍。例如,如圖5-4-7所示,有效波的頻率成分在中間頻率范圍內,干擾波分布在高、低頻范圍內。據此確定一個帶通濾波器的頻率響應H(ω),然後經傅里葉反變換得到h(t)在時間域中實現濾波,或者直接在頻率域中進行濾波後再反變換得到濾波輸出。如圖5-4-7,所設計的濾波器稱為門式濾波,邊緣十分陡,濾波參數只有二個:高截止頻率和低截止頻率。實際使用的濾波器邊緣較為平緩,有一定坡度,故有4個濾波參數:f1、f2、f3和f4。f1和f2之間為低頻過渡帶;f3和f4之間為高頻過渡帶;小於f1或大於f4時H(ω)=0,f2和f3之間H(ω)=1。設計一維頻率濾波器就是根據干擾波和有效波的頻譜分布確定這四個濾波參數。
圖5-4-7 濾波器的設計H(ω)
所謂反濾波,仍然是一個濾波過程,只不過是一種特殊的濾波過程。這個濾波過程是針對另外某一個濾波過程而設計的,其作用恰好與另外那個濾波過程的作用相反,將該濾波過程的作用抵消。
設x(t)是濾波器h(t)的輸入信號,y(t)為其輸出。若設計一個濾波器a(t),使得當輸入信號為y(t)時的輸出正好是x(t)(圖5-4-8),濾波器a(t)的作用與濾波器h(t)的作用正好相反,a(t)將h(t)的作用抵消[即若將h(t)和a(t)看作為一個濾波器的話,則輸入為x(t),輸出仍為x(t)]。因此,a(t)就稱為h(t)的反濾波器。當然,h(t)也是a(t)的反濾波器。
圖5-4-8 反濾波的概念
由此可見,反濾波實際上是一種特殊的濾波,有極強的針對性,必須有「反」的對象。如果失去了「反」的對象,則反濾波就失去了意義。反射波地震資料數字處理中正是根據反射地震勘探的實際情況,針對不同的對象設計不同的反濾波以達到不同的目的。
8. 從濾波器的一些數學表達中,你如何理解濾波的概念
lc濾波的計算
上圖是常用經典演算法,巴特沃斯型濾波電路的基本參數,截止頻率為1/2π HZ(0.159),特徵阻抗1Ω,首先要確定需要幾階,比如二階,先歸一化,再變換截止頻率,M=200/0.159 L(new)=L(old)/M,C(new)=C(old)/M,再變換特徵阻抗K=50/1,L(new)=L(old)*K,C(new)=C(old)/K,算出來的值便是最終待設計LC濾波的值。
可選擇 定K型濾波器則 L=R/(2πF)=1.5K/6.28*4K=59.7mH;C=1/(2πRF)=1/1.5K*6.28*4K=26.54nF也可選擇巴特沃斯型 L=2Sin(2k-1/2n)π*R/(2πF)=84.4mHC=2Sin(2k-1/2n)π/(2πRF)=37.53nF (其中k,n=2)