freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于fpga的fir數(shù)字濾波器設(shè)計畢業(yè)論文(編輯修改稿)

2025-08-23 03:29 本頁面
 

【文章內(nèi)容簡介】 波器設(shè)計參數(shù)的總體圖給出,如圖210圖210 FIR帶通濾波器總體設(shè)計參數(shù)根據(jù)上述FIR低通數(shù)字濾波器的原理與濾波特性,我們在上面的軟件實踐中已經(jīng)掌握了設(shè)計數(shù)字濾波器的方法并且成功的使用Matlab/Simulink進行了設(shè)計和仿真。通過以上的過程我們可以導出一定性能的FIR濾波器頻率響應與抽頭系數(shù),然后用Verilog HDL語言設(shè)計和QUARTUSⅡ仿真FIR低通數(shù)字濾波器,實現(xiàn)用軟件描述硬件的動作及功能,應用軟件來實現(xiàn)數(shù)字濾波器的功能和時序仿真。 FPGA 可編程邏輯元件介紹EDA是Electronic Design Automation的縮寫,意為電子設(shè)計自動化,即利用計算機自動完成電子系統(tǒng)的設(shè)計。EDA技術(shù)是以計算機和微電子技術(shù)為先導,匯集了計算機圖形學、拓撲、邏輯學、微電子工藝與結(jié)構(gòu)學和計算數(shù)學等多種計算機應用學科最新成果的先進技術(shù)。它與電子技術(shù)、微電子技術(shù)的發(fā)展密切相關(guān),吸收了計算機領(lǐng)域的大多數(shù)最新研究成果,以高性能的計算機作為工作工具,在EDA軟件平臺土,根據(jù)硬件描述語言HDL完成的設(shè)計文件,自動地完成邏輯編譯、化簡、分割、綜合及優(yōu)化、布線、仿真,直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。可編程邏輯器PLD(Programmable Logic Devices)是ASIC(Application Specific Integrated Circuits的一個重要分支。ASIC按制造方法又可分為全定制(Full Custom)產(chǎn)品、半定制(semicustom)產(chǎn)品和可編程邏輯器件(PLD)。前兩種ASIC的設(shè)計和制造都離不開器件生產(chǎn)廠家,用戶主動性較差。隨著微電子技術(shù)的發(fā)展,設(shè)計師們更愿意自己設(shè)計專用集成電路芯片,并盡可能縮短設(shè)計周期,最好是在實驗室里就能設(shè)計出合適的ASIC芯片,并且立即投入實際應用之中,在使用中也能比較方便的對設(shè)計進行修改??删幊踢壿嬈骷褪菫闈M足用戶的這一需求應運而生的。使用FPGA器件設(shè)計數(shù)字電路,不僅可以簡化設(shè)計過程,而且可以降低整個系統(tǒng)的體積和成本,增加系統(tǒng)的可靠性。它們無需花費傳統(tǒng)意義下制造集成電路所需大量時間和精力,避免了投資風險,成為電子器件行業(yè)中發(fā)展最快的一族。使用FPGA器件設(shè)計數(shù)字系統(tǒng)電路的主要優(yōu)點如下:使用FPGA器件,可不受標準系列器件在邏輯功能上的限制。而且修改邏輯可在系統(tǒng)設(shè)計和使用過程的任一階段中進行,并且只須通過對所用的FPGA器件進行重新編程即可完成,給系統(tǒng)設(shè)計提供了很大的靈活性。功能密集度是指在給定的空間能集成的邏輯功能數(shù)量。可編程邏輯芯片內(nèi)的組件門數(shù)高,一片F(xiàn)PGA可代替幾片、幾十片乃至幾百片中小規(guī)模的數(shù)字集成電路芯片。用FPGA器件實現(xiàn)數(shù)字系統(tǒng)時用的芯片數(shù)量少,從而減少芯片的使用數(shù)目,減少印刷線路板面積和印刷線路板數(shù)目,最終導致系統(tǒng)規(guī)模的全面縮減。減少芯片和印刷板數(shù)目,不僅能縮小系統(tǒng)規(guī)模,而且它還極大的提高了系統(tǒng)的可靠性。具有較高集成度的系統(tǒng)比用許多低集成度的標準組件設(shè)計的相同系統(tǒng)具有高得多的可靠性。使用FPGA器件減少了實現(xiàn)系統(tǒng)所需要的芯片數(shù)目,在印刷線路板上的引線以及焊點數(shù)量也隨之減少,所以系統(tǒng)的可靠性得以提高。基于FPGA器件的可編程性和靈活性,用它來設(shè)計一個系統(tǒng)所需時間比傳統(tǒng)方法大為縮短。FPGA器件集成度高,使用時印刷線路板電路布局布線簡單。同時,在樣機設(shè)計成功后,由于開發(fā)工具先進,自動化程度高,對其進行邏輯修改也十分簡便迅速。因此,使用FPGA器件可大大縮短系統(tǒng)的設(shè)計周期,加快產(chǎn)品投放市場的速度,提高產(chǎn)品的競爭能力。FPGA/CPLD器件的工作速度快,一般可以達到幾百兆赫茲,遠遠大于DPS器件。同時,使用FPGA器件后實現(xiàn)系統(tǒng)所需要的電路級數(shù)又少,因而整個系統(tǒng)的工作速度會得到提高。很多FPGA器件都具有加密功能,在系統(tǒng)中廣泛的使用FPGA器件可以有效防止產(chǎn)品被他人非法仿制。使用FPGA器件實現(xiàn)數(shù)字系統(tǒng)設(shè)計時,如果僅從器件本身的價格考慮,有時還看不出來它的優(yōu)勢,但是影響系統(tǒng)成本的因素是多方面的,綜合考慮,使用FPGA的成本優(yōu)越性是很明顯的。首先,使用FPGA器件修改設(shè)計方便,設(shè)計周期縮短,使系統(tǒng)的研制開發(fā)費用降低。其次,F(xiàn)PGA器件可使印刷線路板面積和需要的插件減少,從而使系統(tǒng)的制造費用降低。再次,使用FPGA器件能使系統(tǒng)的可靠性提高,維修工作量減少,進而使系統(tǒng)的維修服務(wù)費用降低??傊?,使用FPGA器件進行系統(tǒng)設(shè)計能節(jié)約成本。 QuartusⅡ及Verilog HDL介紹Quartus II 屬于Altera公司的綜合性PLD開發(fā)軟件,支持原理圖、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多種設(shè)計輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計輸入到硬件配置的完整PLD設(shè)計流程。   Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl腳本完成設(shè)計流程外,提供了完善的用戶圖形界面設(shè)計方式。具有運行速度快,界面統(tǒng)一,功能集中,易學易用等特點。   Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設(shè)計的復雜性、加快了設(shè)計速度。對第三方EDA工具的良好支持也使用戶可以在設(shè)計流程的各個階段使用熟悉的第三方EDA工具。   此外,Quartus II 通過和DSP Builder工具與Matlab/Simulink相結(jié)合,可以方便地實現(xiàn)各種DSP應用系統(tǒng);支持Altera的片上可編程系統(tǒng)(SOPC)開發(fā),集系統(tǒng)級設(shè)計、嵌入式軟件開發(fā)、可編程邏輯設(shè)計于一體,是一種綜合性的開發(fā)平臺。   Maxplus II 作為Altera的上一代PLD設(shè)計軟件,由于其出色的易用性而得到了廣泛的應用。目前Altera已經(jīng)停止了對Maxplus II 的更新支持,Quartus II 與之相比不僅僅是支持器件類型的豐富和圖形界面的改變。Altera在Quartus II 中包含了許多諸如SignalTap II、Chip Editor和RTL Viewer的設(shè)計輔助工具,集成了SOPC和HardCopy設(shè)計流程,并且繼承了Maxplus II 友好的圖形界面及簡便的使用方法。   Altera Quartus II 作為一種可編程邏輯的設(shè)計環(huán)境, 由于其強大的設(shè)計能力和直觀易用的接口,越來越受到數(shù)字系統(tǒng)設(shè)計者的歡迎。Verilog HDL是目前應用最為廣泛的硬件描述語言。Verilog HDL可以用來進行各種層次的邏輯設(shè)計,也可以進行數(shù)字系統(tǒng)的邏輯綜合,仿真驗證和時序分析等。該語言適合算法級,寄存器級,邏輯級,門級和版圖級等各個層次的設(shè)計和描述。Verilog HDL進行設(shè)計最大的優(yōu)點是其工藝無關(guān)性。這使得我們在功能設(shè)計,邏輯驗證階段可以不必過多考慮門級及工藝實現(xiàn)的具體細節(jié),只需根據(jù)系統(tǒng)設(shè)計的要求施加不同的約束條件,即可設(shè)計出實際電路。VerilogHDL是一種硬件描述語言(hardware description language),為了制作數(shù)字電路而用來描述ASIC和FPGA的設(shè)計之用。VerilogHDL 的設(shè)計者想要以 C 編程語言為基礎(chǔ)設(shè)計一種語言,可以使工程師比較容易學習。(11階FIR數(shù)字濾波器)FPGA實現(xiàn)FIR濾波器,首先進行指標選定和Matlab軟件參數(shù)仿真,然后執(zhí)行基于Verilog方法的硬件實現(xiàn)中用移位方法代替了乘法運算。表23設(shè)計指標要求設(shè)計指標高低通截止頻率 階數(shù)據(jù)寬度低通(1對應Fs/2) 118bits根據(jù)以上指標,利用MATLAB中的FIR濾波器系數(shù)設(shè)計命令fir1(10,)所設(shè)計濾波器的系數(shù)。表24 Matlab中導出的濾波器系數(shù)MATLAB軟件仿真的濾波器的抽頭系數(shù)及其幅度頻響特性如下圖211所示。圖211 11階FIR濾波器的抽頭系數(shù)和幅頻特性曲線可見抽頭系數(shù)是奇對稱的,即:, 。FIR濾波器采用對稱結(jié)構(gòu),每個抽頭的輸出分別乘以相應加權(quán)的二進制值,再將結(jié)果相加。同時,利用濾波器系數(shù)的及對稱的特性,對輸入信號 進行如下等效: , 。這個方法的實現(xiàn)中,使用了移位代替乘法運算來實現(xiàn)濾波器乘加的方法。由于濾波器系數(shù)都是小數(shù),所以我們先左移7位(即放大128倍),再用相應的移位來近似這些系數(shù),最后經(jīng)過乘加運算得到結(jié)果,對這個結(jié)果再右移7位(即縮小128倍)即可得出正確的結(jié)果。 各個系數(shù)的移位情況如下:其中2表示左移1位,1表示不移位,其他依次類推:128h(0)=128==128h(1)=128==1++128h(2)=128==4+1+++128h(3)=128==8+41+128h(4)=128==16+128h(5)=128==128164++這樣,我們就可以把這個11階FIR數(shù)字濾波器的輸出用一下的算式得到表25 Verilog方法設(shè)計FIR的實驗數(shù)據(jù)圖 212系數(shù)放大后求SUM計算得到結(jié)果后再將sum右移7位,即可得到正確結(jié)果。程序的功能仿真結(jié)果如下圖212所示。圖213功能仿真由上圖212可以看出,tap0到tap10是輸入x的依次延時1個時鐘周期,結(jié)果sum輸出相對于輸入x延遲了2個時鐘周期,y輸出相對于sum輸出延遲了1個時鐘周期,這和程序設(shè)計相符合。同時,對比程序運行結(jié)果和MATLAB的計算結(jié)果(如章節(jié)開頭表格所示),可知,二者結(jié)果是一致的,其中個別數(shù)據(jù)的小誤差是由于移位取代小數(shù)乘法運算帶來的誤差。因此,程序設(shè)計是正確的。于是,根據(jù)以上所有思想我們可以得出以下11階FIR數(shù)字濾波器的Verilog程序如下:///////////////////////////////////////////////////////////////////////////////// Company: // Engineer:// Create Date: 17:01:38 11/03/06// Design Name: // Module Name: ycj// Project Name: // Target Device: // Tool versions: // Description:用Verilog編寫的fir濾波器程序// Dependencies:// Revision:// Revision File Created// Additional Comments:////////////////////////////////////////////////////////////////module firv2(clk, x, y)。 input clk。 input [7:0] x。 output [25:0] y。 reg [26:0] y。 reg[7:0] x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16。 wire[21:0] acc1,acc2,acc3,acc4,acc5,acc6,acc7,acc8,acc9,acc10,acc11,acc12,acc13,acc14,acc15,acc16,acc17。 reg [8:0]sxin[0:32]。 reg [5:0]i,k。 reg [8:0]xx[16:0]。 parameter c0=21, c1=8, c2= 22, c3=34, c4=6, c5=34, c6=31, c7=32, c8=87, c9=32, c10=154, c11=321, c12=217, c13=321, c14=1185, c15=1996, c16=2328。 always @ (posedge clk) begin xx[16]=sxin[16] 。 for(i=0。i16。i=i+1) xx[i]=sxin[i]+sxin[32i] 。 for(k=32。k0。k=k1) sxin[k]=sxin[k1]。 sxin[0]={x[7],x}。 endmult13_8 uut0(clk,c0,xx[0],acc1)。 mult13_8 uut1(clk,c1,xx[1],acc2)。mult13_8 uut2(clk,c2,xx[2],acc3)。mult13_8 uut3(clk,c3,xx[3],acc4)。mult13_8 uut4(clk,c4,xx[4],acc5)。 mult13_8 uut5(clk,c5,xx[5],acc6)。mult13_8 uut6(clk,c6,xx[6],acc7)。mult13_8 uut7(clk,c7,xx[7],acc8)。mult13_8 uut8(clk,c8,xx[8],acc9)。 mult13_8 uut9(clk,c9,xx[9],acc10)。mult13_8 uut10(clk,c10,xx[10],acc11)。mult13_8 uut11(clk,c11,xx[11],acc12)。mult13_8 uut12(clk,c12,xx[12],acc13)。 mult13_8 uut13(clk,c13,xx[13],acc14)。mult13_8 uut14(clk,c14,xx[14],acc15)。 mult13_8 uut15(clk,c15,xx[15],acc16)。 mult13_8 uut16(clk,c16,xx[16],acc17)。
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1