帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
升級至數位式濾波器
 

【作者: Rishi Vasuki】   2008年01月13日 星期日

瀏覽人次:【17975】

濾波器的功能是消除訊號中不需要的訊號(例如隨機雜訊)、或擷取出訊號中有用的部份(像取出特定頻率範圍內的訊號)。要在電路中設計、模擬、配置一個低通濾波器(low-pass filter),必須知道這低通濾波器的頻率響應範圍。但下一步呢?


本文介紹一種方法,能在數分鐘內設計與模擬出各種濾波器。在本文中將使用兩個圖形化使用者介面的套裝軟體進行設計、模擬,並在最後完成濾波器的設計,包括dsPIC DSC Filter Design軟體,以及dsPICworks 資料分析與設計軟體。


步驟1:找出需求

假設要用一個類比至數位轉換器,對12kHz的輸入訊號進行取樣,且已知道還需要一個數位濾波器,把輸入訊號超過3300 Hz的頻率部份過濾去除。為完成這項工作,需啟動dsPIC DSC Filter Design軟體,這款軟體的工具列顯示出各種展開濾波器設計流程的方法,如果設計者希望使用無限脈衝響應(IIR)濾波器,僅須點選「IIR」圖示,再執行對話方塊中的步驟,如(圖一)所示。



《圖一 使用無限脈衝響應(IIR)濾波器》
《圖一 使用無限脈衝響應(IIR)濾波器》

在圖一中,「輸入濾波器規格對話方塊(Filter Specification Input)」中顯示設計者希望濾波器執行的功能,標示著「截止頻帶漣波(dB, stopband ripple)」的文字方塊,讓設計者指定要對截止頻帶的訊號設定多少衰減幅度。輸入的通過頻帶與截止頻帶(passband and stopband)頻率,就界定出轉移頻帶的範圍;若設計者不知道在指定這些頻率時如何確定奈奎斯特標準(Nyquist criteria),這個工具會顯示一個對話方塊幫助了解。


步驟2:評估濾波器選擇方案

當設計者執行圖一所示的對話方塊後,濾波器設計軟體會評估濾波器需求,並根據同級類比IIR濾波器提供濾波器階數的預估值。由於IIR濾波器有五種類型,因此軟體會根據通過頻帶(passband)與截止頻帶(stopband)的漣波特性,針對五種類型的IIR濾波器,列出濾波器的預估階數,如(圖二)所示。工具會根據設計者在步驟1指定的需求,自動選擇最理想的數位濾波器方案。


最適合的濾波器通常是階數最小者,因為濾波器的階數和DSP中濾波器的執行時間成正比。在幾種情況中,像是封閉迴路的控制系統,可略過自動選擇的建議,直接選擇巴特沃斯濾波器(Butterworth filter),因為設計者希望在通過頻帶與截止頻帶上都得到平坦反應(換言之,就是沒有漣波)。在本文的範例中,則使用工具提供的預設選項─在通過頻帶與截止頻帶上顯示等漣波特性(equiripple characteristics)的橢圓濾波器。



《圖二 低通濾波器選擇視窗》
《圖二 低通濾波器選擇視窗》

步驟3:檢驗設計出的濾波器

點選(圖二)中的「Next」按鈕後,軟體會顯示各種圖形,如(圖三)所示。設計者可使用圖形來檢驗軟體產生的濾波器是否符合要求。當略過圖二中的預設設定時,這項功能特別實用。接下來,必須建立一個濾波器係數檔案(*.flt),作為模擬濾波器之用。圖三顯示的選單選項用來儲存濾波器的係數檔案。濾波器係數檔案含有16個係數,用來建置八階橢圓IIR濾波器。這些特別安排的係數,讓8階濾波器建置成四個層疊的2階濾波器(業界通稱為「雙四元組」)。



《圖三 各種圖形的顯示》
《圖三 各種圖形的顯示》

步驟4:模擬濾波器

既然已儲存濾波器係數,接下來該輸入資料來測試濾波器、檢查濾波器的運作是否符合要求。對此使用dsPICworks資料分析與設計軟體。這個軟體能產生或匯入波型、對波型執行各種演算法與DSP作業,如過濾、快速傅立葉轉換(Fast Fouier Transform)等,並匯出Windows WAV或ASCII文字檔案。範例中將產生一個訊號,在100Hz與4300Hz有兩個正弦元件。(圖四)的左上方顯示時域訊號;圖四的左下方則顯示訊號的頻率元件。輸入訊號以步驟1至3的設定,在濾波器中進行處理。圖四的對話方塊讓使用者指定一個輸入波型檔案、濾波器係數檔案、以及輸出波型檔案的名稱;圖四的右上方顯示經過過濾後的輸出訊號;圖四的右下方顯示過濾後輸出訊號的頻率元件。設計者可放心假設濾波器的執行成效和實際嵌入型16位元處理器的處理結果一樣,因為dsPICworks軟體平台會以16-bit定點格式(Fixed-Point)的方式進行運算。



《圖四 訊號輸出》
《圖四 訊號輸出》

步驟5:嘗試各種選項降低係數的大小

若設計者不滿意濾波器的設計,可重複執行步驟1至4,輸入各種濾波選項,包括FIR濾波器。記得在步驟1中選擇IIR濾波器。通常IIR濾波器提供較明顯的反應,卻沒有使用太多資料記憶體。例如,建置一個8階濾波器,大約64位元組就已足夠;而FIR濾波器則恰恰相反,一個FIR濾波器提供與IIR濾波器相同的反應,需要耗用350位元組的資料記憶體,但在需要線性相位反應(linear-phase response)時,FIR濾波器的應用卻相當關鍵。但若把濾波器係數擺放在程式記憶體,就可減少一半的消耗量。


步驟6:在嵌入型系統中執行濾波器

dsPIC Filter Design軟體有一個程式碼產生器選項,能建立一個原始檔,儲存濾波器各項係數。此外,包含C語言呼叫的IIR與FIR濾波函數的原始檔能置入設計者的開發環境。除了這些檔案外,還需要一個C語言編譯程式、In-circuit除錯器、以及一個研發板,在晶片上執行設計出的濾波器功能。


轉移至數位濾波器的工作,已持續不斷地簡化。市面上有許多免費與低成本的PC版開發工具,讓設計者能在數分鐘內設計與模擬濾波器,以及產生程式碼。此外,它們能模擬微處理器的16位元操作。現今的數位訊號控制器都具備類比與系統整合功能,並能在轉移至數位濾波器時,提供極具吸引力的方案。


---作者為Microchip數位訊號控制器部門資深應用工程師---


相關文章
為嵌入式系統注入澎湃動力 開啟高效能新紀元
碳化矽電子保險絲展示板提升電動汽車電路保護效能
軟體定義大勢明確 汽車乙太網路應用加速前進
落實工業4.0 為移動機器人部署無線充電技術
安全需求持續增加 嵌入式系統設計要有新思維
comments powered by Disqus
相關討論
  相關新聞
» Microchip支援NIDIA Holoscan感測器處理平台加速即時邊緣AI部署
» 艾邁斯歐司朗全新UV-C LED提升UV-C消毒效率
» Microchip第九屆台灣技術精英年會已開放報名
» ASM攜手清大設計半導體製程模擬實驗 亮相國科會「科普環島列車」
» TIE未來科技館閉幕 揭曉兩項競賽獎得主


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.18.191.238.60
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw