LOGO

DSP 數位訊號處理 -- 現代化的濾波器

No.44   1996 Sep.   p40~45,   by 編輯部



    數位電子已經漸漸入侵到類比領域,由於數位線路的精確性及再現性不是類比線路所能比的,也因而數位線路的應用越深也越廣。

    對於接收機的中頻或是聲頻領域內的線路,數位訊號處理可以說是強而有力的新興工具,其所能達到的性能絕非傳統的類比線路可比。目前數位訊號處理在硬體上的發展,拜微電子學發展之賜,能夠處理的頻率越爬越高,也許在不久的將來,高頻領域內就可以從射頻前端線路加入數位訊號處理技藝。

    數位訊號處理的兩大技藝,在業餘無線電發展發面,最大的影響可分兩大支流,其一是數位訊號合成,另一就是數位訊號處理在濾波器方面的發展。關於數位訊號合成技藝,目前也都是以大型 IC 做模組化的發展,雖然各家數位訊號處理 IC 齊放,也有各自的發展套件,但是這些都已經黑盒子化的 IC,除了自行規劃程式做應用之外,我們可能不知道其中的原理。因此,我們以深入淺出的方式,來探討數位訊號處理方面的技藝,特別是基本原理方面的討論,以彌補知其然而不知其所以然的缺憾,以深入淺出的方式來談數位訊號處理線路,尤其是在濾波器方面的應用。


數位訊號處理簡介

    所謂的數位訊號處理,就是把傳統的類比訊號轉化成為一連串的數字,這些數字可以儲存,做數學運算,從而轉換為其他與原來不同的數字,然後再把這些由運算所得的新數字轉換回類比訊號,參看圖 1 數位訊號處理的方塊流程。

Fig 01
圖 1:基本數位訊號處理系統的方塊圖。

    這一連串的轉換 / 運算 / 還原,乍聽起來好像很奇怪,為什麼數位訊號處理會比類比處理還好呢?簡要的回答這個問題,可以這樣說:經由數位訊號處理所得到的結果,性能比以電容、電阻、電晶體、或運算放大器等為主的線路還好很多。

    好在哪裡呢?最明顯的優點是選擇性,以數位訊號處理的數位濾波器,很容易可以達到幾乎理想的帶通濾波器,裙帶特性可以達到 2000dB / 每音程,而且帶通特性上的平坦度以 dB 計可以達到小數點以下。

    而拿穩定度來講,數位訊號處理濾波器更是沒話說,因為數字的運算是死的,2 乘 2 等於 4,這數值不會因為溫度、濕度、開機時間、日陰睛、或月圓缺而改變,既然數位訊號處理濾波器是由這類不變的運算來決定,自然其結果也不會因外在因素而隨意變動。

    數位訊號處理濾波器的另一項大優點就是不需校正,尤其是濾波器,使用類比線路的話,非要有精密的校正不可,改用數位訊號處理濾波器後,根本就完全可以免去一切校正。

    另外,如果製作兩部類比濾波器,不需要很複雜的濾波器,如果要讓彼此間的性能相接近,可能也不是靠精密的校正就可做到的,這些問題,改用數位訊號處理濾波器之後,根本不存在,兩部數位訊號處理濾波器,不需要校正,就可以有相同的性能,要注意,不是相接近的性能,而是完全一模一樣的性能,這可以說是類比濾波器所無法達到的境界。也就是說數位訊號處理濾波器有很好的重複性 (或再現性),在某些應用領域,如雷達、數位傳輸等,對這方面的要求很高,當然如果是在一個區域性的業餘無線電社團,有這麼一個製作,假如有很高的再現性,也很不賴。


數位訊號處理通論

    我們說數位濾波器一定要能夠設法把進來的訊號 (已經被轉換成數目字) 當成「歷史」記錄下來,當然也要有許多數目字來決定這數位濾波器的頻率響應 (如濾波器的截止頻率)。而要記錄這兩種數字並不困難,那就是專司記憶的部份頂多兩枚 IC 就夠了,一枚負責記憶一種數目字,一個是進來的訊號,另一個是濾波器的參數。

    接著當然要有可以運算這些數目字能力的機構,要自己設計一個有計算能力的單位看來並不簡單,還好今天有非常進步的電腦工業,一只適當的 IC 也許就足以擔當這方面的運算需要,甚至可以把整個方塊圖內所需要的硬體都擠在一枚大型 IC 內。

Fig 02
圖 2:在數位訊號處理系統內有五個基本功能分開的方塊。

    有了記憶體及運算單元後,還是不能動作,必須要有負責指揮及聯絡的控制器,例如要有控制器的指揮,記憶體才能夠即時把資料送來或儲存回去,也只有控制器才能讓運算單元該做什麼動作,同時運算所得的結果要怎麼處理等等,也都需要精密的控制才行,請參看圖 2。

    數位濾波器往往會被深刻誤認為都是用在完全是數位訊號處理系統內,而所用的系統也是針對特別的用途而設計的。因為這樣的歷史背景因素,所以數位濾波器一直無法向其他電子技藝一樣,落實到實用的層面上,也因而坊間很難找到淺顯、易懂、而且有實用價值的資料。但是隨著電子製造技藝精進,數位訊號處理元件日益便宜,因此數位濾波器也很快就會成為一項獨立的產品,擺脫一定是特殊應用的錯誤印象。

    只要是濾波器,不論是類比式的或是數位式的,都可分成兩大類,一是有限脈衝反應 (FIR),另一類是無限脈衝反應 (IIR)。有限脈衝反應濾波器比較容易了解,設計起來也更容易,在濾波的角色上表現也很出色,同時振鈴現象也沒那麼嚴重。至於無限脈衝反應濾波器,它與傳統的被動式 LC 濾波器或是以運算放大器為主的主動濾波器較類似。本文打算就製作高性能的數位式有限脈衝反應濾波器所需要的硬體做深入的探討,並舉實例說明,這數位濾波器可以有 8 種不同頻率響應的選擇,表 1 則列出了其中兩種頻率響應特性。

  Filter 1 Filter 2
Passband 0 ~ 3400 Hz 900 ~ 1100 Hz
Passband ripple 0.1 dB 0.1 dB
Stop band(s) 3800 ~8000 Hz 0 ~ 800 Hz, 1200 ~ 4000 Hz
Stop-bandattenuation 60 dB 50 dB
Sampling rate 16 KHz 8 KHz
表 1:頻率響應特性。



有限脈衝反應濾波器基本理論

Fig 03
圖 3:基本的數位式有限脈衝反應濾波器方塊圖。

    有限脈衝反應濾波器是以「波的自相干擾」為基礎的,參看圖 3,這是一種最淺顯的有限脈衝反應濾波器說明,原來的訊號經過時間的延遲,再與原來的訊號相加,這就是一種有限脈衝反應濾波器,也就是「自相干擾」。而這訊號的延遲,可以是因為傳輸線的延遲、合成耦合方式的延遲,或者是訊號數位化以後的數位方式的延遲。

    當正弦波進來時,如果頻率很低,那麼時間的延遲對於訊號相位的影響就還不如頻率高一點的明顯。當進來的頻率慢慢升高時,會往某一頻率上有 180 度的相位差,延遲的訊號與原來的訊號在相位上完全相反,兩訊號相加,當然就相互抵銷,參看圖 4。當頻率繼續上升,相位移到達 360 度,此時兩訊號相加又會有加強的作用,像這樣頻率往上持續下去,就會出現一波波的反應,這也就是梳型濾波器,因為這種濾波器的響應看起來就像一隻梳子,如圖 5 所示。

Fig 04
圖 4:以「自相干擾」為基礎的有限脈衝反應濾波器。

Fig 05
圖 5:當頻率延伸出去之後,反應曲線上展現出有限脈衝反應濾波器的「梳型」樣子。



如何取得其他響應曲線

    要改變濾波器的反應曲線,最顯而易見的工作是什麼呢?我們知道經過延遲之後的訊號,要相加之前,其振幅是可以很方便調整的,因此最容易做的,就是經過延遲之後的訊號,可以控制某增益,進而掌握振幅大小。另外可以想到的是,要把訊號相加在一起,並不一定要限制只有兩個訊號,實際上可以 3 個、4 個、甚至延伸到想要的任何數目。經過這兩項調整,振幅的控制以及訊號數目的增加,則有限脈衝反應濾波器的方塊圖就成為圖 6 的樣子,當然這樣改變之後,系統也就更複雜了,自然要製作也就更困難些。實務上,數位濾波器 的訊號數目是介於 3-256 之間,不過大多數真正的數位濾波器都採用 32-128 個延遲訊號為主。

Fig 06
圖 6:原來的訊號加上不同的延遲訊號之後,可以得到不同特性的數位濾波器。

    再看看圖 5 的反應曲線,尤其是線性刻度,這是非常獨特的形式,它是這頻率的餘弦函數,雖然初看之下並不明顯,但是更多的訊號累計加在一起,只會使餘弦函數更明顯,並不會有其他變化,這些餘弦函數有不同的週期,而振幅方面也只是受到各延遲線上的增益控制所左右,這些振幅增益不同,週期不同的訊號累加在一起,就可以表達出各式各樣的訊號,這是由法國的天才數學家傅立葉所發現的。因此要設計出數位濾波器,只要回答下列兩個問題就可以了:

  • 要有幾個延遲訊號。
  • 每個延遲線上的增益為何?

        這兩個問題通常可以借重電腦來運算。為了方便設計數位訊號處理線路,延遲訊號的數目通常採用取樣率的倍數關係,至於延遲線上的增益,通常是以符合兩個目標為主:一是在某些頻率上有特定的振幅,二是使這些參數有最好的解析度。


    有限脈衝反應濾波器硬體

        實際的有限脈衝反應濾波器方塊圖不像圖 3 所示,而比較像是圖 6 所示的樣子。而要是訊號完全以數位化處理的話,那訊號流程又不像是圖 6 所示的方塊圖了,因為其中的某些線路結構,可能會重複出現在數位濾波器內的不同方塊內。


    真正的介面

        大多數人面對數位訊號處理時,一定沒有已經轉換好的現成數位資料,或者是直接供應的數位資料,因此大多數的應用場合,在數位訊號處理輸入端之前,一定要有類比 / 數位器,來取得對應於類比訊號的數位資料。同時在數位訊號處理輸出之後,也必須要有數位 / 類比器,以便把數位資料轉換成有用的類比訊號。

        這個數位訊號處理線路就有控制訊號可以操控類比 / 數位轉換器及數位 / 類比轉換器的運作,這數位訊號處理器有一脈衝送給類比 / 數位轉換器,可讓類比 / 數位轉換器把資料送給數位訊號處理器,而當數位訊號處理器有資料要給數位 / 類比轉換器轉化成類比訊號時,也會發出一個脈衝給數位 / 類比轉換器,所以,凡是可以用脈衝觸動的任何類比 / 數位器及數位 / 類比轉換器,都可以使用。

        要以數位訊號處理做類比訊號處理時,有天生的兩大問題,第一是所謂的「假象」 (Aliasing) 現象,這是一種發生在訊號超過某個頻率時所發生的現象,一般對於數位取樣有個原則,那就是取樣率至少是受取樣訊號最高頻率的兩倍以上,如果輸入訊號的頻率超過取樣率的一半,那就會發生無法預期的結果,為解決這個問題,必須在數位訊號處理器的輸入之前加一濾波器,讓這些超過取樣率之半的訊號不要出現在數位訊號處理器,這種濾波器稱為「去假象」濾波器,它可以把頻率過高的部份先排除在外,保證不會出現錯愕的結果。

        另一種問題也與濾波器有關,那就是數位 / 類比轉換器之後,除了轉換後想要的訊號之外,也含有取樣頻率及其諧波,使得輸出的訊號在示波器上看來像是階梯波,要解決這個問題,也是需要有一濾波器,而這濾波器則是加在數位訊號處理輸出之後,這個濾波器也是用來治療數位 / 類比轉換所產生的副作用。

        乍看之下會令人覺得很奇怪,為什麼性能那麼好的數位濾波器卻需要有使用類比的「去假象」濾波器以及數位 / 類比轉換器的輸出濾波器。要特別說明的是,數位訊號處理並不是完整的濾波器,它只是負責固定不變的參數,使濾波器不受到零件數值變動及工作環境因素的影響。其實配合數位濾波器使用的這兩個類比濾波器很簡單,要求特性並不苛求,所以不論在設計及製作上都很簡單。

        本製作並不包含這兩個類比濾波器,如果要使本製作所提的數位訊號處理器成為真正實用的數位濾波器,則必須自行增加這兩個濾波器。


    線路說明

        這個數位濾波器的主要硬體部份包括有時脈與控制線路、數位訊號輸入線路、儲存數位訊號的 RAM、儲存數位濾波器參數的 ROM、以及運算單元 MAC。

    Fig 08
    圖 8:多級組合的有限脈衝反應濾波器方塊圖。

    Fig 09
    圖 9:數位訊號處理器完整線路圖。

    Fig 07
    圖 7:控制器把數位資料及數位濾波器參數連結起來。

    ● 時脈與控制

        時脈與控制中心的第一部份應該屬記憶體的記憶書寫脈衝,記憶書寫脈衝產生器是由 U16 的其中一半以及 U17 內的三組「及閘」所組成的。這線路裡的 RAM 記憶體必須要有適當的時序才能正常工作,首先,記憶體的位址一定要正確,緊接著是讀寫腳上要瞬間變為低電位後轉為高電位。這個時序訊號是由線路的基本振盪訊號經由 U16 除 2 得來的,然後再以這訊號與基本振盪訊號經 U17A 作用而得到真正的時脈控制訊號,這時脈再經過 U7 的延遲,使 RAM 產生寫的動作。

        時脈與控制線路的第二部份是位址計數器,這由兩計數器組成,它由 0 開始計數到由 DIP 設定的數目為止,然後又歸零重複計數。每只計數器有 4 爻,U1 及 U2 組成計數器,U3 及 U4 組成另一個計數器。DIP 的 S1 到 S8 是設定給 U1 及 U2 的,而 S9 到 S16 是設定給 U3 及 U4 的。

        NAND 閘輸出通常是在 H,除非輸入都保持 H,則輸出會是 L,在這線路內,NAND 閘都是透過 2.2K 歐姆電阻接到 +5V 電源,然後以 DIP 開關來控制當開關開路時,NAND 閘的輸入是 H,當開關是關閉時,就把計數器的輸出加到 NAND 閘上,因此當計數器達到 DIP 開關的設定值時,NAND 閘輸出便出現了 H。

        如果計數器沒有歸零,那麼有可能 NAND 閘也會有 H 的情況,但是因為計數器一開始就被歸零,因此不會有這種情況發生。

    ● 數位濾波器的輸入線路

        乘法器與累積器的輸入線路,只包含有兩只閘鎖 IC, 74LS373,這裡當成是三態開關或叫做緩衝器,這裡使用的類比 -- 數位轉換器已經內含有閘鎖線路,如果改採其他類比 -- 數位轉換器,可能就需要閘鎖線路,當有新資料需要儲存到 RAM 或是 MAC 裡時,輸出就會被啟動 (Enable)。

    ● 記憶體部份

        本機的記憶體包括有 ROM 及 RAM,ROM 是 2716,RAM 是 6116,每一枚記憶體都使用兩顆以構成 12 爻。2716 所儲存的是濾波器的參數,它的輸出不需要控制,而是永遠啟動著,因為沒有其他資料線接在 MAC 的 X 輸入。至於 RAM 的輸入及輸出是同一腳位,要正常工作就必須要有控制程序,當資料尚未就緒之前,輸出不開放 (Disabled),直到資料就緒,WR 線轉態到 LOW,然後 WR 線由 LOW 轉 HIGH 把資料讀入,這些控制時脈都是由時脈產生器來產生。

    ● 乘法器與累積器

        所有的運算工作都是由 TRW 12 爻 MAC 來執行。在這個濾波器線路,有許多的運算功能都不用,因此這 IC 的所有時脈腳都接在一起,而許多控制腳也用不上,唯一用上的控制腳是累積器的控制,它每一週期產生一個 LOW 脈衝,這相當於清除累積器的作用。


    製作

        製作數位線路不比類比線路,很多人會相當不習慣。數位線路的原型機往往採用 IC 座、繞線機、接頭等來作為接線的主要工具,這對於設計、製作、及修改都相當方便。更動線路時,只要防止訊號繞線之間的短路就可以了。如果數位線路與類比線路混雜在一起,那麼一定要有獨立的接地系統,這兩接地只有在電源線路中才接在一起。


    數位線路方面的檢修

        硬體線路完成後,可能需要偵錯,因為這是試做線路,所以採用繞線方式,偵錯數位線路時,通常需要加入訊號,然後再進行追蹤,因此就需要有效的工具,可以是邏輯筆或者是邏輯分析儀,要不然使用示波器也可以。通常製作數位線路時,習慣上是以一功能方塊為主,逐一完成,因此不論工作到那裡,都可以逐一掌握,以製作這個數位訊號處理線路而言,可以依序完成時序與控制線路、輸入線路、記憶體 RAM 及 ROM 線路、最後是運算單元 MAC。


    總結

        數位訊號處理技藝已經到了成熟採收的季節了,不只技術上非常成功,成本也日漸降低,尤其是性能上的表現真是沒話說。在數位濾波器領域內,已經有好幾種獨立的成品上市,而且機種與品牌正不斷地增加當中,未來在這方面的市場競爭也一定非常激烈。目前因為這方面的 IC 模組化,產量也日益增加,價格也降到吸引許多業餘無線電方面的應用,上面只介紹其中的一種數位濾波器,為了說明方便,特別找了這麼一個現在已經不大實際的線路做說明,雖然這個線路可以工作,但是一般在數位濾波器的應用,還是以採用模組化的 IC 為 主。數位濾波器可以作為選擇性很優良的 CW 聲頻濾波器,也可以專供普通的數據通訊濾波器,如 RTTY、PACKET、SSTV 等。 END

    主要參考資料:
    Digital Signal Processing, A Modern Audio Filter, by Fred Williams



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