新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于SoPC的FIR濾波器設(shè)計(jì)與實(shí)現(xiàn)

基于SoPC的FIR濾波器設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2015-01-06 來(lái)源:網(wǎng)絡(luò) 收藏

  0 引言

本文引用地址:http://butianyuan.cn/article/267759.htm

  數(shù)字濾波(idgital filter)是由數(shù)字乘法器、加法器和延時(shí)單元組成的一種計(jì)算方法。其功能是對(duì)輸入離散信號(hào)的數(shù)字代碼進(jìn)行運(yùn)算處理,以達(dá)到改變信號(hào)頻譜的目的。數(shù)字濾波器根據(jù)頻域特性可分為低通、高通、帶通和帶阻4個(gè)基本類型;根據(jù)時(shí)域特性可分為無(wú)限脈沖響應(yīng)(infinite impulse response,IIR)濾波器和有限脈沖響應(yīng)(finite impulse response,F(xiàn)IR)濾波器。不存在穩(wěn)定性和是否可實(shí)現(xiàn)的問(wèn)題,容易做到線性相位,故在數(shù)據(jù)通信、圖像處理等領(lǐng)域廣泛應(yīng)用。

  目前,的硬件實(shí)現(xiàn)有以下幾種方式:一種是使用通用數(shù)字濾波器集成電路,這種電路使用簡(jiǎn)單,但是由于字長(zhǎng)和階數(shù)的規(guī)格較少,不易完全滿足實(shí)際需要;雖然可采用多片擴(kuò)展來(lái)滿足要求,但會(huì)增加體積和功耗,因而在實(shí)際應(yīng)用中受到限制。另一種是使用DSP芯片,DSP芯片有專用的數(shù)字信號(hào)處理函數(shù)可調(diào)用,實(shí)現(xiàn)相對(duì)簡(jiǎn)單,但是由于程序順序執(zhí)行,速度受到限制。而且,就是同一公司不同系統(tǒng)的DSP芯片,其編程指令也會(huì)有所不同,開(kāi)發(fā)周期較長(zhǎng)。還有一種是使用可編程邏輯器件,如FPGA(field programmable gate array),即現(xiàn)場(chǎng)可編程門陣列,有著規(guī)整的內(nèi)部邏輯塊整列和豐富的連線資源,特別適合用于細(xì)粒度和高并行度結(jié)構(gòu)的FIR濾波器實(shí)現(xiàn),相對(duì)于串行運(yùn)算主導(dǎo)的通用DSP芯片來(lái)說(shuō),并行性和可擴(kuò)展性都更好。

  本文介紹一種基于的FIR濾波器設(shè)計(jì)方案,設(shè)計(jì)流程如圖l所示。該設(shè)計(jì)方法程序簡(jiǎn)單,調(diào)試方便,得到的FIR濾波器精確度高。

  

設(shè)計(jì)流程圖

 

  1 FIR濾波器原理

  FIR數(shù)字濾波器是一種非遞歸系統(tǒng),其沖激響應(yīng)總是有限長(zhǎng)的,其系統(tǒng)函數(shù)可以記為:

公式
,最基本的FIR濾波器可用下式表示
公式
是輸入采樣序列;h(m)是濾波器系數(shù);N是濾波器的階數(shù);y(n)表示濾波器的輸出序列。也可以用卷積來(lái)表示輸出序列y(n)與x(n),h(n)的關(guān)系:

 

  y(n)=x(n)*h(n)

  圖2顯示了一個(gè)典型的直接T型3階FIR濾波器,其輸出序列y(n)滿足下列等式:

  

公式

 

  在該FIR濾波器中,總共存在3個(gè)延時(shí)結(jié),4個(gè)乘法單元,1個(gè)4輸入的加法器。如果采用普通的數(shù)字信號(hào)處理器(DSP)來(lái)實(shí)現(xiàn),只能用串行的方式順序地執(zhí)行延時(shí)、乘加操作,不可能在1個(gè)DSP處理器指令周期內(nèi)完成,必須用多個(gè)指令周期來(lái)完成。但如果采用FPGA來(lái)實(shí)現(xiàn),就可以采用并行結(jié)構(gòu),在1個(gè)時(shí)鐘周期內(nèi)得到1個(gè)FIR濾波器的輸出。不難發(fā)現(xiàn),圖2的電路結(jié)構(gòu)是一種流水線結(jié)構(gòu),這種結(jié)構(gòu)在硬件系統(tǒng)中有利于并行高速運(yùn)行。

  

直接T型3階FIR濾波器

 

  2 FIR濾波器的實(shí)現(xiàn)

  Altera提供的FIR Complier是結(jié)合Altera FPGA器件的FIR Filter Core,DSP Builder與FIR Compiler可以緊密結(jié)合起來(lái)。DSP Builder提供了FIR Core的應(yīng)用環(huán)境和仿真驗(yàn)證環(huán)境。

  2.1 建立模型文件

  為了調(diào)用FIR IP Core,在環(huán)境中新建模型文件,放置Sigtlal Compiler模塊和FIR模塊。啟動(dòng)的方法:打開(kāi)Matlab,在主命令窗口直接鍵入,按回車即可。然后打開(kāi)Altera DSP Builder模塊,在MegaCore FuncTIons調(diào)出fir_compiler_v7_0。

  2.2 配置FIR濾波器核

  雙擊模型中的FIR模塊,在彈出來(lái)的選擇窗口中有:關(guān)于這個(gè)核(about this core)、程序說(shuō)明書(shū)(documentation)、顯示元件(display symb01)、步驟1確定參數(shù)(Stepl:Parameterize)和步驟2生成(Step2:Generate)等4個(gè)不同的選項(xiàng)。點(diǎn)擊stepl,便打開(kāi)了FIR濾波器核的參數(shù)設(shè)置窗口,如圖3所示。

  

FIR濾波器核的參數(shù)設(shè)置窗口

 

  由圖3可見(jiàn),濾波器的系數(shù)精度為32位,器件為CycloneⅢ,結(jié)構(gòu)為并行濾波器,結(jié)構(gòu)選擇了1級(jí)流水線,濾波器由LC邏輯宏單元構(gòu)成,系數(shù)數(shù)據(jù)存于FPGA的M9K模塊中,1個(gè)輸入通道,32位有符號(hào)并行輸入,全精度數(shù)據(jù)輸出。設(shè)定后會(huì)直接顯示濾波器的頻率響應(yīng)(frequency res-ponse)或時(shí)域響應(yīng)及系數(shù)值(timeresponse & coefficeient values)。由其頻率響應(yīng)圖可以看出,此FIR濾波器為低通濾波器。如果不符合設(shè)計(jì)要求,則可以通過(guò)對(duì)Edit Coefficient Set選項(xiàng),對(duì)濾波器進(jìn)行重新配置。

濾波器相關(guān)文章:濾波器原理


濾波器相關(guān)文章:濾波器原理


低通濾波器相關(guān)文章:低通濾波器原理


電源濾波器相關(guān)文章:電源濾波器原理


高通濾波器相關(guān)文章:高通濾波器原理
數(shù)字濾波器相關(guān)文章:數(shù)字濾波器原理

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: SoPC FIR濾波器 Simulink

評(píng)論


相關(guān)推薦

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

關(guān)閉