LOGO

DSP 如何去除雜訊

No.44   1996 Sep.   p46~51,   by 編輯部



    利用單枚數位訊號處理器 (DSP) 製作成的雜訊濾波器,不只可以去除人為雜訊,更可以很有效率地去除掉大自然雜訊,享受通訊的樂趣。


數位訊號處理器晶片

    數位訊號處理通常是由特殊的微處理晶片來執行,這種晶片與一般的微電腦晶片不一樣,最重要的是,數位訊號處理晶片必須要有驚人的乘法運算速度,通常數位訊號處理器晶片都有單指令的 16 位元乘法運算功能,雖然一般的微電腦晶片也有乘法的功能,但是這需要好幾個指令週期來執行,速度太慢。因為數位訊號處理器通常需要一連串的乘法運算,所以就要有高速度乘法運算的能力。而數位訊號處理器晶片也能夠快速執行重複不斷的乘法運算、累積、以及資料數據的暫存等指令,這也是一般數位訊號處理器晶片所必備的。

● 數位訊號處理器晶片已有合理的價格性能比

    雖然數位訊號處理技藝早已經存在好幾十年了,可是這種技藝所需材料的花費成本在近幾年才降下來,在十年前,第一代的數位訊號處理器晶片,每只至少要美金 200 元以上,而現在能力比它更強的數位訊號處理器晶片,少量零購時每只的價格也是介於 5~20 美元之間,因此這才使得數位訊號處理器晶片能夠應用在業餘無線電領域內。也因為數位訊號處理器晶片價格劇降,使得在訊號濾波與雜訊處理方面的應用,數位訊號處理技藝才能夠與傳統的類比線路一爭長短。

● 數位訊號處理濾波器的優點

    數位訊號處理器晶片有幾項優點遠遠凌駕於傳統的類比線路之上。比如數位訊號處理器晶片線路靠的是軟體的運作,不需要像類比線路必須有精密的校正。同時數位訊號處理器與軟體運作並不會受到零件老化或環境周圍溫度的影響,因此以數位訊號處理器晶片為基礎的數位訊號處理技藝,其輸出結果,重複性高,預測性可靠。這在類比線路就需要精密的電子元件及校正才行,但是數位訊號處理器可以藉著軟體的指令來完成任何複雜的訊號處理。

    同時以數位訊號處理器構成的濾波器的最大優點是能夠根據輸入訊號自行調整功能,例如不同的雜訊特性,以數位訊號處理器為基礎的濾波器就能自動去除這些雜訊,這就是順應性濾波 (Adaptive Filtering) 的基本原理。


類比與數位處理的差異

    在類比訊號處理過程當中,總是以各種不同的電壓或是大小不同的電流,來代表聲音或者是無線電訊號,然後在類比訊號處理線路當中,我們以電阻、電感、電容、放大器、混頻器、石英晶體濾波器、及其他零件來處理,這些線路可以讓我們做各種類比訊號處理,例如帶通濾波、低通濾波、高通濾波、調制、解調、及頻率轉換等。

    而數位訊號處理則不一樣,首先透過取樣,先把類比訊號波形轉換成一連串的數字資料,之後再透過複雜的數學運算做各種的訊號處理工作,但是這裡的工具與類比線路卻大異其趣。這裡先把取樣的數據資料做各種操作運算,例如乘法運算、加法、桶狀的位移、延遲、及其他的數據邏輯運算,處理完畢之後,再把數據轉回成類比訊號,最終再以喇叭或者是耳機發出處理後的聲音。

    以數據領域為基礎的訊號處理,可以有不同的嶄新技巧來處理訊號,這是類比線路所無法做到的,現今的數位訊號處理器,很容易讓訊號做各種長度不同的時間延遲、乘法運算、非線性處理、線性相位濾波、時間變動、隨訊號變化的順應性濾波等。

    數位訊號處理器雖然提供很強的訊號處理能力,也頗具經濟性,而自然也有它的限制。例如不應該把數位訊號處理器的應用頻率直接推高到 9MHz 的中頻,而當成接收機的中頻濾波器,因為處理訊號的頻率這麼高,不只數位訊號處理器要有超強的運算速度及能力,同時負責訊號取樣的類比 - 數位轉換器,也要有很大的動態範圍及極高的取樣率,這些零件很難取得,至少目前無法廉價取得。

    因此目前的數位訊號處理器還是以音頻範圍為主,或者是採用頻率很低的中頻,如 50KHz 或 20KHz,雖然我們被困在很低的頻率範圍,但是依照數學轉換原理的結果,我們可以知道在線性接收機 (CW 及 SSB) 當中,對於從聲頻訊號處理的選擇性與從射頻或中頻處理是等效的。雖然類比 / 數位轉換器的動態範圍有時不足,儘管接收機的自動增益線路 (AGC) 可能會吃掉一些訊號,不過一般說來,對線性接收機而言,處理聲頻的選擇性與在射頻及中頻處理是等效的,並不會差得很遠,尤其是對業餘最常用的 SSB 及 CW 訊號而言更是如此 。當然有朝一日假如可以直接從接收機的中頻下手做數位訊號處理,那又會是另一番景象了。


數位訊號處理CW濾波器

    因為可以從聲頻下手,所以利用數位訊號處理技藝,我們可以有選擇性很尖銳,頻寬很空的 CW 濾波器,這是傳統石英晶體濾波器所無法比擬的。尤其是相位線性處理更是數位訊號處理器很在行的,也就是數位訊號處理器能夠做很精確的訊號延遲,使訊號剛好都落在帶通上,這樣就可以讓 CW 訊號包封有最低的失真以及最小的振鈴現象。

    而在數位訊號處理器線路上,爽們沒有零件的精確度問題,如果數位訊號處理器晶片執行一個指令說乘上 25789,那麼這取樣數據就會乘上 25789,不多也不少,因此我們可以製造出品質畫一及非常精確的濾波器,根本就不用去擔心需要精確的調整、追蹤校正、及匹配等類比線路所必須要注意的問題。

    數位訊號處理器也很容易做精確的時間延遲,只要利用類比 / 數位轉換器把原始波形取樣資料儲存入記憶體,經過一小段任意指定的時間,再把數據資料轉換回波形,就可以得到想要的任何時間的延遲。但是對於類比線路而言,延遲線路需要有複雜的 LC 梯狀結構網路,而且電感彼此之間要有極精密的耦合才行。

    橫向濾波器 (Transversal Filter) 可以根據相位線性的特性來設計,這種濾波器很難以類比線路來設計製作,因為這種濾波器需要許多延遲線路,或在一條延遲線路上取出不同的延遲時間點。由於時間延遲對數位訊號處理器如探囊取物般容易,乘法運算也是數位訊號處理器的本能,所以利用數位訊號處理器來設計橫向濾波器非常簡單,而所謂的橫向濾波器是在類比線路時的稱呼,在數位線路上,以數位訊號處理器的橫向濾波器就叫做「無限脈衝反應」 (Finite- Impulse-Response; FIR) 濾波器。

Fig 01
圖 1:類比與數位濾波器的頻率反應曲線以及時間延遲。

    圖 1 的實線部份是一非線性的 CW 類比濾波器的頻率反應及時間延遲曲線,這是一只 5 極的構圓帶通頻率反應,-3dB 頻寬是 200Hz,-60dB 頻寬是 350Hz。在時間延遲方面,當接近中央頻率時,時間延遲最小,離開中央頻率越遠,時間延遲越厲害,當接近帶通邊緣時,時間的延遲更是加劇。虛線部份是一 100 階無限脈衝反應濾波器,設計的特性規格與類比濾波器相同,可以看出來數位訊號處理器為基礎的濾波器與類比濾波器的反應曲線不一樣,更重要的是,數位濾波器的時間延遲與頻率沒有關係,它是一條直線,也就是任何頻率的 延遲時間都相同。

    從圖 2 可以看出來,對於 CW 訊號而言,類比濾波器因為相位失真所引起的邊際延遲效應,比電鍵產生滴答聲時更嚴重。圖 2 分別是類比濾波器及數位濾波器對於 CW 訊號的影響,圖 2A 所示的類比濾波器,因為時間延遲產生的暫態響應造成嚴重失真,圖 2B 所示數位濾波器,因為時間延遲固定,失真的情況並不嚴重。

Fig 02
圖 2:通過類比濾波器與數位濾波器時,CW 訊號的不同反應。



CW 濾波器的振鈴效應

    凡是帶通濾波器就會有振鈴現象,造成振鈴現象的原因有二:一是把頻寬縮小就自然會造成振鈴現象,大多數帶通濾波器的振鈴現象就是由此因素而引起;另一引起振鈴現象的原因是時間延遲,或相位失真所引起的,傳統的類比濾波器會有嚴重的振鈴現象,就是因為相位失真所引起的,尤其是帶通濾波器頻寬縮小到一定程度,相位失真很厲害時,振鈴現象就非常嚴重。

    至於數位訊號處理方式,因為無限脈衝反應式濾波器的相位是線性的,參看圖 2,自然也就不會加劇振鈴現象。因此針對固定頻寬的帶通濾波器而言,數位式比類比方式有更少的振鈴現象發生,許多數位訊號處理器設計的 CW 濾波器是採用無限脈衝反應原理,因此這濾波器引起訊號的振鈴並不嚴重。

    對於採用 FSK 方式調制的數據通訊,例如高頻中的 PACKET、RTTY、SSTV、AMTOR 等,接收這類訊號時,也會由於數位訊號處理濾波器有線性的相位關係而受益,因為數位濾波器的相位失真遠比類比濾波器還小,所以不會影響到正確的解碼,從而破壞了數據的還原,或影響到顏色 (彩色 SSTV 訊號)。


順應性濾波器與話務通訊

    數位濾波器的去除雜訊能力可以讓自然雜訊的嘶嘶聲完全消失,很容易辨識微弱訊號,這不只讓通訊樂趣大增,而且不容易疲勞。曾有一位業餘無線電通訊衛星愛好者正透過衛星努力呼叫,他很奇怪?聽到自己的訊號那麼清晰,但卻沒有人回答,當他審慎檢查設備時,發現他無意中把數位濾波器打開,當他把數位濾波器關掉時,自己的訊號卻突然被埋沒在雜訊堆中,難怪沒有人回答,很顯然地,此時只有他自己因為透過數位濾波器才能聽到自己的訊號。

    不要讓數位訊號處理器嚇著了,不論去除雜訊的演算方式是 LMS (Widrow-Hoff Least Meam Square),或以 DFT (Discrete Fourier Transform) 為基礎的頻譜減算方式,數位訊號處理器去除雜訊最基本的依據是:在訊號中找到最重要的頻譜線,然後在這能量最集中的基線為中心形成帶通濾波器。而這些特別的演算方式與完成的程序有關,為了讓你更加了解順應性濾波器是如何去除雜訊,必須要暫時讓你想到下列不同形式的濾波器。


頻率域濾波器

    傳統的類比濾波器辨識訊號時是以頻率為基礎的,例如頻寬 2.4KHz 的石英晶體濾波器,對於單邊帶的話務,可以提供 300H2-2700Hz 的訊號通過,因此要是在這訊號中含有 4000Hz 的音調,或是另一邊帶的訊號,根本就無法通過這濾波器,這都是因為頻率不在帶通範圍內的關係。而像是 1000Hz 訊號,因為就在這濾波器的頻寬範圍內,所以可以通過這濾波器,像這種傳統的濾波器,我們說它的基本工作原理是採頻率域 (Frequency Domain)。


自動相關性域濾波器

    至於以數位訊號處理器為基礎的濾波器,在去除雜訊或自動帶陷濾波器上,採用所謂的自動相關性 (Auto Correlation Domain),這樣的濾波器可以稱做自動相關性域濾波器。

    什麼是自動相關性?在這裡指的可以說是訊號成份的「重複性」。參看圖 3,我們要討論三種不同典型的訊號:

Fig 03
圖 3:以時間域展開的訊號波形,A 正弦波有很強的自動相關性,B 是語音有一半自動相關性,C 為背景雜訊則無自動相關性。

● 自動相關性做帶陷濾波器

    首先假設有一正弦波,如圖 3A 所示,正弦波的自動相關性最強,因為在正弦波訊號中,每一重複出現的週期幾乎部相同。數位訊號處理濾波器中的帶陷濾波功能,對於自動相關性強的訊號可以去除的最徹底,而最棒的是,在接收機中,有許多的干擾或雜訊,其重複性或說是自動相關性都很強,例如超外差雜音,就是一種很純的正弦波,自動相關性很強。

● 去除無自動相關性的雜訊

    另外一種與自動相關性完全不同的,是一般的熱雜訊或自然雜訊,這種雜訊有時又被稱為背景雜訊,轉來是一片嘶嘶聲,參看圖 3B 是一種在有限頻寬內的背景雜訊,這種雜訊完全無重複性可言,像這類雜訊,數位訊號處理濾波器就以無自動相關性來去除雜訊。

● 半自動相閥性的話務語音

    那麼話務訊號中的語音又如何呢?參看圖 3C,這是英文 "NINE" 發音中的雙母音成份,注意這訊號頻譜中有些是具有重複性的,每一週的訊號不盡相同,但是彼此卻很類似,人類語音當中很多都是這種情況。因此可以下一個結論:正弦波訊號具有自動相關性,人類語音訊號則有中等的自動相關性,自然雜訊或熱雜訊則完全無自動相關性。

    於是數位訊號處理濾波器就可以充份運用上述這個結論,因為超外差雜音等有很強的自動相關性,就可以利用這個特性來消除它,而自然雜訊或熱雜訊,則完全無自動相關性,也可以利用這個原理來去除雜訊,如此一來,數位訊號處理濾波器就可以保有半自動相關性的語音,而把類似正弦波的雜叫聲 (強自動相關性) 或是自然雜訊及熱雜訊 (無自動相關性) 完全去除。

    但是如何找出訊號的自動相關性呢?可以利用 LMS 演算方式。任何訊號如果是以時間域展開,那麼看到的訊號波形就會像是示波器螢幕所看到的一樣,而如果這訊號是以頻率域展開時,則訊號波形就是像頻譜分析儀螢幕上所看到的一樣。

    如果訊號有很強的自動相關性,也就是說訊號內波形的重複性很大,那麼以頻率域展開時,這種訊號的波形會集中在幾條頻譜線上。例如一個很純的 400Hz 訊號,那麼頻率域展開時,這訊號就集中在 400Hz 這一條線兩旁。而如果訊號無自動相關性,也就是無重複性,則頻率域展開時,則訊號會平均分散在整個頻譜上。

Fig 04
圖 4:順應性濾波器對語音的反應。

    至於有半自動相關性的語音訊號,則介於兩者之間,有一部份表現出自動相關性,有一部份像是無自動相關性,因此在頻譜上看來會有明顯的幾處頻譜線條,表示這頻率範圍內的訊號有相關性,其餘的則分散在頻譜其他位置上,表示這些成份並無相關性。圖 4 就是圖 3C 語音的頻譜,可以看到在 1500Hz 以下有幾處很強自動相關性的頻譜,而介於 2500Hz- 3000Hz 之間也有,其餘部份則分散開來是沒有自動相關性的。

    從圖 4 也可以看出順應性濾波器的曲線,從這頻譜很快可以分析出,這語音的頻譜重點在哪裡?然後從中導出適合的反應曲線而形成帶通濾波器。如果這語音當中夾雜著雜訊,那麼順應性濾波器也可以針對帶通以外的頻率把雜訊去除。例如圖 4,可以把 2000Hz 附近以及 3000Hz 以上的雜訊完全去除。

    至於和語音訊號非常接近甚至是重疊的雜訊,數位訊號處理濾波器也無法有效去除,但是由於人的聽覺系統有遮蓋雜訊 (Noise Making) 效應,則可以完全把雜訊去除,所謂的遮蓋雜訊效應就是人類腦袋瓜所表現出來的另一種生物性的訊號處理濾波器,人類聽覺系統對於兩強度差異極大的訊號,只接收強訊號,至於弱訊號則可以完全聽而不見。此時因為語音佔優勢,雜訊就無法出頭天。因此,數位訊號處理濾波器把語音頻譜之外的雜訊除去,而與語音同時存在的雜訊則交由聽覺系統處理。當然,通訊時語音是不斷變化著,那麼順應性濾 波器也就要隨著語音訊號自動調整,隨著輸入訊號的變化,它隨時掌握著訊號的頻譜特性,並且根據它的特性來有效去除雜訊。

Fig 05
圖 5:自動相關性的順應性濾波器,可以有效地去除背景雜訊及嘶叫聲。

    圖 5 所示是數位訊號處理濾波器在順應性濾波工作模式下的情況,圖中最左邊有雜訊存在,最右邊則有正弦波嘶叫聲,中間部份則是語音成份。

    數位訊號處理濾波器利用訊號成份的自動相關性很少或無的特點,來去除雜訊,而讓其餘有相關性的訊號通過。如果順應性濾波器是以最強頻譜為中心形成了帶陷濾波器而不是帶通濾波器,那就是自動帶陷濾波器,此時可以把有很強的自動相關性訊號去除,其餘的讓它通過。

    對於處理話務語音的順應性濾波器,可以同時依照強自動相關性來做帶陷濾波器以去除嘶叫聲,並且以無自動相關性的特性來做帶通濾波器,以去除包括自然雜訊及熱雜訊在內的背景雜訊,此時濾波器可以去除毫無重複性的雜訊以及重複性很強的超外差雜訊,然後其餘的訊號可以通過。


頻譜減法

    要去除語音通訊中的雜訊,除了 LMS 外,還有另一種方法,就是頻譜減法 (Spectral Subtraction)。這種演算方式所得的結果與 LMS 演算方式相同,只不過是過程完全不一樣。

    到目前為止,我們討論過的數位訊號處理的演算方式都是以時間為橫軸展開的波形,取樣也是一樣,然而頻譜減法的演算方式就不同了,頻譜減法所取樣的是訊號的頻率,我們可以這麼說,頻譜減法是針對訊號的頻譜來取樣,而先前的方式則是針對訊號波形來取樣。為了對訊號波形的頻譜作取樣,數位訊號處理器必須做很繁複的運算,以數學術語來說就是做轉換 (Transform),把訊號的波形轉換為訊號頻譜,也就是把時間域轉換為頻率域。例如,利用類比 / 數位轉換器對訊號波形取樣後,所得的可能是在以時間軸 0、100、200 微秒等 點上取得的訊號電壓,這些電壓被取樣之後是以數字來表示;經過轉換運算之後,也是一連串的數字,但是所代表的已經不是訊號波形的取樣電壓,而是訊號在頻譜展開時的分佈情況,例如在 300、320、340Hz 等處的頻譜強度。

    轉換到頻率域之後,就是所謂的頻譜形式,運算之後還得再轉換回來,如果我們把訊號做時間 / 頻率轉換之後,再做頻率 / 時間轉換,還是可以還原成與原來取樣時的相同訊號。要做頻譜減法演算,有三個步驟:

  1. 把訊號轉換成頻率域形式。
  2. 做頻率城內的數據資料運算及處理。
  3. 把結果從頻率域轉換回成時間域訊號。

    對於聲頻訊號而言,這幾個步驟是持續不斷運作的,而且來回轉換的步驟一定要在數百毫秒之內完成。

    頻譜減法能有效去除雜訊,是基於兩個假設:

  1. 語音的頻譜是集中在少數幾個頻譜線上。
  2. 雜訊頻譜則是平均分散在整個頻譜範圍內。

    利用頻譜減法演算方式可以決定出訊號內雜訊的位準 (Noise Floor),而要去除雜訊,就假設凡此位準以下的成份就是雜訊,從而利用資料運算方式,把這位準之下的頻率能量降到零的位準,也就是去除它;相反地,如果訊號超過雜訊位準,就假設是語音成份而讓它通過。

Fig 06
圖 6:頻譜減法演算方式可以有效地去除背景雜訊。

    圖 6A 是圖 4 語音訊號加上一些雜訊後的頻譜,經過頻譜減法演算方式後,得到的雜訊判斷位準是 45dB,因此就假設凡是強度低於 45dB 的成份就視為雜訊,而強度高於 45dB 的則視為是語音訊號,以此原則來去除雜訊,就是把 45dB 位準以下的訊號降為零,則得到了圖 6B 的頻譜。目前有些業餘無線電使用的數位訊號處理濾波器的雜訊去除是採頻譜減法演算方式的,但是頻譜減法演算方式有下列缺點:

  1. 時間 / 頻率轉換及頻率 / 時間轉換因為牽涉到複雜的運算,太耗時,造成時間的延遲很長,這大約有數百毫秒,於是形成所謂的電子間隙游移 (Electrical Backlash),這種時間延遲在操作上會滋生許多問題,例如調選接收機時,因為聲音與頻率不同步,而使得選台時的速度必須要很慢;通訊比賽時如果採用這延遲時間很長的頻譜減法演算方式,也會使速度慢下來。
  2. 碰到特殊的雜訊,可能無法全部去除而成為如混附響應般的雜訊。比如頻率隨意跑動的正弦波雜訊,因為運算雜訊位準時的失誤,這些雜訊會被視為語音訊號而出現。
  3. 頻譜減法演算方式比 LMS 演算方式需要功能更強、運算速度更快的數位訊號處理器。

    各種不同的演算方式各有其優缺點,頻譜減法演算方式雖然有上述缺點,但有時頻譜減法演算方式可以得到幾乎零缺點的濾波效果,因此許多數位訊號處理濾波器同時提供了各種不同的演算方式,使用者可以根據不同雜訊,選用效果比較好的演算方式來去除雜訊。

    我們對頻譜減法演算方式做個總結:頻譜減法演算方式可以讓頻譜訊號集中的成份 (例如語音) 通過,而把分佈在廣頻率範圍的低振幅成份去除;先把訊號轉換成頻率域,再做真正的雜訊去除工作,完成之後,還需要把訊號從頻率域轉回時間域。


應付不同的雜訊

    什麼樣的雜訊以數位訊號處理濾波器去除最有效呢?一般說來,像是背景嘶嘶聲雜訊,由於完全無自動相關性,所以數位訊號處理濾波器的去除效果最好,至於脈衝式雜訊則去除的效果就差很多 (傳統是以砍頭的方式來去除,稱為 Noise Blankers)。 至於利用各種不同演算方式的去除雜訊,還是以中等到小規模的雜訊最有效,這與傳統的砍頭方式來去除雜訊不同,Noise Blankers 對於越強的雜訊去除效果越好。如果雜訊出現的是脈衝方式,假如這脈衝雜訊的強度低於正常訊號 6dB 以下,數位訊號處理濾波器或許還有很好的效果,如果是很強的脈衝雜訊,恐怕還是求助於傳統的 Noise Blanker 比較好。

    至於常見的電源哼聲,如果這是 120Hz 電源哼聲,恐怕利用數位訊號處理濾波器的效果也不是很好,假如這雜訊是接近白色雜音或背景的嘶嘶聲,則數位訊號處理濾波器就能很有把握地加以去除。


順應性濾波器或固定頻率的 CW 濾波器

    雖然利用順應性濾波器作為 CW 濾波器,如果針對 CW 濾波器還是以固定頻率的比較好,因為順應性濾波器是根據訊號的頻譜而自動選擇適合的帶通特性的濾波器。對 CW 而言,濾波器只要讓滴答訊號通過而已,而且這聲音的頻率可以很快由我們選擇決定;況且固定頻率的數位訊號處理濾波器才可以提供真正的相位線性的特性,而順應性濾波器因為是由各種演算方式來決定雜訊去除,所以通常並沒有相位線性的特性。

    當然,在波段中來回選台找通訊對象的訊號時,通常還是在 SSB 模式下進行比較妥當,這時候就以使用順應性濾波器來配合,此時有比較寬的頻譜空間,容易發現訊號,等到選擇了固定訊號之後,還是以還原到固定頻率的 CW 濾波器為宜。


總結

    利用各種演算方式,以數位訊號處理器為基礎的數位濾波器能夠很有效地去除雜訊,同時數位訊號處理濾波器還可以彌補接收機中頻選擇性之不足。如果程式空間夠用的話,數位訊號處理濾波器還可以做各種音調的解碼 (如 DTMF、CTCSS),今日一只數位訊號處理器晶片,便可以完成各式各樣功能的訊號處理。

    數位訊號處理器晶片價格不斷下降,各種更有效的演算方式不斷推陳出新,使數位訊號處理器可以有更多的功能。在接收機領域內,包括不同頻寬的中頻濾波器、單邊帶訊號產生器、語音處理、帶通調諧、FSK 及 FM 訊號產生器及解調、微調及頻寬壓縮等,相信都是會由數位訊號處理,走出一條與傳統截然不同的路。 END



雜誌目錄 依順序 雜誌目錄 依主題分類