




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真文 - 副本 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 1 緒論 本章主要論述該課題的研究意義,目前在世界上的發(fā)展情況,以及我在這篇論文中所用到的主要的設(shè)計(jì)方法與設(shè)計(jì)工作。 1.1 課題研究的意義 許多工程領(lǐng)域都涉及到如何能在強(qiáng)背景的噪聲信號(hào)和干擾信號(hào)中提取到真正的信號(hào)。如:遙感和遙測系統(tǒng),通信系統(tǒng),雷達(dá)系統(tǒng),航天系統(tǒng)等,這就要求有信號(hào)的濾波。濾波器的帶寬等性能,處理速度的要求隨著現(xiàn)在對(duì)高速,寬帶,實(shí)時(shí)信號(hào)處理的要求越來越高,也隨之提高。系統(tǒng)的穩(wěn)定性和后續(xù)信號(hào)的處理受濾波器的性能好壞程度影響常大。1 1.2 國內(nèi)外研究動(dòng)態(tài) 1.2.1 數(shù)字信號(hào)處理的
2、發(fā)展動(dòng)態(tài) 一般可以用兩類方法來實(shí)現(xiàn)FIR濾波器的設(shè)計(jì)。 一類通過軟件來設(shè)計(jì)實(shí)現(xiàn),使用常見的電腦語言如高層次的C / C + +跟 MATLAB語言。此方法用于教學(xué)或算法仿真。但是采用軟件的方法不能實(shí)現(xiàn)實(shí)時(shí)性。 目前可以通過以下幾種方式在硬件中來實(shí)現(xiàn),。 一種是使用可編程的主要數(shù)學(xué)單位是一個(gè)乘法累加器(MAC)的通用DSP芯片編程。實(shí)時(shí)數(shù)字信號(hào)能夠?qū)崿F(xiàn)高速的處理,是因?yàn)?MAC在一臺(tái)機(jī)器時(shí)鐘周期就能完成乘法累加操作,同時(shí)在硬件上還輔助與不同的流水結(jié)構(gòu)和哈佛架構(gòu)。然而,在應(yīng)用時(shí)受到了限制,是由于硬件結(jié)構(gòu)和流水結(jié)構(gòu)是固定不變的。 一種是使用專用的ASIC數(shù)字信號(hào)處理芯片。這種方法是芯片尺寸小,高性能
3、,保密性好。其缺點(diǎn)是一個(gè)單一功能的芯片,多是針對(duì)一定的功能而設(shè)計(jì),靈活性不夠。 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 另一種方法是使用可編程邏輯器件(FPGA / CPLD)。 FPGA所具有得可編程邏輯的靈活性突破了流水線結(jié)構(gòu)和并行處理的局限性,可以很好的實(shí)現(xiàn)實(shí)時(shí)信號(hào)處理功能。研發(fā)過程中它的可移植性更好,可以縮短開發(fā)周期。211 1.2.2 FIR數(shù)字濾波器的FPGA實(shí)現(xiàn) 使用FPGA技術(shù)設(shè)計(jì)的FIR數(shù)字濾波器在目前通常采用的是乘法器結(jié)構(gòu)和分布式算法結(jié)構(gòu)。 乘法器結(jié)構(gòu),有乘累加結(jié)構(gòu)與并行乘法器結(jié)構(gòu)兩種形式。乘累加結(jié)構(gòu)是最簡單的一種,占用資源少,缺點(diǎn)是處理速度慢;并行乘法器結(jié)構(gòu)比較復(fù)雜,
4、但是如果能夠加上流水結(jié)構(gòu),信號(hào)就能夠?qū)崿F(xiàn)高速的處理,但是它還是會(huì)受到處理速度和數(shù)量的限制。 分布式算法(DA)的,是將固定系數(shù)乘法 - 累加運(yùn)算轉(zhuǎn)換成了查找表的運(yùn)算從而巧妙地利用了ROM查找表,避免了乘法的運(yùn)算。巧妙運(yùn)用查找表可以在 很大程度上提高運(yùn)算速度和插入流水結(jié)構(gòu)。因?yàn)樗皇且粋€(gè)簡單的加法運(yùn)算。 分布式算法(DA),可以分為串行分布式算法,并行分布式算法,串行與并行結(jié)合的分布式算法。串行分布式算法,它占用的資源很少,結(jié)構(gòu)也相對(duì)簡單,但就是還不能擁有很高的處理速度;并行的分布式并行算法擁有更加整齊的結(jié)構(gòu),主要用于需要高速處理的情況;串行與并行結(jié)合的分布式算法,占用資源大,也多用于對(duì)速度要求
5、高的場合。在不同的情況下,各種算法的處理效果是不同的,要根據(jù)對(duì)處理速度的不同要求選擇不同的算法。 無論是采用哪種算法,都會(huì)用到ROM做為查找表的器件。FIR濾波器的階數(shù)增加,就會(huì)使得ROM的數(shù)目不斷的增加,所占用的資源也不斷的增加,到目前為止沒有一個(gè)有效的方式,可以將ROM的數(shù)量跟ROM的規(guī)模減少。211 1.3 本課題研究方法和主要工作 首先介紹了數(shù)字濾波器的基本概念,然后介紹了FIR濾波器的相關(guān)理論。最后從實(shí)際應(yīng)用設(shè)計(jì)出發(fā)提出一個(gè)FIR濾波器設(shè)計(jì)流程,包括濾波器結(jié)構(gòu)的選擇、濾波器的系數(shù)計(jì)算、系數(shù)的量化等,按照此流程即能設(shè)計(jì)出滿足實(shí)際性能需求的數(shù)字濾波器。根據(jù)FIR濾波器的功能模塊的劃分,描
6、述了各個(gè)功能模塊的具體設(shè)計(jì),給出其仿真波形,并通過Quartus進(jìn)行了仿真驗(yàn)證。 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 (1) 采用8輸入查找表進(jìn)行分布式算法,設(shè)計(jì)了一個(gè)輸入8位,輸出8位的256階線性相位FIR濾波器,簡化了傳統(tǒng)的MAC設(shè)計(jì)。 (2) 各模塊參數(shù)獨(dú)立于濾波器的結(jié)構(gòu),有較強(qiáng)的通用性,適于模塊化設(shè)計(jì)。 (3) 利用VHDL設(shè)計(jì),可重復(fù)配置FPGA,系統(tǒng)易于維護(hù)和擴(kuò)展。 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 2 FPGA技術(shù)以及Xilinx Virtex IIFPGA芯片 2.1 FPGA發(fā)展基本概況 現(xiàn)場可編程門陣列FPGA是一種廣泛使用的高密度可編程邏輯器件。20世
7、紀(jì)80年代賽靈思公司推出了第一個(gè)FPGA,除了賽靈思外,Actel,Altera公司,QuickLogic公司和其他公司也生產(chǎn)FPGA產(chǎn)品。 FPGA布線由單位的可編程邏輯陣列構(gòu)成,用可編程I / O單元陣列包圍,分隔的資源構(gòu)成了整個(gè)芯片。邏輯單元陣列布線通道連結(jié)在一起,以達(dá)到一定的邏輯功能。一個(gè)FPGA由豐富的快速邏輯門結(jié)構(gòu),寄存器和I / O組成。 按照編程功能,有反熔絲的一次性可編程的靜態(tài)存儲(chǔ)器(SRAM)結(jié)構(gòu)。賽靈思的FPGA基于靜態(tài)存儲(chǔ)單元,SRAM的查找表類型,在互連關(guān)系的模式下,也可以再次在設(shè)備中加載和修改。電源掉電后,存儲(chǔ)的程序可能會(huì)丟失,因此每次你都要把程序配置到芯片中去。
8、Actel的ACT系列和QuickLogic為一次性可編程熔絲類型的PASIC系列FPGA。 自1985年以來,賽靈思公司推出了第一片現(xiàn)場可編程邏輯器件后的有近20多年的發(fā)展過程中,F(xiàn)PGA的集成技術(shù)已經(jīng)取得了令人矚目的發(fā)展:現(xiàn)場可編程邏輯器件從最初的可用的1200個(gè)門發(fā)展到25萬個(gè),再在20世紀(jì)90年代發(fā)展到幾十萬,甚至數(shù)百萬的單FPGA芯片,現(xiàn)場可編程器件集成達(dá)到了一個(gè)新的水平。 2001年,賽靈思Virtex II,其容量可高達(dá)800萬個(gè)系統(tǒng)邏輯。賽靈思Virtex II系列FPGA的Virtex,Spartan的Virtex-E,在Spartan-2后的LUT(查找表)的高端平臺(tái)FPG
9、A系列芯片,該芯片的選擇RAM塊的內(nèi)部整合,采用18位x 18位乘法器和其他硬件資源。時(shí)鐘DLL控制DCM的技術(shù),頻率高達(dá)420MHz。支持的LVDS,PCI,TTL,AGP,CMOS和其它IO接口標(biāo)準(zhǔn)。后續(xù)又推出了以IBM PowerPC為基礎(chǔ)的Virtex II結(jié)構(gòu),低端的900納米工藝的Spartan-3,和即將推出的Virtex-4系列的具有嵌入式DSP功能的Virtex II Pro。1 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 2.2 Virtex II系列FPGA結(jié)構(gòu)及特點(diǎn) 2.2.1 Virtex-II系列FPGA概述 Virtex II FPGA是第一個(gè)基于FPGA,具有
10、IP浸入式結(jié)構(gòu)的平臺(tái)。它具有400008000000個(gè)系統(tǒng)邏輯門而且它的I / O帶寬高達(dá)840Mb / s,它的內(nèi)部時(shí)鐘高達(dá)420MHz。設(shè)計(jì)人員可以更加容易地集成軟件和硬件IP核;Virtex-II器件包含多達(dá)12個(gè)時(shí)鐘管理器(數(shù)字時(shí)鐘管理器DCM),可以在允許范圍內(nèi)的任何頻率的時(shí)鐘信號(hào)產(chǎn)生,并提高時(shí)鐘邊沿配置(時(shí)鐘邊沿位置)的準(zhǔn)確性,因此,下降到百分之一的錯(cuò)誤。此外,高性能時(shí)鐘管理電路,每個(gè)Virtex-II器件有16個(gè)預(yù)先設(shè)計(jì)的低偏移時(shí)鐘網(wǎng)絡(luò)(低偏移時(shí)鐘網(wǎng)絡(luò)),省去了復(fù)雜的高性能設(shè)計(jì)的時(shí)鐘樹分析的需要。此外,賽靈思可控阻抗技術(shù)(XCITE)使用兩個(gè)外部參考電阻保持?jǐn)?shù)百個(gè)I / O引腳的
11、輸入和輸出阻抗匹配,不僅可以減少電路板上的電阻數(shù)量,大大降低了系統(tǒng)成本,還能減少的概率電路板重新繞組(重不同自旋),簡化電路板布局,提高了系統(tǒng)的穩(wěn)定性。Virtex-II還支持片上和片外時(shí)鐘同步,并維持精確的50/50占空比。DCI技術(shù)的應(yīng)用,可避免不同的驅(qū)動(dòng)力,溫度,電壓波動(dòng)造成的差異,仍然保持一個(gè)穩(wěn)定的阻抗。有加密功能,以充分保護(hù)的安全設(shè)計(jì)。應(yīng)用安全三重?cái)?shù)據(jù)加密標(biāo)準(zhǔn)(DES)算法編碼加密密鑰加密算法,此功能,可以提高安全性的設(shè)計(jì),以避免設(shè)計(jì)被竊取。靈活的邏輯資源。高性能的外部存儲(chǔ)器接口,支持CAM,QDR RAM,F(xiàn)CRAM,SDR / DDR等存儲(chǔ)方式。有168個(gè)專用的18位x 18位乘
12、法器和快速進(jìn)位邏輯鏈。支持多輸入功能,有一個(gè)內(nèi)部三態(tài)總線,擁有的SelectIO技術(shù),支持多種IO標(biāo)準(zhǔn),支持多種編程模型。支持并口,串口。具有靈活的開發(fā)環(huán)境。211 2.2.2的Virtex-IIFPGA結(jié)構(gòu) 各種可編程的單位,主要用于高密度和高性能的邏輯設(shè)計(jì),Virtex-II系列FPGA可編程邏輯塊(可配置邏輯塊CLB)的組成,如圖3-1所示,由SelectRAM塊,乘法器,全局時(shí)鐘緩沖器和一個(gè)可編程的IOB組成。 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 圖2-1 Virtex II系列FPGA結(jié)構(gòu)圖 2.2.2.1 Virtex-II FPGA的可編程邏輯模塊CLB 每一個(gè)可編程邏輯
13、塊由四片三態(tài)緩沖器組成。每片包含多個(gè)算術(shù)邏輯門,2個(gè)存儲(chǔ)單元,兩個(gè)函數(shù)發(fā)生器(FG公司),超快速前進(jìn)位鏈。函數(shù)發(fā)生器(FG公司)為一個(gè)十六位分布式SelectRAM存儲(chǔ)器編程,或四輸入查找表或十六位的移位寄存器。兩個(gè)存儲(chǔ)單元可以編程為電平觸發(fā)鎖存或邊沿觸發(fā)的D觸發(fā)器?;窘Y(jié)構(gòu)如圖2-2所示。 圖2-2 CLB內(nèi)部結(jié)構(gòu)圖 2.2.2.2 Virtex II FPGA的時(shí)鐘資源 Virtex II FPGA具有十六個(gè)時(shí)鐘輸入引腳,底部有八個(gè),另外八個(gè)在位于中間的邏輯陣列芯片上的頂部。適當(dāng)?shù)呐鋫渑c之相對(duì)應(yīng)的十六個(gè)全局時(shí)鐘復(fù)用器 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 緩沖區(qū)。分配給每個(gè)全局時(shí)鐘緩
14、沖器時(shí)鐘引腳時(shí)鐘信號(hào),可由全局時(shí)鐘緩沖器來支持差分對(duì)驅(qū)動(dòng)程序,直接驅(qū)動(dòng)到每個(gè)設(shè)備。與此同時(shí),也可由DCM的驅(qū)動(dòng)器分配到每個(gè)設(shè)備的時(shí)鐘信號(hào)。具體如下圖所示: 圖2-3 時(shí)鐘分配結(jié)構(gòu)圖 數(shù)字時(shí)鐘管理器有一個(gè)強(qiáng)大的功能叫時(shí)鐘管理功能,具有頻率合成器,相移等特性。無偏的相位輸出時(shí)鐘和輸入時(shí)鐘信號(hào),可以消除時(shí)鐘分配延遲。頻率合成器,可以得到高精度相移輸出的相移。211 2.3 本章小結(jié) 本章詳細(xì)的說明了Virtex II系列FPGA的結(jié)構(gòu)和特點(diǎn),并簡要介紹了FPGA技術(shù)的發(fā)展。通過對(duì)本章知識(shí)的掌握,對(duì)基于FPGA技術(shù)的下一個(gè)過濾器設(shè)計(jì)奠定了堅(jiān)實(shí)的基礎(chǔ)。 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 3 F
15、IR數(shù)字濾波器設(shè)計(jì) 3.1 FIR數(shù)字濾波器概述 信號(hào)中一般都包含噪聲或者說其中有很多能量在感興趣的最高頻率之外,因此我們要用濾波電路將感興趣的帶寬之外的信號(hào)和噪聲移去。數(shù)字濾波器是數(shù)字信號(hào)處理中使用最廣泛的一種線性系統(tǒng)環(huán)節(jié),圖3.1給出了一個(gè)具有模擬輸入信號(hào)和輸出信號(hào)的實(shí)時(shí)數(shù)字濾波器的簡化框圖。這個(gè)模擬信號(hào)被周期地抽樣,且轉(zhuǎn)化成一系列數(shù)字x(n)(n=0,1,)。數(shù)字濾波器依據(jù)濾波器的計(jì)算算法,執(zhí)行濾波運(yùn)算、把輸入系列x(n)映射到輸出系列y(n)。DAC把數(shù)字濾波后的輸出轉(zhuǎn)化成模擬值,這些模擬值接著被模擬濾波器平滑,并且消去不需要的高頻分量。 圖3.1實(shí)時(shí)數(shù)字濾波器的簡化框圖 在信號(hào)處理中
16、,為了防止采樣過程中的混疊現(xiàn)象,必須在A/D轉(zhuǎn)換之前使用低通濾波器,把1/2采樣頻率以上的信號(hào)衰減掉。如圖3.2 所示,在A/D轉(zhuǎn)換前,加入一個(gè)低通濾波器,這樣,經(jīng)過戶A/D轉(zhuǎn)換之后,有效地避免了混疊現(xiàn)象的發(fā)生,從而保證了后續(xù)數(shù)字處理的正常進(jìn)行。 圖3.2 抗混疊濾波器的作用 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 3.2 FIR數(shù)字濾波器理論 FIR濾波器的數(shù)學(xué)表達(dá)式可用K階卷積來表示: y(n)?h(k)?x(n?k) ( 31) k?0k?1 其中: K:FIR濾波器的抽頭數(shù); h(k):第k級(jí)抽頭系數(shù)(單位脈沖響應(yīng)); x(n?k):延時(shí)k個(gè)抽頭的輸入信號(hào)。 卷積是DSP使用最頻繁
17、的一種運(yùn)算,描述系統(tǒng)的輸入如何與系統(tǒng)相互作用產(chǎn)生輸出,通常來說,系統(tǒng)的輸出將是輸入的延遲、衰減或者放大。上圖描述的兩個(gè)序列卷積的例子。其中,x(n)是輸入序列,h(n)是單位脈沖響應(yīng),y(n)是系統(tǒng) y?n?h?k?x?n?k? k?02對(duì)輸入序列x(n)的響應(yīng),卷積的數(shù)值即y(n)只可以由式只 得到。 算 3.3 FIR數(shù)字濾波器的具體設(shè)計(jì)內(nèi)容 濾波器的實(shí)現(xiàn)主要包括兩方面的內(nèi)容,首先選擇一個(gè)合理的結(jié)構(gòu),然后利用有限精度的數(shù)值來實(shí)現(xiàn)它。之所以要利用有限精度數(shù)值實(shí)現(xiàn)濾波器,是因?yàn)閷?shí)際的濾波器系數(shù)只能用有限的二進(jìn)制位數(shù)來表示,就涉及到系數(shù)的字長問題。 3.3.1濾波器的結(jié)構(gòu) FIR濾波器的單位脈沖
18、響應(yīng)h(k)均為實(shí)數(shù),在幅度上只要滿足下列兩個(gè)條件之一,就能構(gòu)成線性相位FIR濾波器。式( 32)稱為第一類線性相位的幅度條件(偶對(duì)稱),式( 33)稱為第二類線性相位的幅度條件(奇對(duì)稱)。 h(n)?h(k?1?n) ( 32) h(n)?h(k?1?n) ( 33) FIR濾波器最基本的結(jié)構(gòu)是直接型,如圖3.3所示??梢钥闯?,F(xiàn)IR濾波器是由一個(gè)“抽頭延遲線”的加法器和乘法器的集合構(gòu)成,每個(gè)乘法器的操作數(shù)就是 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 一個(gè)FIR系數(shù)。對(duì)于每次采樣,只y(n)都要進(jìn)行K次連續(xù)的乘法和(K-1)次加法操作。 圖3.3直接型FIR濾波器結(jié)構(gòu)圖 由于FIR濾波器
19、具有線性相位的對(duì)稱屬性,因此可以只采用一半的系數(shù)降低所需要乘法器的數(shù)量,如圖3.4所示(圖(a)為偶對(duì)稱,圖(b)為偶對(duì)稱)??梢钥闯觥皩?duì)稱”結(jié)構(gòu)的乘法器是直接結(jié)構(gòu)(圖3.3)的一半(K/2),得到了優(yōu)化,但加法器的數(shù)量保持不變,還是(K-1)個(gè)。 圖3.4(a)簡化乘法器數(shù)量的線性相位偶對(duì)稱FIR濾波器結(jié)構(gòu)圖 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 圖3.4(b)簡化乘法器數(shù)量的線性相位奇對(duì)稱FIR濾波器結(jié)構(gòu)圖 此外,F(xiàn)IR濾波器的結(jié)構(gòu)還有級(jí)聯(lián)型和格型,這兩種結(jié)構(gòu)可以獲得較高的靈敏度,但較少采用,主要原因是:第一,對(duì)大多數(shù)線性相位FIR濾波器來說,由于零點(diǎn)在Z平面內(nèi)或多或少是均勻鋪開的,
20、從而使濾波器對(duì)系數(shù)量化誤差的靈敏度很低;第二,無論系數(shù)量化誤差多大,采用直接型結(jié)構(gòu)都能獲得準(zhǔn)確的線性相位。 因此,本設(shè)計(jì)選用直接型結(jié)構(gòu),這種結(jié)構(gòu)實(shí)現(xiàn)簡單,要求的器件少,數(shù)據(jù)存儲(chǔ)不復(fù)雜,且充分利用FIR濾波器的脈沖響應(yīng)系數(shù)對(duì)稱性的優(yōu)點(diǎn)來降低濾波器實(shí)現(xiàn)的計(jì)算復(fù)雜性。 3.3.2 濾波器系數(shù)的計(jì)算 目前,F(xiàn)IR濾波器的主要設(shè)計(jì)方法是建立在對(duì)理想濾波器頻率特性做某種近似的基礎(chǔ)上的,這些近似方法有窗函數(shù)法、頻率抽樣法和最佳一致法。其中,窗函數(shù)法是一種基本的設(shè)計(jì)方法,其設(shè)計(jì)方法較為成熟,本設(shè)計(jì)即采用窗函數(shù)法,下面先簡要介紹其設(shè)計(jì)思想。 窗函數(shù)設(shè)計(jì)的基本原理是:從所要求的理想濾波器的頻率響應(yīng)Hd(ejw)出
21、發(fā),經(jīng)過反傅立葉變換導(dǎo)出hd(n) hd(n)?H?e?e?jwd?jwndw ( 34) 由于hd(n)的無限長,所以要對(duì)其進(jìn)行加窗處理,以得到滿足要求的單位脈沖響應(yīng)h(n) h?n?w?n?hd(n) ( 35) 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 已經(jīng)認(rèn)可并發(fā)表的窗函數(shù)的數(shù)量非常多,最常用的窗函數(shù)(用w(n)表示)基本參數(shù)如表3.1所示10。 表 3.1四種窗函數(shù)基本參數(shù) 從表 3.1可以看出,一旦窗函數(shù)選定,過渡帶寬和最小阻帶衰減也隨著確定,不可改變,究竟選擇哪一種窗函數(shù)來實(shí)現(xiàn)本設(shè)計(jì)呢?本人參考了以下選擇原則: (1)具有較低的旁瓣幅度,尤其是第一旁瓣幅度; (2)旁瓣幅度下降
22、速度要大,以利增加阻帶衰減; 通常以上兩點(diǎn)很難同時(shí)滿足。當(dāng)選擇主瓣寬度較窄時(shí),雖然得到較陡的過渡帶,但通帶和阻帶的波動(dòng)明顯增加;當(dāng)選用最小的旁瓣幅度時(shí),雖能得到均勻光滑的幅度響應(yīng)和較小阻帶波動(dòng),但過渡帶加寬。因此,實(shí)際選用的窗函數(shù)往往是它們的折中。在保證主瓣寬度達(dá)到一定要求的條件下,適當(dāng)犧牲主瓣寬度來換取旁瓣波動(dòng)的減少。 本設(shè)計(jì)采用的設(shè)計(jì)方案是:設(shè)計(jì)一個(gè)輸入8位,輸出8位的256階線性相位FIR濾波器,F(xiàn)s為44kHz,F(xiàn)c為10.4kHz,采用直接型、奇對(duì)稱結(jié)構(gòu)方式,選擇海明窗完成,其輸入信號(hào)范圍為:99,0,0,0, 70,0,0,0, 99,0,0,0, 70,利用MATLAB設(shè)計(jì)計(jì)算濾
23、波器系數(shù)如下: FIR濾波器參數(shù)設(shè)置,因?yàn)槭?56階,所以Specify order處填255,h(0)=0,如圖3.5所示。 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 圖3.5 FIR濾波器參數(shù)設(shè)置 FIR濾波器系數(shù)如下圖3.6所示。 圖3.6FIR濾波器系數(shù) 經(jīng)過計(jì)算,得到附錄圖B(a)為脈沖響應(yīng)波形圖,圖附錄圖B(b)為其幅頻特性曲線,圖附錄圖B(c)為相頻特性曲線。從幅頻特性曲線中可以看出該濾波器的性能參數(shù)達(dá)到了要求;從相頻特性曲線來看,曲線通過原點(diǎn)處為一條直線,說明具有線性相位特性。 3.3.3濾波器系數(shù)量化 本系統(tǒng)將采用FPGA實(shí)現(xiàn),但FPGA只適合處理二進(jìn)制的整數(shù),因此就存在一
24、個(gè)將小數(shù)轉(zhuǎn)換為有限位二進(jìn)制整數(shù)的問題,即有限字長問題,用有限字長來表示輸入和輸出信號(hào)、濾波器系數(shù)以及算術(shù)運(yùn)算的結(jié)果。在這種情況下,需要分析量化對(duì)濾波器性能的影響。本系統(tǒng)為硬件實(shí)現(xiàn),僅分析量化后單位脈沖響應(yīng)系數(shù)的有限字長對(duì)性能的影響。用直接形式設(shè)計(jì)的低通FIR濾波器,采用四舍五入量化系數(shù)使之整數(shù)化如圖3.7。 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 圖3.7 濾波器系數(shù)量化 量化后可得FIR濾波器的參數(shù)為: -12 -18 13 29 -13 -52 14 162 242 162 14 -52 -13 29 13 -18 -12 3.3.4 設(shè)計(jì)步驟 根據(jù)以上分析,濾波器的理論設(shè)計(jì)部分可以概
25、括為以下5個(gè)步驟,用圖2.5加以總結(jié)說明: (1)規(guī)范設(shè)計(jì)要求 這一步驟包括濾波器類型(如低通濾波器)的確定,期望的幅度和相位響應(yīng)和可接受的容差,以及確定抽樣頻率和輸入數(shù)據(jù)的字長。 (2)濾波器系數(shù)的計(jì)算 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 采用matlba等輔助工具,確定滿足第一步所要求技術(shù)規(guī)范的傳遞函數(shù)H(z)的系數(shù)。 (3)實(shí)現(xiàn)結(jié)構(gòu)的選擇 用一個(gè)適當(dāng)?shù)慕Y(jié)構(gòu)(直接型、格型和級(jí)聯(lián)型)來表示濾波器的實(shí)現(xiàn)結(jié)構(gòu)。 (4)有限字長效應(yīng)分析 分析濾波器系數(shù)和輸入數(shù)據(jù)量化的影響,以及用固定字長執(zhí)行濾波的運(yùn)算對(duì)濾波器性能的影響,最后確定滿足性能要求的系數(shù)和輸入數(shù)據(jù)的字長。 (5)用軟件/硬件來實(shí)現(xiàn)
26、 包括選擇硬件和編寫程序并執(zhí)行該濾波,然后進(jìn)行實(shí)際系統(tǒng)的測試以驗(yàn)證其是否達(dá)到設(shè)計(jì)要求。 圖3.8 數(shù)字濾波器的設(shè)計(jì)步驟 3.4本章小結(jié) 這一章首先介紹了數(shù)字濾波器的基本概念,然后介紹了FIR濾波器的相關(guān)理 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 論。最后從實(shí)際應(yīng)用設(shè)計(jì)出發(fā)提出一個(gè)FIR濾波器設(shè)計(jì)流程,包括濾波器結(jié)構(gòu)的選擇、濾波器的系數(shù)計(jì)算、系數(shù)的量化等,按照此流程即能設(shè)計(jì)出滿足實(shí)際性能需求的數(shù)字濾波器。 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 4 FIR數(shù)字濾波器的FPGA設(shè)計(jì)及仿真 本章采用VHDL語言,利用FPGA的查找表結(jié)構(gòu),完成了一個(gè)基于分布式算法的256階FIR低通數(shù)字濾波器
27、的程序設(shè)計(jì)。在設(shè)計(jì)中采用模塊化、參數(shù)化設(shè)計(jì)方法,簡化了設(shè)計(jì)過程,并將設(shè)計(jì)結(jié)果進(jìn)行了仿真驗(yàn)證。 4.1 FIR數(shù)字濾波器分布式算法的基本原理 分布式算法(Distributed Arithmetic, DA)是1973年由Crosier提出來的,后來Peled和Liu進(jìn)行了推廣工作,直到現(xiàn)場可編程門陣列(FPGA)的查找表(Look Up Table LUT)結(jié)構(gòu)的出現(xiàn),這種方法才受到重視,其主要原理如下。 為了分析簡單起見,將FIR濾波器的表達(dá)式改寫為: y?hk?xk k?0k-1 (41) ?h0?x0?h1?x1?h2?x2?hk?1?xk?1 xk?xkb?2b,xkb?0,1? b?
28、0B?1設(shè),其中Xkb表示Xk中的第b位,xk即x的第k 次采樣,則y可以表示為: y?h?xk k?0b?0k?1B?1kb (42) 重新分別求和,其結(jié)果可表示成如下形式: y?2?hb b?0k?0B?1k?1k?xkb (43) 可以看出,分布式算法是一種以實(shí)現(xiàn)乘加運(yùn)算為目的的運(yùn)算方法,與傳統(tǒng)的乘累加不同在于執(zhí)行部分積運(yùn)算的先后順序不同,這個(gè)過程可用圖4.1的結(jié)構(gòu)來實(shí)現(xiàn),可以看出,該算法可以利用一個(gè)查找表(LUT)實(shí)現(xiàn)映射,即2K字寬(即2K行),預(yù)先編好程序的LUT接受一個(gè)k位輸入量xb=x0bx1bx(k-1)b的映射, 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 經(jīng)查找表的查找后
29、直接輸出部分積table_out(b)?hk?xkb k?0k?1,算法中的乘法以位 權(quán)2b可以通過圖中的寄存器和累加器完成,在K次循環(huán)后完成計(jì)算結(jié)束。這個(gè)過程共進(jìn)行了B次查找和B次累加15。 y?y/2?table_out(b)?2B?1 ( 44) 位移寄存器 圖4.1 DA算法結(jié)構(gòu)圖 4.2 FPGA設(shè)計(jì)流程 確定了濾波器的實(shí)現(xiàn)方案后,就可以借助FPGA來設(shè)計(jì)了。FPGA設(shè)計(jì)是指利用EDA軟件(Altera公司的Max+plus、Quartus等)和編程工具對(duì)器件進(jìn)行開發(fā)的過程。本設(shè)計(jì)是在Quartus開發(fā)平臺(tái)上進(jìn)行的,F(xiàn)PGA的設(shè)計(jì)流程如圖4.2所示。 基于FPGA的FIR數(shù)字濾波器的
30、設(shè)計(jì)及仿真 圖4.2 FPGA設(shè)計(jì)流程 1. 設(shè)計(jì)準(zhǔn)備 按照設(shè)計(jì)需求,進(jìn)行方案確定和器件選擇工作。在第三章已經(jīng)確定了FIR濾波器的實(shí)現(xiàn)方案,鑒于實(shí)現(xiàn)這一方案要用到查找表結(jié)構(gòu),所以選擇了具備查找表結(jié)構(gòu)的FLEX 10K元器件。 2. 設(shè)計(jì)輸入 設(shè)計(jì)者將所設(shè)計(jì)的系統(tǒng)或電路以開發(fā)軟件要求的某種形式表現(xiàn)出來,并送入計(jì)算機(jī)的過程稱為設(shè)計(jì)輸入。設(shè)計(jì)輸入通常有原理圖輸入方式、硬件描述語言輸入方式和波形輸入方式三種方式,在本設(shè)計(jì)中采用硬件描述語言輸入方式,即VHDL輸入方式。 3. 設(shè)計(jì)處理 這是器件設(shè)計(jì)中的核心環(huán)節(jié)。在設(shè)計(jì)處理過程中,編譯軟件將對(duì)設(shè)計(jì)輸入文件進(jìn)行邏輯化簡、綜合和優(yōu)化,并適當(dāng)?shù)赜靡黄蚨嗥骷?/p>
31、自動(dòng)進(jìn)行適配,最后產(chǎn)生編程用的編程文件。設(shè)計(jì)處理包括語法檢查和設(shè)計(jì)規(guī)則檢查、邏輯優(yōu)化和綜合、適配和分割、布局和布線及生成編程數(shù)據(jù)文件等七個(gè)步驟。 4. 器件編程 對(duì)FPGA來說是將位流數(shù)據(jù)文件“配置”到FPGA中去,這樣,配置的芯片就能夠執(zhí)行所設(shè)計(jì)的系統(tǒng)的功能。 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 4.3 FIR濾波器各功能模塊的具體實(shí)現(xiàn) FPGA有著規(guī)整的內(nèi)部邏輯陣列和豐富的連線資源,特別適合于數(shù)字信號(hào)處理任務(wù),相對(duì)于串行運(yùn)算為主導(dǎo)的通用DSP芯片來說,其并行性和可擴(kuò)展性更好,更適合FIR濾波器的設(shè)計(jì)。 4.3.1 FIR濾波器的總體結(jié)構(gòu) 設(shè)計(jì)的FIR濾波器可以分為以下三種模塊:寄存
32、器模塊、加法器模塊、乘法器模塊。 4.3.2寄存器模塊 對(duì)模塊進(jìn)行邏輯設(shè)計(jì)時(shí),采用了VHDL文本輸入方式。 VHDL語言的一個(gè)基本設(shè)計(jì)單元是由實(shí)體說明(ENTITY Declaration)和構(gòu)造體說明(ARCHITECTURE Body)兩部分構(gòu)成,對(duì)端口的定義以及對(duì)參數(shù)的說明都包含在實(shí)體(ENTITY)部分,設(shè)計(jì)時(shí)將移位寄存器命名為dff8。寄存器用于寄存一組二值代碼,對(duì)寄存器的觸發(fā)器只要求它們具有置1、置0的功能即可,在CP正跳沿前接受輸入信號(hào),正跳沿時(shí)觸發(fā)翻轉(zhuǎn),正跳沿后輸入即被封鎖。 此模塊程序如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;
33、 ENTITY dff8 IS GENERIC (width_1:integer:=7; width_2:integer:=7; PORT( clk : IN STD_LOGIC; clear : IN STD_LOGIC; Din : IN STD_LOGIC_VECTOR(width_1 DOWNTO 0); Dout : OUT STD_LOGIC_VECTOR(width_2 DOWNTO 0) ); END dff8; ARCHITECTURE a OF dff8 IS BEGIN 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 PROCESS(clk,clear) BEGIN IF c
34、lear=1 THEN Dout<=00000000; ELSIF clear=0 THEN IF(clkEVENT AND clk=1) THEN Dout <= Din; END IF; END IF; END PROCESS; END a; 程序中的前兩句是庫和包集合說明,語句IEEE是程序中要用到的庫。從語句“ENTITY dff8 IS”開始到“END dff8”為止是實(shí)體說明語句,在實(shí)體說明中定義了3個(gè)輸入端口和1個(gè)輸出端口,這個(gè)輸入分別是時(shí)鐘信號(hào)clk、清零信號(hào)clear、輸入信號(hào)Din、;輸出信號(hào)Dout。std_logic、std_logic_vector是IEE
35、E定制的標(biāo)準(zhǔn)化數(shù)據(jù)類型。在dff8模塊的實(shí)體說明中又定義了2個(gè)參數(shù),width_1是輸入信號(hào)的寬度,width_2是輸出信號(hào)的寬度;2個(gè)參數(shù)的數(shù)據(jù)類型均為整數(shù)類型,后面的數(shù)據(jù)是對(duì)參數(shù)賦予的值,改變這個(gè)值就修改了參數(shù)。從語句“ARCHITECTURE a OF dff8 IS”到“END a”是對(duì)構(gòu)造體的描述,它對(duì)模塊內(nèi)部的功能進(jìn)行了說明。 設(shè)計(jì)的dff8模塊的邏輯符號(hào)如圖4.3所示。 圖4.3 dff8模塊的邏輯符號(hào) 寄存器的波形仿真如圖4.4所示。 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 圖4.4寄存器的波形仿真 在CP正跳沿前接受輸入信號(hào),正跳沿時(shí)觸發(fā)翻轉(zhuǎn),正跳沿后輸入即被封鎖,仿真結(jié)
36、果表明dff8模塊的功能完全正確。 4.3.3 加法器模塊 在將兩個(gè)多位二進(jìn)制數(shù)相加時(shí),除了最低位以外,每一位都應(yīng)該考慮來自低位的進(jìn)位,即將兩個(gè)對(duì)應(yīng)位的加數(shù)和來自低位的進(jìn)位3個(gè)數(shù)相加。這種運(yùn)算稱為全加,所用的電路稱為全加器。 多位加法器的構(gòu)成有兩種方式:并行進(jìn)位和串行進(jìn)位。并行進(jìn)位加法器設(shè)有進(jìn)位產(chǎn)生邏輯,預(yù)算速度較快;串行進(jìn)位方式是將全加器級(jí)聯(lián)構(gòu)成多位加法器。并行進(jìn)位加法器通常比串行級(jí)聯(lián)加法器占用更多的資源。隨著為數(shù)的增加,相同位數(shù)的并行加法器與串行加法器的資源占用差距也越來越大,因此,在工程中使用加法器時(shí),要在速度和容量之間尋找平衡點(diǎn)。 本次設(shè)計(jì)采用的是并行加法器方式。實(shí)現(xiàn)兩個(gè)二進(jìn)制數(shù)字的相
37、加運(yùn)算。當(dāng)?shù)竭_(dá)時(shí)鐘上升沿時(shí),將兩數(shù)輸入,運(yùn)算,輸出結(jié)果。 此模塊程序如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_arith.ALL; ENTITY add121616 is GENERIC ( add_1:integer:=11; add_2:integer:=15; add_3:integer:=15; PORT(clk : in STD_LOGIC; Din1 :in signed (add_1 downto 0); Din2 :in signed (add_2 downto 0); Dout:out
38、signed (add_3 downto 0); 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 END add121616; ARCHITECTURE a of add121616 is SIGNAL s1: signed(add_3 downto 0); BEGIN s1<=(Din1(add_1)&Din1(add_1)&Din1(add_1)&Din1(add_1)&Din1); PROCESS(Din1,Din2,clk) BEGIN if clkevent and clk =1 then Dout<=s1+Din2; end if; end
39、process; end a; 程序中的前三句是庫和包集合說明,語句IEEE是程序中要用到的庫。從語句“ENTITY add121616 IS”開始到“END add121616”為止是實(shí)體說明語句,在add121616模塊功能的實(shí)體說明程序段中定義了4個(gè)端口, 4個(gè)端口中包含1個(gè)時(shí)鐘信號(hào),2個(gè)信號(hào)輸入端口,1個(gè)信號(hào)輸出端口。add_1是輸入信號(hào)Din1的寬度,shift_2是輸入信號(hào)Din2的寬度,add_3是輸出信號(hào)Dout的寬度;3個(gè)參數(shù)的數(shù)據(jù)類型均為整數(shù)類型,后面的數(shù)據(jù)是對(duì)參數(shù)賦予的值,改變這個(gè)值就修改了參數(shù)。從語句“ARCHITECTURE a OF add121616 IS”到“E
40、ND a”是對(duì)構(gòu)造體的描述,它對(duì)模塊內(nèi)部的功能進(jìn)行了說明。 設(shè)計(jì)的add121616的邏輯符號(hào)如下圖4.5所示。 圖4.5寄存器的邏輯符號(hào) 模塊仿真波形如下圖4.6所示。 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 圖4.6寄存器的波形仿真 當(dāng)?shù)竭_(dá)時(shí)鐘上升沿時(shí),將兩數(shù)輸入,運(yùn)算,輸出結(jié)果,仿真結(jié)果完全符合設(shè)計(jì)要求。 4.3.4乘法器模塊 從資源和速度考慮,常系數(shù)乘法運(yùn)算可用移位相加來實(shí)現(xiàn)。將常系數(shù)分解成幾個(gè)2的冪的和形式。 下例為乘18電路設(shè)計(jì),算法:18=16+2,實(shí)現(xiàn)輸入帶符號(hào)數(shù)據(jù)與固定數(shù)據(jù)兩個(gè)二進(jìn)制數(shù)的乘法運(yùn)算。當(dāng)?shù)竭_(dá)時(shí)鐘上升沿時(shí),將兩數(shù)輸入,運(yùn)算,輸出結(jié)果。 此模塊程序如下: LIBR
41、ARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_arith.all; ENTITY mult18 is GENERIC ( mult_1:=8; mult_2:=12; mult_3:=9; mult_4:=12); PORT ( clk : IN STD_LOGIC; Din : IN SIGNED (mult_1 DOWNTO 0); Dout : OUT SIGNED (mult_2 DOWNTO 0); END mult18; ARCHITECTURE a OF mult18 IS SIGNAL s1 : SIGNED
42、 (mult_1 DOWNTO 0); SIGNAL s2 : SIGNED (mult_3 DOWNTO 0); 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 SIGNAL s3 : SIGNED (mult_4 DOWNTO 0); BEGIN P1:process(Din) BEGIN s1(mult_1 DOWNTO 4)<=Din; s1( 3 DOWNTO 0)<=0000; s2(mult_3 DOWNTO 1)<=Din; s2(0)<=0; if Din(8)=0 then s3<=(0&s1(mult_4 downto 1)+(0000&
43、amp;s2(mult_3 DOWNTO 1); else s3<=(1&s1(mult_4 downto 1)+(1111&s2(mult_3 DOWNTO 1); end if; end process; P2: PROCESS(clk) BEGIN if clkevent and clk=1 then Dout<=s3; end if; END PROCESS; END a; 程序中的前三句是庫和包集合說明,語句IEEE是程序中要用到的庫。從語句“ENTITY mult18 IS”開始到“END mult18”為止是實(shí)體說明語句,在mult18模塊功能的實(shí)體說
44、明程序段中定義了3個(gè)端口, 3個(gè)端口中包含1個(gè)時(shí)鐘信號(hào),1個(gè)信號(hào)輸入端口,1個(gè)信號(hào)輸出端口。Mult_1是輸入信號(hào)Din的寬度,mult_2是輸出信號(hào)Dout的寬度, 2個(gè)參數(shù)的數(shù)據(jù)類型均為整數(shù)類型,后面的數(shù)據(jù)是對(duì)參數(shù)賦予的值,改變這個(gè)值就修改了參數(shù)。從語句“ARCHITECTURE a OF f_mult18 IS”到“END a”是對(duì)構(gòu)造體的描述,它對(duì)模塊內(nèi)部的功能進(jìn)行了說明。本模塊實(shí)現(xiàn)輸入帶符號(hào)數(shù)據(jù)與固定數(shù)據(jù)兩個(gè)二進(jìn)制數(shù)的乘法運(yùn)算。設(shè)計(jì)的mult18 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 邏輯符號(hào)圖4.7所示。 圖4.7乘法模塊mult18邏輯符號(hào) 乘法器模塊的波形仿真如圖4.8所
45、示。 圖4.8乘法模塊仿真波形 當(dāng)?shù)竭_(dá)時(shí)鐘上升沿時(shí),將兩數(shù)輸入,運(yùn)算,輸出結(jié)果,仿真結(jié)果完全符合設(shè)計(jì)要求。 4.4 FIR濾波器整體電路 1)設(shè)定輸入信號(hào) 根據(jù)設(shè)計(jì)要求,輸入信號(hào)范圍是: 99,0,0,0, 70,0,0,0, 99,0,0,0, 70, 我們?nèi)我庠O(shè)定輸入信號(hào)為: X99,0,0,0,70,0,0,0,99,0,0,0,70,0,0,0,99,0,0,0,70,0,0,0,99,0,0,0,70,0,0,0 2)輸出信號(hào)理論值 由FIR數(shù)字濾波器的公式 y?n?h?i?x?n?i? i?0N?1N/2?1i?0?h?i?s?n?i? FIR濾波器整體電路仿真結(jié)果如圖4.9所示。
46、 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 圖4.9 FIR濾波器整體電路仿真波形 仿真結(jié)果與輸出信號(hào)理論值的比較如下: 由上面仿真波形可以讀出結(jié)果經(jīng)比較,仿真結(jié)果與輸出信號(hào)理論值完全吻合。且波形基本沒有毛刺,設(shè)計(jì)完全符合設(shè)計(jì)要求。 4.5 本章小結(jié) FIR濾波器的功能模塊的劃分,描述了各個(gè)功能模塊的具體設(shè)計(jì),并給出其仿真波形。通過Quartus的仿真驗(yàn)證,可以得到以下結(jié)論: (1) 采用8輸入查找表進(jìn)行分布式算法,設(shè)計(jì)了一個(gè)輸入8位,輸出8位的256階線性相位FIR濾波器,簡化了傳統(tǒng)的MAC設(shè)計(jì)。 (2) 各模塊參數(shù)獨(dú)立于濾波器的結(jié)構(gòu),有較強(qiáng)的通用性,適于模塊化設(shè)計(jì)。 (3) 利用VHDL
47、設(shè)計(jì),可重復(fù)配置FPGA,系統(tǒng)易于維護(hù)和擴(kuò)展。 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 5結(jié)論 隨著科學(xué)技術(shù)的發(fā)展,以FPGA為代表的新型可編程邏輯器件,具有靈活性、高速、高可靠性的特點(diǎn),采用FPGA來實(shí)現(xiàn)FIR濾波器具有一定的先進(jìn)性。FPGA的DSP解決方案為數(shù)字信號(hào)處理開創(chuàng)了新的領(lǐng)域,使得構(gòu)造的數(shù)字信號(hào)處理系統(tǒng)能夠保持基于軟件解決方案的靈活性又能接近ASIC的性能,為設(shè)計(jì)人員開辟了廣闊、自由的發(fā)展空間,具有很好的應(yīng)用前景16-17。本文的主要工作如下: (1) 闡述了選題背景、研究的目的和意義與國內(nèi)外研究狀況,以FIR濾波器的基本理論為依據(jù),探討適應(yīng)工程實(shí)際的數(shù)字濾波器的設(shè)計(jì)方法。 (
48、2) 對(duì)分布式算法進(jìn)行了一些的討論,在闡述算法原理的基礎(chǔ)上,分析了利用FPGA特有的查找表結(jié)構(gòu)完成這一運(yùn)算的方法,解決了常系數(shù)乘法運(yùn)算硬件實(shí)現(xiàn)問題。 (3) 設(shè)計(jì)了一個(gè)FIR低通濾波器,說明FIR數(shù)字濾波器的具體實(shí)現(xiàn)方法,采用模塊化、參數(shù)化的設(shè)計(jì)思想,對(duì)整個(gè)FIR濾波器的功能模塊進(jìn)行了劃分,以及各個(gè)功能模塊的具體設(shè)計(jì)與波形仿真。 本文的主要結(jié)論如下: (1) 數(shù)字濾波器具有穩(wěn)定性好、精度高、工作頻率范圍廣、體積小、功耗低等的優(yōu)點(diǎn),有限沖激響應(yīng)(FIR)數(shù)字濾波器因其具有嚴(yán)格的線性相位特性而得到廣泛應(yīng)用。 (2) 分布式算法是實(shí)現(xiàn)常系數(shù)乘累加運(yùn)算的高效方法,利用FPGA的查找表結(jié)構(gòu),能綜合考慮系
49、統(tǒng)的運(yùn)行速度的要求。 (3) 可編程門陣列發(fā)展日新月異,除了運(yùn)行速度大大提高,采用嵌入式處理器核(如aletar的nios軟核和ARM硬核),高達(dá)10M字節(jié)的片上存儲(chǔ)器,千兆位級(jí)的串行收發(fā)器、硬連線的乘法器(如Viertxll嵌入的18位乘法器能提供高達(dá)六千億次的乘法累加次數(shù))等。通過在大規(guī)??删幊唐骷星度敫咝阅芴幚砥?、存儲(chǔ)器和高速FO,F(xiàn)PGA很快就進(jìn)化為可編程系統(tǒng)器件。 本人認(rèn)真進(jìn)行了本課題的研究并完成了本論文,由于時(shí)間和水平有限,沒有 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 制作出實(shí)際電路來進(jìn)行濾波效果測試,而且論文中可能出現(xiàn)錯(cuò)誤和不足之處,敬請(qǐng)大家批評(píng)指正。 基于FPGA的FIR
50、數(shù)字濾波器的設(shè)計(jì)及仿真 參考文獻(xiàn) 1 李文剛. 基于FPGA的高速高階FIR濾波器設(shè)計(jì)D. 電子科技大學(xué)碩士學(xué)位論文,2005. 2 李彬. FIR數(shù)字濾波器的FPGA實(shí)現(xiàn)技術(shù)研究D. 西南交通大學(xué)碩士學(xué)位論文,2007. 3 武曉春. FIR數(shù)字濾波器的MATLAB設(shè)計(jì) J. 甘肅科技縱橫, 2005,34(1): 2122. 4 雷學(xué)堂, 徐火希. 基于MATLAB的FIR數(shù)字高通濾波器分析和設(shè)計(jì) J. 長春大學(xué)學(xué)報(bào), 2006,16(5):3437. 5 賈宇然, 李紅霞, 應(yīng)建華, 鄒雪城. 一種用于光盤伺服控制系統(tǒng)的通用濾波器的設(shè)計(jì)J. 電子技術(shù)應(yīng)用, 2003,29(4):4246
51、. 6 冉茂華. 基于DSP的FIR數(shù)字濾波器的設(shè)計(jì)D. 武漢理工大學(xué)碩士學(xué)位論文, 2006. 7 任愛鋒,初秀琴,常存,等基于FPGA的嵌入式系統(tǒng)設(shè)計(jì)M,西安:西安電子科技大學(xué)出版社,2004 8 張維良,郭興渡,潘長勇高速FIR濾波器的流水線結(jié)構(gòu)電視技術(shù),2002。 (2):5760. 9 王新剛,楊家瑋. 李建東,基于FPGA高效實(shí)現(xiàn)FIR濾波器的研究J,西安電子科技大學(xué)信息科學(xué)研究所,2006. 10 趙金憲,吳三,王乃飛.基于FPGA并行分布式算法的FIR濾波器的實(shí)現(xiàn) M,(黑龍江科技學(xué)院電氣與信息工程學(xué)院,哈爾濱,2007.6 11 潘松,黃繼業(yè),王國棟現(xiàn)代DSP技術(shù)西安:西安電
52、子科技大學(xué)出版社,2003:163186 12 Hartley RSub expression Sharing in Filters Using Canonic Signed Digital MultiplierJ,IEEE Transactions on Circuits and Systems II,1996,30(10):67788 13 Goodman D J,Carry M JNine Digital Filters for Decimation and 基于FPGA的FIR數(shù)字濾波器的設(shè)計(jì)及仿真 InterpolationJIEEE Transactions on Acoustics。Speech and Signal Processing,1997,25(2)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)殖出租轉(zhuǎn)讓合同范本
- 云南省監(jiān)理聘用合同范本
- 北碚區(qū)運(yùn)輸合同范本
- 興業(yè)快遞轉(zhuǎn)讓合同范本
- 北京入職合同范本
- 農(nóng)資農(nóng)藥購銷合同范本
- 農(nóng)莊合作期間轉(zhuǎn)讓合同范本
- 公司雇傭個(gè)人合同范本
- 出貨貨期合同范本
- 價(jià)稅分開合同范本
- PEP六年級(jí)上冊(cè)英語unit1
- 接納與承諾(ACT)療法課件
- 裝配式混凝土建筑技術(shù)標(biāo)準(zhǔn)
- 房地產(chǎn)公司銷售管理部賞罰制度
- 《方位介詞介紹》課件
- 甲狀腺術(shù)后出血搶救流程
- 個(gè)人購買家具合同
- 國際救生設(shè)備規(guī)則
- 第三方檢查應(yīng)對(duì)措施方案
- 2020年財(cái)產(chǎn)保險(xiǎn)公司部門職責(zé)和崗位說明書
- 抽水臺(tái)班記錄表
評(píng)論
0/150
提交評(píng)論