新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于56F8O13 DSP的FIR濾波器的設(shè)計

基于56F8O13 DSP的FIR濾波器的設(shè)計

作者: 時間:2009-08-05 來源:網(wǎng)絡(luò) 收藏

  0 引言

  數(shù)字濾波器是一種用來過濾時間離散信號的數(shù)字系統(tǒng),通過對抽樣數(shù)據(jù)進(jìn)行數(shù)學(xué)處理來達(dá)到頻域。濾波的目的。根據(jù)其單位沖激響應(yīng)函數(shù)的時域特性可分為兩類:無限沖激響應(yīng)(IIR)濾波器和有限沖激響應(yīng)(FIR)濾波器。與IIR濾波器相比,只有零點,除原點外.在z平面上沒有極點,因此總是穩(wěn)定的和可實現(xiàn)的;更重要的是,在滿足一定的對稱條件下,可以獲得嚴(yán)格的線性相位特性,這一點是IIR濾波器難以實現(xiàn)的。因此。它在高保真的信號處理.如數(shù)字音頻、圖像處理、數(shù)據(jù)傳輸、生物醫(yī)學(xué)等領(lǐng)域得到廣泛應(yīng)用。

  1 基本結(jié)構(gòu)

  FIR濾波器的數(shù)學(xué)表達(dá)式為:

公式

  式中:N為FIR濾波器的抽頭數(shù);x(n)為第n時刻的輸入樣本;h(i)為FIR濾波器第i級抽頭系數(shù)。

  其相應(yīng)的z變換為:

公式

  式中:z-i為N-1階多項式。

  普通的直接型FIR濾波器結(jié)構(gòu)如圖1所示。

普通的直接型FIR濾波器結(jié)構(gòu)

  在自適應(yīng)處理、數(shù)據(jù)通信等領(lǐng)域中往往要求信號在傳輸過程中不能有明顯的相位失真,F(xiàn)IR濾波器可以做到線性相位滿足此要求。F1R濾波器實質(zhì)上是一個分節(jié)的延遲線,把每一節(jié)的輸出加權(quán)累加,得到濾波器的輸出。對于FIR濾波器的單位脈沖響應(yīng)h(i)只要滿足以下2個條件之一,則為線性相位濾波器。

公式

  線性相位的FIR濾波器具有中心對稱的特性,其對稱中心在N/2處。

公式

  (2)由性能指標(biāo)確定窗函數(shù)w(n)和窗口長度N

  (3)求得實際濾波器的單位脈沖響應(yīng)h(n)

公式

  (4)檢驗濾波器性能。

  設(shè)計常用的窗函數(shù)有矩形窗、漢寧窗、海明窗、凱撒窗等。其中:海明窗的旁瓣峰值小于主瓣峰值的1%,99.963%的能量集中在主瓣內(nèi).且通過海明窗設(shè)計的FIR濾波器在較少的階數(shù)下可以得到較小通帶紋波,非常適合工程設(shè)計,所以本設(shè)計選擇海明窗實現(xiàn)。

  3 利用QEDesign Lite設(shè)計FIR濾波器

  根據(jù)窗函數(shù)設(shè)計的FIR濾波器的單位脈沖響應(yīng).h(n)有多種輔助工具進(jìn)行求取,如:MATLAB的FDATool、SPTool和NI的Digital Fliter Design Toolkit等,在此.我們使用了FreeScale開發(fā)環(huán)境Codewarrior8.O自帶的QEDesignlite濾波器設(shè)計工具箱進(jìn)行FIR濾波器單位脈沖響應(yīng)h(n)的求解。

  利用QE Design lite濾波器設(shè)計工具箱,可快速進(jìn)行IIR濾波器、基于窗函數(shù)FIR濾波器和等紋波FIR濾波器的低通、高通、帶通和帶阻設(shè)計。并根據(jù)設(shè)計參數(shù),自動生成濾波器的幅頻響應(yīng)、相頻響應(yīng)、群延時、沖擊響應(yīng)和單位階躍響應(yīng),以及生成單位脈沖響應(yīng)h(n)的*.h文件和該FIR濾波器使用示例C文件,以方便后續(xù)設(shè)計。其主要設(shè)計步驟如下:

  (1)運(yùn)行程序QEDesign lite,選擇菜單項“DesignI FIRWindows Design……”:

  (2)在彈出的“FIR(Windows)Design”窗體中,選擇“l(fā)owpass”選項;

  (3)在“Lowpass Filter”窗體中,輸入FIR濾波器的設(shè)計指標(biāo):采樣頻率=20000 Hz、通帶頻率=5000 Hz、阻帶頻率=6000 Hz、通帶紋波=O.01 dB和阻帶紋波=40 dB.如圖2所示;

FIR濾波器設(shè)計參數(shù)

  (4)確定采用的窗函數(shù)類型及階數(shù)(本例采用hamming窗.階數(shù)為27階);

  (5)根據(jù)設(shè)定的FIR濾波器參數(shù),即可得到該FIR濾波器的幅頻響應(yīng)圖、對數(shù)幅頻響應(yīng)圖、相頻響應(yīng)圖、群延時圖、沖擊響應(yīng)圖和單位階躍響應(yīng)圖,可直觀的觀察設(shè)計是否滿足要求.如果不滿足設(shè)計要求,可重復(fù)步驟3)、4),直至滿足設(shè)計要求為止。本FIR濾波器的幅頻響應(yīng)圖、對數(shù)幅頻響應(yīng)圖見圖3、圖4;

本FIR濾波器的幅頻響應(yīng)圖

本FIR濾波器的對數(shù)幅頻響應(yīng)圖

  (6)設(shè)計的FIR濾波器滿足要求后,選擇菜單項“Code-Gen|FreeScale|DPS56800/DPS56800E”,導(dǎo)出基于16位定點數(shù)的單位脈沖響應(yīng)h(n)的*.h文件,用于后續(xù)的工程設(shè)計。

  4 基于 的設(shè)計實現(xiàn)

  是FreeScale推出的基于56F800E內(nèi)核的低價位、低功耗的16位,它具有I2C、SPI、UART、ADC、QEI等外部接口,具有在片硬件調(diào)試接口,可進(jìn)行32位整數(shù)、36位整數(shù)加分?jǐn)?shù)運(yùn)算,配合CodeWarrior開發(fā)環(huán)境非常適合于嵌入式開發(fā)。

  Processor Expert(PE)是由捷克UNIS公司開發(fā)的針對FreeScale單片機(jī)和DSP的嵌入式軟件開發(fā)包.它集成在CodeWarrior開發(fā)環(huán)境中。Processor Expert提供了連接、生成嵌入式系統(tǒng)的硬件、接口和算法的驅(qū)動,對CPU核、芯片集成接口、虛擬設(shè)備和純算法進(jìn)行了封裝(該封裝被稱為“Embedded Beans”),并把這些功能變成屬性、方法和事件,這與面向?qū)ο蟮某绦蛟O(shè)計方法是一樣的。用戶在進(jìn)行程序設(shè)計時,通過調(diào)用Processor Expert提供的各種Bean,可以方便的對DSP內(nèi)核、外部中斷、DSP的片上外設(shè)及程序所需的各種通用算法進(jìn)行設(shè)置.使用戶只需關(guān)注整個設(shè)計的創(chuàng)造性部分,而不是花費(fèi)大量時間讓芯片正常工作,大大提高了生產(chǎn)率。本文的FIR濾波器的實現(xiàn),就是基于Processor Expert的“DSP_Func_DFR”Bean和“DSP_MEM”Bean的。現(xiàn)將具體的設(shè)計過程描述如下:

  進(jìn)入CodeWarrior開發(fā)環(huán)境,選中菜單項“Processor Expertl| View| Bean Selector”,在彈出的“Bean Selector”窗口中,選中負(fù)責(zé)內(nèi)存管理的“DSP_MEM”Bean和負(fù)責(zé)數(shù)字信號處理的“DSP_Func_DFR”Beafl加入工程文件,將“DSP_Func_DFR”Bean中的“dfrl6FIRCreate”、“dfrl6FIR”和“dfrl6FIRDestroy”方法加入主程序。修改主程序如下:

程序

程序

  5 結(jié)束語

  本文介紹了基于CodeWarrior8.0軟件自帶的開發(fā)工具包QEDesign Lite和ProcessorExpert,快速進(jìn)行FIR濾波器窗函數(shù)設(shè)計的方法。通過軟件工具包的綜合運(yùn)用.大大縮減了設(shè)計研發(fā)的時間。在實際應(yīng)用中,可以通過對濾波器參數(shù)的修改.很容易地實現(xiàn)其他各種濾波器的設(shè)計,具有一定的工程設(shè)計參考價值。



關(guān)鍵詞: 56F8013 FIR濾波器 DSP

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉