版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于FPGA的FIR濾波器的程序設(shè)計(jì)摘 要本設(shè)計(jì)利用MATLAB軟件中MatlabFDAtool設(shè)計(jì)一個(gè)FIR低通濾波器,導(dǎo)出所設(shè)計(jì)濾波器的系數(shù),再利用Quartus軟件,Verilog語(yǔ)言編寫(xiě)程序。程序設(shè)計(jì)完成后在quartusII中實(shí)現(xiàn)功能仿真。線性相位是FIR數(shù)字濾波器設(shè)計(jì)中的一個(gè)重要條件。線性相位FIR濾波器的設(shè)計(jì)方法主要包括時(shí)窗函數(shù)法、頻率采樣法、等波紋最佳逼近法。本文基于MATLAB軟件,分別用這三種方法設(shè)計(jì)FIR低通濾波器,并進(jìn)行比較分析。為了驗(yàn)證FIR濾波器的性能, EDA技術(shù)的發(fā)展和大規(guī)模可編程邏輯器件的應(yīng)用,使得數(shù)字信號(hào)處理借助于FPGA實(shí)現(xiàn)變?yōu)榭赡堋榱藢?shí)現(xiàn)這一目標(biāo),本文
2、討論了FPGA器件的結(jié)構(gòu)、特點(diǎn)和分布式算法實(shí)現(xiàn)FIR濾波器的可行性,然后給出了基于并行分布式算法的FIR濾波器的VHDL描述,最后借助于EDA軟件QUARTUSII進(jìn)行了綜合和仿真,并取得了成功。在現(xiàn)代通信領(lǐng)域中,F(xiàn)IR數(shù)字濾波器以其良好的線性特性被廣泛使用,屬于數(shù)字信號(hào)處理的基本模塊之一。在實(shí)踐中,往往要求對(duì)信號(hào)處理有實(shí)時(shí)性和靈活性,而已有的一些軟件和硬件的實(shí)現(xiàn)方式則難以同時(shí)到達(dá)這兩方面的要求。隨著可編程邏輯器件和EDA技術(shù)的發(fā)展,使用FPGA來(lái)實(shí)現(xiàn)FIR濾波器,既具有實(shí)時(shí)性,又兼顧了一定的靈活性,越來(lái)越多的電子工程師采用FPGA器件來(lái)實(shí)現(xiàn)FIR濾波器。關(guān)鍵詞 線性相位/分布式算法/DSP
3、Builder /FIR數(shù)字濾波器1 緒論1.1 課題的目的和意義在當(dāng)今的生活中,身邊的工程技術(shù)領(lǐng)域越來(lái)越受到關(guān)注。其中的通信領(lǐng)域所涉及到的各種信號(hào)更是重中之重。如何在較強(qiáng)的背景的噪聲下和干擾的信號(hào)下有效提煉出真正的有用信號(hào)并將其真正運(yùn)用到實(shí)際的工程中,這正是信號(hào)處理要解決的問(wèn)題。上世紀(jì)60年代,數(shù)字信號(hào)處理在理論層上發(fā)展迅猛。其體系和框架逐漸成熟,如今,數(shù)字信號(hào)處理已經(jīng)成為一門(mén)完整的學(xué)科。其涉及到許多學(xué)科而又廣泛應(yīng)用于許多領(lǐng)域,20世紀(jì)60年代以來(lái),隨著計(jì)算機(jī)和信息技術(shù)的飛速發(fā)展,數(shù)字信號(hào)處理技術(shù)應(yīng)運(yùn)而生并得到迅速的發(fā)展。數(shù)字信號(hào)處理是一種通過(guò)使用數(shù)學(xué)技巧執(zhí)行轉(zhuǎn)換或提取信息,來(lái)處理現(xiàn)實(shí)信號(hào)的
4、方法,這些信號(hào)由數(shù)字序列表示。而數(shù)字濾波器在這門(mén)學(xué)科中占有很重要的地位。數(shù)字濾波器是一個(gè)離散時(shí)間系統(tǒng)(按預(yù)定的算法,將輸入離散時(shí)間信號(hào)要求的輸出離散時(shí)間信號(hào)的轉(zhuǎn)換為所特定功能裝置)。應(yīng)用數(shù)字濾波器處理模擬信號(hào)時(shí),首先須對(duì)輸入模擬信號(hào)進(jìn)行限帶、抽樣和模數(shù)轉(zhuǎn)換。數(shù)字濾波器輸入信號(hào)的抽樣率應(yīng)大于被處理信號(hào)帶寬的兩倍,其頻率響應(yīng)具有以抽樣頻率為間隔的周期重復(fù)特性,且以折疊頻率即1/2抽樣頻率點(diǎn)呈鏡像對(duì)稱(chēng)。為得到模擬信號(hào),數(shù)字濾波器處理的輸出數(shù)字信號(hào)須經(jīng)數(shù)模轉(zhuǎn)換、平滑。數(shù)字濾波器具有高精度、高可靠性、可程控改變特性或復(fù)用、便于集成等優(yōu)點(diǎn)。數(shù)字濾波器在語(yǔ)言信號(hào)處理、圖像信號(hào)處理、醫(yī)學(xué)生物信號(hào)處理以及其他應(yīng)
5、用領(lǐng)域都得到了廣泛應(yīng)用。它涉及到的領(lǐng)域很廣,如通信系統(tǒng),系統(tǒng)控制,生物醫(yī)學(xué)工程,機(jī)械振動(dòng),遙感遙測(cè),地質(zhì)勘探,故障檢測(cè),電力系統(tǒng),航空航天,自動(dòng)化儀器等。數(shù)字濾波器的好壞對(duì)相關(guān)的眾多工程技術(shù)領(lǐng)域影響很大,一個(gè)好的數(shù)字濾波器會(huì)有效的推動(dòng)眾多的工程技術(shù)領(lǐng)域改造和學(xué)科發(fā)展。所以對(duì)數(shù)字濾波器的工作原理,硬件結(jié)構(gòu)和實(shí)現(xiàn)方法進(jìn)行研究具有一定的意義。FPGA(FieldProgrammable Gate Array),即現(xiàn)場(chǎng)可編程門(mén)陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專(zhuān)用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編
6、程器件門(mén)電路數(shù)有限的缺FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個(gè)概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個(gè)部分。 現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)是可編程器件。與傳統(tǒng)邏輯電路和門(mén)陣列(如PAL,GAL及CPLD器件)相比,F(xiàn)PGA具有不同的結(jié)構(gòu),F(xiàn)PGA利用小型查找表(161RAM)來(lái)實(shí)現(xiàn)組合邏輯,每個(gè)查找表連接到一個(gè)D觸發(fā)器的輸入端,觸發(fā)器再來(lái)驅(qū)動(dòng)其他邏輯電路或驅(qū)動(dòng)I/O,由此構(gòu)成了即可實(shí)現(xiàn)組合邏輯功能又可實(shí)現(xiàn)時(shí)序邏輯
7、功能的基本邏輯單元模塊,這些模塊間利用金屬連線互相連接或連接到I/O模塊。FPGA的邏輯是通過(guò)向內(nèi)部靜態(tài)存儲(chǔ)單元加載編程數(shù)據(jù)來(lái)實(shí)現(xiàn)的,存儲(chǔ)在存儲(chǔ)器單元中的值決定了邏輯單元的邏輯功能以及各模塊之間或模塊與I/O間的聯(lián)接方式,并最終決定了FPGA所能實(shí)現(xiàn)的功能, FPGA允許無(wú)限次的編程. 1.2 FPGA技術(shù)的發(fā)展及應(yīng)用FPGA正處于高速發(fā)展時(shí)期,新型芯片的規(guī)模越大,成本也越來(lái)越低,低端的FPGA已逐步取代了傳統(tǒng)的數(shù)字元件,高端的FPGA將會(huì)成為今后競(jìng)爭(zhēng)的主流。自1985年問(wèn)世以來(lái),F(xiàn)PGA從集成電路與系統(tǒng)家族一個(gè)不起眼的小角色逐漸成為電子設(shè)計(jì)領(lǐng)域的重要器件。它極大地提高了設(shè)計(jì)靈活性并縮短了產(chǎn)品
8、上市時(shí)間,在通信、工業(yè)控制、航空領(lǐng)域中廣泛應(yīng)用。FPGA行業(yè)集中度很高,幾家美國(guó)公司掌握著行業(yè)的“制空權(quán)”。特別是在航空航天及軍工等特殊領(lǐng)域,美國(guó)等少數(shù)國(guó)家對(duì)先進(jìn)的技術(shù)保持封鎖。因此,發(fā)展國(guó)內(nèi)FPGA產(chǎn)業(yè)不是要不要的問(wèn)題,而是怎么發(fā)展的問(wèn)題。國(guó)內(nèi)IC企業(yè)介入FPGA的時(shí)間并不長(zhǎng),多數(shù)公司還處于學(xué)習(xí)階段。Altera公司和Xilinx公司為代表的FPGA廠商,除了在FPGA產(chǎn)品線上不斷推陳出新之外,也在不懈地提高開(kāi)發(fā)軟件的設(shè)計(jì)能力,他們的軟件產(chǎn)品在很多方面一點(diǎn)也不遜色于專(zhuān)業(yè)的EDA廠商,所以從這個(gè)角度來(lái)說(shuō),F(xiàn)PGA廠商也是EDA公司。這里的代表性產(chǎn)品就是Altera公司的Quartus II開(kāi)發(fā)
9、軟件和Xilinx公司的ISE開(kāi)發(fā)軟件。Altera的FPGA開(kāi)發(fā)工具已經(jīng)經(jīng)歷了四代。從最初的基于DOS的A+Plus,發(fā)展到Max+Plus,1991年推出基于Windows的開(kāi)發(fā)工具M(jìn)ax+Plus II。Max+Plus II在FPGA設(shè)計(jì)工具里是一個(gè)劃時(shí)代的產(chǎn)品,它提供了一種與結(jié)構(gòu)無(wú)關(guān)的圖形化設(shè)計(jì)環(huán)境,功能強(qiáng)大,使用方便。設(shè)計(jì)者無(wú)須精通器件內(nèi)部的復(fù)雜結(jié)構(gòu),而只需要使用自己熟悉的設(shè)計(jì)輸入工具(如原理圖或者HDL語(yǔ)言)把自己的設(shè)計(jì)輸入到計(jì)算機(jī)中,Max+Plus II就會(huì)自動(dòng)把這些設(shè)計(jì)轉(zhuǎn)換成最終結(jié)構(gòu)所需的格式,用戶只要把最后生成的配置數(shù)據(jù)通過(guò)下載電纜下載到芯片中,即完成了所有的工作。Qua
10、rtus II是Altera公司在2001年推出的第四代開(kāi)發(fā)工具,是一個(gè)集成化的多平臺(tái)設(shè)計(jì)環(huán)境,能夠直接滿足特定設(shè)計(jì)需要,在FPGA和CPLD設(shè)計(jì)各個(gè)階段都提供了工具支持,并為可編程片上系統(tǒng)(SOPC)提供全面的設(shè)計(jì)環(huán)境,是一個(gè)系統(tǒng)級(jí)的高效的EDA設(shè)計(jì)工具。而且,隨著器件結(jié)構(gòu)和性能的不斷提高,器件集成度的不斷擴(kuò)大,Altera始終能夠同步推出與之相適應(yīng)的開(kāi)發(fā)工具,滿足了設(shè)計(jì)者的要求,近年來(lái)一直保持著一年一個(gè)新版本的更新進(jìn)度。2 FPGA軟件設(shè)計(jì)工具Quartus IIAltera公司和Xilinx公司為代表的FPGA廠商,除了在FPGA產(chǎn)品線上不斷推陳出新之外,也在不懈地提高開(kāi)發(fā)軟件的設(shè)計(jì)能力
11、,他們的軟件產(chǎn)品在很多方面一點(diǎn)都不遜色于專(zhuān)業(yè)的EDA廠商,所以從這個(gè)角度來(lái)說(shuō),F(xiàn)PGA廠商也是EDA公司。這里的代表性產(chǎn)品就是Altera公司的Quartus II開(kāi)發(fā)軟件和Xilinx公司的ISE開(kāi)發(fā)軟件。Altera的FPGA開(kāi)發(fā)工具已經(jīng)經(jīng)歷了四代。從最初的基于DOS的A+Plus,發(fā)展到Max+Plus,1991年推出基于Windows的開(kāi)發(fā)工具M(jìn)ax+Plus II。Max+Plus II在FPGA設(shè)計(jì)工具里是一個(gè)劃時(shí)代的產(chǎn)品,它提供了一種和結(jié)構(gòu)無(wú)關(guān)的圖形化的設(shè)計(jì)環(huán)境,功能強(qiáng)大,使用方便。設(shè)計(jì)者無(wú)需精通器件內(nèi)部的復(fù)雜結(jié)構(gòu),而只需要使用自己熟悉的設(shè)計(jì)輸入工具把自己的設(shè)計(jì)輸入到計(jì)算機(jī)中,M
12、ax+Plus II就會(huì)自動(dòng)把這些設(shè)計(jì)轉(zhuǎn)換成最終結(jié)構(gòu)所需的格式,用戶只要把最后生成的配置數(shù)據(jù)通過(guò)下載電纜下載到芯片中,即完成了所有的工作。Quartus II是Altera公司在2001年推出的第四代開(kāi)發(fā)工具,是一個(gè)集成化的多平臺(tái)設(shè)計(jì)環(huán)境,能夠直接滿足特定的設(shè)計(jì)需要,在FPGA和CPLD設(shè)計(jì)各個(gè)階段都提供了工具支持,并為可編程片上系統(tǒng)(SOPC)提供全面的設(shè)計(jì)環(huán)境,是一個(gè)系統(tǒng)級(jí)的高效的EDA設(shè)計(jì)工具。而且,隨著器件結(jié)構(gòu)和性能的不斷提高,器件集成度的不斷擴(kuò)大,Altera始終能夠同步推出與之相適應(yīng)的開(kāi)發(fā)工具,滿足了設(shè)計(jì)者的要求,近年來(lái)一直保持這一年一個(gè)新版本的更新進(jìn)度。Altera公司的Quar
13、tus II軟件是一種集編輯,編譯,綜合,布局布線,仿真與器件編程于一體的集成設(shè)計(jì)環(huán)境。進(jìn)行設(shè)計(jì)仿真時(shí),既可以利用Quartus II軟件自己的仿真工具,也可以利用如ModelSim等第三方仿真工具。還可以與MATLAB和DSP Builder結(jié)合,進(jìn)行基于FPGA的DSP系統(tǒng)開(kāi)發(fā);使用內(nèi)嵌的SOPC Builder設(shè)計(jì)工具,配合Nios II IDE集成開(kāi)發(fā)環(huán)境,進(jìn)行基于Nios II軟核處理器的嵌入式系統(tǒng)開(kāi)發(fā)。 Quartus II軟件的設(shè)計(jì)流程遵循典型的FPGA設(shè)計(jì)流程,包括設(shè)計(jì)輸入,綜合,布局布線,時(shí)序分析,仿真驗(yàn)證,編程配置等設(shè)計(jì)步驟,以及與布局布線有關(guān)的功耗分析,調(diào)試,工程更改管理
14、,與時(shí)序分析和仿真驗(yàn)證有關(guān)的時(shí)序逼近。3 FIR數(shù)字濾波器設(shè)計(jì)3.1 FIR數(shù)字濾波器數(shù)字濾波器在數(shù)字信號(hào)處理中屬于預(yù)處理的部分,因而起著基礎(chǔ)性的作用,數(shù)字濾波器包括IIR和FIR數(shù)字濾波器。數(shù)字濾波器具有精度高、穩(wěn)定性好、靈活性強(qiáng)、不要求阻抗匹配,易于修改等特點(diǎn)。下面將首先介紹一下數(shù)字濾波器,然后重點(diǎn)討論FIR數(shù)字濾波器的設(shè)計(jì)原理和結(jié)構(gòu)。3.1.1 數(shù)字濾波器簡(jiǎn)介一個(gè)簡(jiǎn)單的數(shù)字濾波系統(tǒng)如圖3-1所示。圖中,x(t)為模擬信號(hào),經(jīng)過(guò)A/D轉(zhuǎn)換器后變?yōu)橐粋€(gè)有著先后順序的數(shù)字序列x(n)。然后x(n)通過(guò)數(shù)字濾波系統(tǒng)H(z),即得到數(shù)字濾波器的輸出y(n)。H(z)為該數(shù)字濾波系統(tǒng)的單位脈沖響應(yīng)h
15、(n)的Z變換,即: (3-1)若h(n)為無(wú)限長(zhǎng)序列,則得到的數(shù)字濾波器為IIR數(shù)字濾波器,又稱(chēng)遞歸濾波器;反之,若h(n)為有限長(zhǎng)序列,則得到的數(shù)字濾波器為FIR濾波器,也稱(chēng)非遞歸濾波器。一個(gè)線形時(shí)不變因果濾波器可表示為: (3-2)其中N為h(n)的長(zhǎng)度,即濾波器的長(zhǎng)度。濾波器的階數(shù)為N-1。圖3-1 數(shù)字濾波系統(tǒng) IIR濾波器主要是基于對(duì)模擬濾波器如巴特沃斯濾波器、橢圓濾波器等的幅頻響應(yīng)進(jìn)行逼近,而其相頻響應(yīng)是非線性的。IIR濾波器不同,F(xiàn)IR濾波器可以把相位特性設(shè)計(jì)成線性。這使得FIR數(shù)字濾波器在信號(hào)無(wú)失真?zhèn)鬏敗?shù)據(jù)通信、圖像傳輸與處理、語(yǔ)音信號(hào)處理等有線性相位要求的領(lǐng)域應(yīng)用廣泛。F
16、IR濾波器的優(yōu)點(diǎn)是軟硬件實(shí)現(xiàn)結(jié)構(gòu)簡(jiǎn)單,不用考慮系統(tǒng)的穩(wěn)定性問(wèn)題;缺點(diǎn)是實(shí)現(xiàn)較高性能的頻率響應(yīng)需要較高的濾波器階數(shù)。3.1.2 FIR數(shù)字濾波器由于線性相位FIR濾波器的廣泛應(yīng)用,本文將首先討論一下如何實(shí)現(xiàn)線性相位FIR濾波器。由式(3-2)將代入,得到: (3-3)為復(fù)數(shù),因此可以表示成如下形式: (3-4)式中,為實(shí)函數(shù),稱(chēng)為幅度特性函數(shù),為相位特性函數(shù)。 當(dāng)滿足: (3-5)為初始相位,為常數(shù)。該濾波器具有廣義的線性相位,將(3-5)式變換為: (3-6)由(3-6)式可知, 不為常量。這樣,當(dāng)不同頻率的信號(hào)通過(guò)該濾波器時(shí),便會(huì)產(chǎn)生相位的失真。不過(guò)通常較小,相比來(lái)說(shuō)小得多,由引起的相位失真
17、可忽略不計(jì)。在(3-5)式中,當(dāng)時(shí),為常量,這時(shí)濾波器有嚴(yán)格的線性相位,即對(duì)于不同頻率的信號(hào),通過(guò)該濾波器都有恒定的延遲,而不產(chǎn)生相位的失真。將式(3-3),(3-4),(3-5)聯(lián)立,可得 (3-7a) (3-7b)將(3-7a)式除以(3-7b)式,消去 ,得到: =0 (3-8)當(dāng)時(shí),式(3-8)變?yōu)椋?(3-9)觀察可知,若關(guān)于求和區(qū)間中心奇對(duì)稱(chēng),則(3-9)式成立。由于關(guān)于奇對(duì)稱(chēng),令關(guān)于偶對(duì)稱(chēng),則滿足關(guān)于求和區(qū)間中心奇對(duì)稱(chēng)的要求,即(3-9)式成立。 當(dāng)時(shí),式(3-8)變?yōu)? (3-10)若關(guān)于奇對(duì)稱(chēng),關(guān)于偶對(duì)稱(chēng),則(3-10)式成立。 基于的對(duì)稱(chēng)不同和長(zhǎng)度N的奇偶區(qū)別,線性相位FI
18、R數(shù)字濾波器的幅度頻率特性有所不同,因而所實(shí)現(xiàn)的濾波器的功能有所不同,具體如表3-1所示。第三列為能夠?qū)崿F(xiàn)的濾波器的性能。表3-1 四種類(lèi)型的線性相位濾波器I型N為奇數(shù)低通、帶通、高通、帶阻II型N為偶數(shù)低通、帶通III型N為奇數(shù)帶通IV型N為偶數(shù)帶通、高通3.1.3 FIR數(shù)字濾波器的結(jié)構(gòu) 根據(jù)FIR數(shù)字濾波器實(shí)現(xiàn)算法的不同,可以把FIR濾波器的結(jié)構(gòu)劃分為直接型、級(jí)聯(lián)型、頻率采樣型和快速卷積型四種基本形式。本文主要討論前兩種結(jié)構(gòu)。直接型結(jié)構(gòu)由式子(3-2)可直接畫(huà)出FIR數(shù)字濾波器的直接型結(jié)構(gòu),如圖3-2所示。對(duì)于直接型結(jié)構(gòu)來(lái)說(shuō),一個(gè)長(zhǎng)度為N的FIR濾波器,每產(chǎn)生一個(gè)輸出數(shù)據(jù),要經(jīng)過(guò)N次乘法
19、,N-1次加法。對(duì)于使用FPGA開(kāi)發(fā)FIR數(shù)字濾波器,這樣的結(jié)果顯然不令人滿意。圖3-2 直接型結(jié)構(gòu)于是本文做了一下改進(jìn),這種改進(jìn)是基于線性相位的FIR數(shù)字濾波器的。以嚴(yán)格線性相位,N為偶數(shù)的FIR濾波器為例,如圖3-3所示。圖3-3 直接型的改進(jìn)由于關(guān)于對(duì)稱(chēng),我們可以將經(jīng)過(guò)延時(shí)環(huán)節(jié)的位置關(guān)于對(duì)稱(chēng)的數(shù)據(jù)預(yù)先相加,然后可以再乘以相應(yīng)的濾波器系數(shù)進(jìn)行累加得到最終的輸出結(jié)果。這樣,每產(chǎn)生一個(gè)輸出,經(jīng)過(guò)次乘法,次加法,比原來(lái)減少次乘法。級(jí)聯(lián)型結(jié)構(gòu)對(duì)式子(3-2)進(jìn)行因式分解,并將零點(diǎn)共軛的因式放在一起,這樣產(chǎn)生了若干個(gè)一階子式和二階子式,將一階子式看作二階子式的一個(gè)特例,則系統(tǒng)函數(shù)可以表示為: (3-
20、11)FIR數(shù)字濾波器的級(jí)聯(lián)型結(jié)構(gòu)如圖3-4所示。圖3-4 級(jí)聯(lián)型結(jié)構(gòu)從圖中可以看出,級(jí)聯(lián)型結(jié)構(gòu)每產(chǎn)生一個(gè)輸出,需要次乘法,次加法。級(jí)聯(lián)型的最大特點(diǎn)是可以分別獨(dú)立調(diào)整每個(gè)子系統(tǒng)的零點(diǎn)之值,當(dāng)需要精確控制濾波器的零點(diǎn)位置時(shí),往往采用這種結(jié)構(gòu)。4 設(shè)計(jì)方案圖4-1若N為偶數(shù)線性相位FIR濾波器的對(duì)稱(chēng)結(jié)構(gòu)流圖本設(shè)計(jì)取為偶對(duì)稱(chēng)的情況,則圖中:應(yīng)取“ +1 ”。由上圖可分析得到,要完成濾波器的設(shè)計(jì),需要設(shè)計(jì)的底層文件包括延時(shí)單元、加法電路單元、乘以負(fù)一單元、乘法器單元及截取10位數(shù)單元。由各單元VHDL編程后,生成相應(yīng)的符號(hào)文件。最后連接成頂層原理圖。整個(gè)電路的原理圖設(shè)置方案如圖4-2所示:圖4- 2
21、濾波器整體設(shè)計(jì)方案原理圖5 設(shè)計(jì)內(nèi)容及結(jié)果分析首先使用matlab計(jì)算出符合設(shè)計(jì)要求的濾波器沖激響應(yīng)系數(shù)。后將整個(gè)電路規(guī)劃為語(yǔ)言編輯和原理圖編輯兩個(gè)單元,其中語(yǔ)言編輯部分負(fù)責(zé)編輯整個(gè)濾波器電路中所需用的單元器件,包括寄存器、加法器、減法器以及乘法器幾個(gè)單元器件;最后將所有的器件連接成頂層原理圖。在進(jìn)行編譯及仿真。5.1基于matlab的FIR濾波器系數(shù)計(jì)算在matlab命令編輯窗口輸入Fdatool指令,再點(diǎn)回車(chē)即可打開(kāi)Filter Design & Analysis Tool窗口,在該工具的幫助下,我們就可以完成f.i.r.濾波器系數(shù)的計(jì)算。Fdatool界面總共分兩大部分,一部分是desi
22、gn filter,在界面的下半部分,用來(lái)設(shè)置濾波器的設(shè)計(jì)參數(shù),另一部分則是特性區(qū),在界面的上半部分,用來(lái)顯示濾波器的各種特性。design filter部分主要分為:Design Method(設(shè)計(jì)方法)選項(xiàng),包括IIR濾波器的Butterworth(巴特沃思)法、Chebyshev Type i(切比雪夫i型)法、 Chebyshev Type ii(切比雪夫ii型) 法、Elliptic(橢圓濾波器)法等和Window(窗函數(shù))法等多種方法。結(jié)合本次課設(shè)要求,選擇FIR濾波器的窗函數(shù)法進(jìn)行設(shè)計(jì)。選定窗函數(shù)法后,會(huì)在右側(cè)出現(xiàn)Options區(qū)域,進(jìn)行窗函數(shù)法相關(guān)參量的設(shè)置,根據(jù)作業(yè)要求選擇K
23、aiser窗并設(shè)置Beta為:0.5。Filter Order(濾波器階數(shù))選項(xiàng),定義濾波器的階數(shù),包括Specify order(指定階數(shù))和Minimum order(最小階數(shù))。在Specify order中填入所要設(shè)計(jì)的濾波器的階數(shù)(n階濾波器,specify ordern-1),如果選擇Minimum order則matlab根據(jù)所選擇的濾波器類(lèi)型自動(dòng)使用最小階數(shù)。本次作業(yè)要求設(shè)計(jì)16階濾波器,所以選定Specify order并填入15。Frenquency Specifications選項(xiàng),可以詳細(xì)定義頻帶的各參數(shù),包括采樣頻率Fs和頻帶的截止頻率。它的具體選項(xiàng)由Response
24、 Type選項(xiàng)和Design Metho選項(xiàng)決定。我們要求的 Lowpass(低通)濾波器只需要定義Fs=100 KHz、Fc=13 KHz。本次課設(shè)中的參數(shù)全部設(shè)定后的結(jié)果如圖5-1所示。圖5-1 參數(shù)全部設(shè)定后圖參數(shù)設(shè)定完畢,單擊工具窗口下方的Design Filter按鈕,就開(kāi)始進(jìn)行相關(guān)參數(shù)計(jì)算。在計(jì)算結(jié)果中可以看到該濾波器的一些相關(guān)曲線,如幅頻響應(yīng)(如圖5-2)、相頻響應(yīng)(如圖5-3)、沖激響應(yīng)(如圖5-4)等。圖形如下:圖5-2 幅頻響應(yīng)曲線圖5-3 相頻響應(yīng)曲線圖5-4 沖激響應(yīng)計(jì)算的結(jié)果可通過(guò)File下拉菜單中的Export命令取出,點(diǎn)擊Export打開(kāi)Export對(duì)話框(如圖5
25、-5),點(diǎn)擊Export按鈕可將濾波器系數(shù)數(shù)據(jù)存放到當(dāng)前工作空間,并以Num命名。圖5-5 沖激系數(shù)輸出對(duì)話框保存并關(guān)閉濾波器設(shè)計(jì)分析工具回到matlab主窗口,在命令編輯區(qū)輸入Num可得到工具的計(jì)算結(jié)果(如圖5-6)。圖 5-6 輸出在matlab的沖激系數(shù)對(duì)FIR濾波器的系數(shù)進(jìn)行調(diào)整,做整數(shù)化操作。可得到濾波器整數(shù)化的系數(shù)為-14 -87 -123 -79 56 254 448 569 569 448 254 56 -79 -123 -87 -14,如圖 5-7所示:圖5-7 整數(shù)化后的沖激系數(shù)5.2 單元器件的編輯及仿真5.2.1 寄存器模塊在本次課設(shè)中延遲單元可用寄存器來(lái)替代,寄存器用
26、于寄存一組二值代碼,只要求它們具有置1、置0的功能即可。在本設(shè)計(jì)中使用帶異步復(fù)位rst端的D觸發(fā)器,當(dāng)rst=1時(shí),輸出信號(hào)q=0,當(dāng)rst=0且上升沿脈沖到達(dá)時(shí)q=d,即延遲了一個(gè)在周期。其程序代碼如下:LIBRARY ieee; USE ieee.std_logic_1164.all;ENTITY jicunqi ISPORT (rst,clk: IN STD_LOGIC;d:IN STD_LOGIC_VECTOR (9 DOWNTO 0);q:OUT STD_LOGIC_VECTOR(9 DOWNTO 0);END jicunqi;ARCHITECTURE dff16 OF jicunq
27、i ISBEGIN PROCESS (rst,clk) BEGIN IF(rst=1)THEN q0);ELSIF(clkEVENTAND clk=1)THEN q=d; END IF; END PROCESS;END dff16;程序編譯后就可進(jìn)行仿真,仿真結(jié)果如圖5-8所示:圖5-8 寄存器模塊仿真結(jié)果由上圖可知,與預(yù)期相符,即設(shè)計(jì)正確,再將其生成為一個(gè)元件以便后來(lái)調(diào)用,其生成圖如圖5-9 所示。圖 5-9 寄存器元件圖5.2.2 加法器模塊即實(shí)現(xiàn)兩個(gè)有符號(hào)數(shù)的相加運(yùn)算。即將輸入的兩數(shù),在時(shí)鐘脈沖到來(lái)時(shí)相加運(yùn)算,輸出結(jié)果。在本設(shè)計(jì)中共有8個(gè):兩個(gè)10位有符號(hào)數(shù)相加產(chǎn)生一個(gè)11位有符號(hào)數(shù)的加
28、法器、一個(gè)18位和19位有符號(hào)數(shù)相加產(chǎn)生20位有符號(hào)數(shù)的加法器、一個(gè)兩個(gè)20位有符號(hào)數(shù)相加產(chǎn)生一個(gè)21位有符號(hào)數(shù)的加法器、一個(gè)兩個(gè)19位有符號(hào)數(shù)相加產(chǎn)生一個(gè)20位有符號(hào)位數(shù)的加法器、一個(gè)20位和21位有符號(hào)數(shù)相加產(chǎn)生22位有符號(hào)數(shù)的加法器,以及一個(gè)20位和22位有符號(hào)數(shù)相加產(chǎn)生23位有符號(hào)數(shù)的加法器電路。具體如下: 兩個(gè)10位有符號(hào)數(shù)相加產(chǎn)生一個(gè)11位有符號(hào)數(shù)的加法器設(shè)計(jì):由分析可寫(xiě)出如下程序:LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_arith.all;ENTITY add101011 ISPORT(a,b: IN
29、 SIGNED(9 DOWNTO 0); clk: IN STD_LOGIC; s:OUT SIGNED(10 DOWNTO 0);END add101011;ARCHITECTURE sum101011 OF add101011 ISBEGIN PROCESS(clk) BEGIN IF(clkEVENT AND clk=1)THEN s=(a(9)&a)+(b(9)&b); END IF; END PROCESS;END sum101011;程序編譯后就可進(jìn)行仿真,仿真結(jié)果如圖5-10所示:圖5-10 兩個(gè)10位有符號(hào)數(shù)相加結(jié)果波形圖由上圖可知,與預(yù)期相符,即設(shè)計(jì)正確,再將其生成為一個(gè)元件
30、以便后來(lái)調(diào)用,其生成圖如圖5-11所示圖5-11 兩個(gè)10位有符號(hào)數(shù)相加元件圖18位和19位有符號(hào)數(shù)相加產(chǎn)生20位有符號(hào)數(shù)的加法器設(shè)計(jì):由分析可寫(xiě)出如下程序:LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_arith.all;ENTITY add181920 ISPORT(a: IN SIGNED(17 DOWNTO 0);b: IN SIGNED(18 DOWNTO 0); clk: IN STD_LOGIC; s:OUT SIGNED(19 DOWNTO 0);END add181920;ARCHITECTURE su
31、m7023918 OF add181920 ISBEGIN PROCESS(clk) BEGIN IF(clkEVENTAND clk=1)THEN s=(a(17)&a(17)&a)+(b(18)&b); END IF; END PROCESS;END sum7023918;程序編譯后就可進(jìn)行仿真,仿真結(jié)果如圖5-12所示:圖5-12 18位和19位有符號(hào)數(shù)相加結(jié)果波形圖由上圖可知,與預(yù)期相符,即設(shè)計(jì)正確,再將其生成為一個(gè)元件以便后來(lái)調(diào)用,其生成圖如圖5-13 所示圖5-13 18位和19位有符號(hào)數(shù)相加元件圖兩個(gè)20位有符號(hào)數(shù)相加產(chǎn)生一個(gè)21位有符號(hào)數(shù)的加法器設(shè)計(jì):由分析可寫(xiě)出如下程序: L
32、IBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_arith.all;ENTITY add202021 ISPORT(a:INSIGNED(19DOWNTO 0); b:INSIGNED(19 DOWNTO 0); clk: IN STD_LOGIC; s:OUT SIGNED(20 DOWNTO 0);END add202021;ARCHITECTURE sum40149919 OF add202021 ISBEGIN PROCESS(clk) BEGIN IF(clkEVENTAND clk=1)THEN s=(a(19)
33、&a)+(b(19)&b); END IF; END PROCESS;END sum40149919;程序編譯后就可進(jìn)行仿真,仿真結(jié)果如圖5-14所示:圖 5-14 兩個(gè)20位有符號(hào)數(shù)相加結(jié)果波形圖由上圖可知,與預(yù)期相符,即設(shè)計(jì)正確,再將其生成為一個(gè)元件以便后來(lái)調(diào)用,其生成圖如圖5-15所示圖 5-15 兩個(gè)20位有符號(hào)數(shù)相加元件圖 兩個(gè)19位有符號(hào)數(shù)相加產(chǎn)生一個(gè)20位有符號(hào)位數(shù)的加法器設(shè)計(jì):由分析可寫(xiě)出如下程序:LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_arith.all;ENTITY add191920 IS P
34、ORT(a: IN SIGNED(18 DOWNTO 0); b:INSIGNED(18 DOWNTO 0); clk: IN STD_LOGIC; s:OUTSIGNED(19 DOWNTO 0)END add191920;ARCHITECTURE sum181819 OF add191920 ISBEGIN PROCESS(clk) BEGIN IF(clkEVENTAND clk=1)THEN s=(a(18)&a)+(b(18)&b); END IF; END PROCESS;END sum181819;程序編譯后就可進(jìn)行仿真,仿真結(jié)果如圖5-16所示:圖 5-16 兩個(gè)19位有符號(hào)數(shù)
35、相加結(jié)果波形圖由上圖可知,與預(yù)期相符,即設(shè)計(jì)正確,再將其生成為一個(gè)元件以便后來(lái)調(diào)用,其生成圖如圖5-17所示圖 5-17 兩個(gè)19位有符號(hào)數(shù)相加元件圖 20位和21位有符號(hào)數(shù)相加產(chǎn)生22位有符號(hào)數(shù)的加法器:由分析可寫(xiě)出如下程序:LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_arith.all;ENTITY add202122 IS PORT(a:INSIGNED(19 DOWNTO 0); b: IN SIGNED(20 DOWNTO 0); clk: IN STD_LOGIC; s:OUT SIGNED(21 DOWN
36、TO 0);END add202122;ARCHITECTURE sum192021 OF add202122 ISBEGIN PROCESS(clk) BEGIN IF(clkEVENT AND clk=1)THEN s=(a(19)&a(19)&a)+(b(20)&b); END IF; END PROCESS;END sum192021;程序編譯后就可進(jìn)行仿真,仿真結(jié)果如圖5-18所示:圖 5-18 20位和21位有符號(hào)數(shù)相加結(jié)果波形圖由上圖可知,與預(yù)期相符,即設(shè)計(jì)正確,再將其生成為一個(gè)元件以便后來(lái)調(diào)用,其生成圖如圖5-19 所示圖5-19 20位和21位有符號(hào)數(shù)相加元件圖 20位和22
37、位有符號(hào)數(shù)相加產(chǎn)生23位有符號(hào)數(shù)的加法器電路設(shè)計(jì)(最后一級(jí)帶舍位):在此加法器電路中在引入低位舍去功能只保留最終10位輸出,最終保留10位輸出采用了直接取輸出23位數(shù)的高十位的方法,因此在輸出中近似等于除掉了213即8192以后的結(jié)果。為了比較,特又引出了一個(gè)23位全輸出引腳(quan)。其程序如下:LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_arith.all;ENTITY add202223 IS PORT(a: IN SIGNED(19 DOWNTO 0); b: IN SIGNED(21 DOWNTO 0);
38、quan: OUT SIGNED(22 DOWNTO 0); clk: IN STD_LOGIC; s:OUT SIGNED(9 DOWNTO 0);END add202223;ARCHITECTURE sum192110 OF add202223 ISBEGIN PROCESS(clk) VARIABLE c:SIGNED(22 DOWNTO 0); BEGIN IF(clkEVENT AND clk=1)THEN c:=(a(19)&a(19)&a(19)&a)+(b(21)&b); END IF; s=c(22 DOWNTO 13); quan0);BEGIN PROCESS(Din1,
39、Din2,clk) BEGIN IF clkevent and clk=1 THEN Dout0);BEGIN PROCESS(Din1,Din2,clk) BEGIN IF clkevent and clk=1 THEN Dout=s2-Din1-s1; END IF; END PROCESS;END sub1065417;程序編譯后就可進(jìn)行仿真,仿真結(jié)果如圖5-24 所示:圖 5-24 -106和-54的減法器結(jié)果仿真圖由上圖可知,與預(yù)期相符,即設(shè)計(jì)正確,再將其生成為一個(gè)元件以便后來(lái)調(diào)用,其生成圖如圖5-25 所示;圖 5-25 -106和-54的減法器元件圖結(jié)束語(yǔ)為期兩周的課設(shè)即將結(jié)束了
40、,回顧這兩周的歷程,我收獲了很多,不僅鞏固了以前老師所講的東西,也學(xué)到了許多以前上課沒(méi)注意到的地方。總的來(lái)說(shuō)有以下幾點(diǎn)。首先就是對(duì)于有符號(hào)數(shù)的加減方面的運(yùn)算,以前經(jīng)常做的都是些無(wú)符號(hào)數(shù)的運(yùn)算,相比較而言,有符號(hào)數(shù)還是有點(diǎn)難度的,由于其有符號(hào)位,所以在運(yùn)算時(shí)必須考慮進(jìn)位相關(guān)的東西,開(kāi)始幾天,查閱了許多這方面的資料,所以對(duì)其原理有了清醒的認(rèn)識(shí),做起來(lái)也容易些了。其次就是對(duì)FIR濾波器知識(shí)方面的,雖然大三學(xué)過(guò)數(shù)字信號(hào)處理,但那時(shí)老師只是講了一些基本知識(shí),由于這部分知識(shí)很抽象,難度很大,所以當(dāng)時(shí)也沒(méi)學(xué)好,經(jīng)過(guò)這次課設(shè),我又從新翻閱了以前的課本,細(xì)細(xì)品味了這方面的知識(shí),然后才開(kāi)始這次的設(shè)計(jì),使我對(duì)這樣抽象的知識(shí)有了更直觀的認(rèn)識(shí),以前只是老師在上面講,對(duì)其為什么這樣做并不知道,但通過(guò)這次的課設(shè),我弄清了原因,所以真信感謝這次課設(shè),使我鞏固了以前的很多知識(shí)。在這此設(shè)計(jì)中根據(jù)老師
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ī)院中藥房現(xiàn)代化改造方案
- 中醫(yī)院新技術(shù)引入評(píng)估方案
- 中醫(yī)院健康教育課程開(kāi)發(fā)方案
- 礦山礦石分選與回收技術(shù)方案
- 2026年衡水健康科技職業(yè)學(xué)院?jiǎn)握校ㄓ?jì)算機(jī))測(cè)試備考題庫(kù)附答案
- 農(nóng)村供水設(shè)施安全檢查方案
- 小學(xué)游樂(lè)設(shè)施安全檢測(cè)方案
- 儲(chǔ)備糧倉(cāng)庫(kù)技術(shù)培訓(xùn)實(shí)施方案
- 中國(guó)跨境支付系統(tǒng)搭建與匯率風(fēng)險(xiǎn)管理方案研究報(bào)告
- 唐山職業(yè)技術(shù)學(xué)院《中國(guó)現(xiàn)代文學(xué)史下》2023-2024學(xué)年第二學(xué)期期末試卷
- 雷波縣糧油貿(mào)易總公司 2026年面向社會(huì)公開(kāi)招聘筆試參考題庫(kù)及答案解析
- 2025年互聯(lián)網(wǎng)公司產(chǎn)品經(jīng)理面試實(shí)戰(zhàn)試題及答案
- 2026年上海市浦東新區(qū)初三上學(xué)期一模數(shù)學(xué)試卷和參考答案
- 內(nèi)蒙古包鋼1.18事故警示安全教育課件
- 公安局民警崗位培訓(xùn)制度
- (正式版)DB44∕T 2771-2025 《全域土地綜合整治技術(shù)導(dǎo)則》
- 春節(jié)前安全意識(shí)培訓(xùn)課件
- 江蘇省無(wú)錫市2025-2026學(xué)年七年級(jí)上學(xué)期期末數(shù)學(xué)模擬試卷【含答案詳解】
- 2.2 中國(guó)的氣候 第一課時(shí) 教學(xué)設(shè)計(jì)2025八年級(jí)地理上學(xué)期湘教版
- 2024冀少版八年級(jí)生物下冊(cè)全冊(cè)知識(shí)點(diǎn)考點(diǎn)清單
- 2026年江蘇省南京市五年級(jí)英語(yǔ)上冊(cè)期末考試試卷及答案
評(píng)論
0/150
提交評(píng)論