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

正文內(nèi)容

畢業(yè)設(shè)計基于fpga的fir數(shù)字濾波器設(shè)計-資料下載頁

2024-12-01 19:52本頁面

【導(dǎo)讀】隨著公元的第二十一個世紀(jì)的到來,今天我們進(jìn)入了一個科技日新月異的時代。字系統(tǒng)中,濾波器都以一個不可缺少的身份出現(xiàn)。其中,F(xiàn)IR數(shù)字濾波器又以其良好的線性特性被。廣泛和有針對性的大量使用。眾所周知,靈活性和實時性是工程實踐中對數(shù)字信號處理的基本要求。在以往使用的各種濾波器技術(shù)中,不難發(fā)現(xiàn)有許許多多的問題。但是,隨著現(xiàn)代計算機技術(shù)在濾波。問題上的飛躍,派生出一個全新的分支——數(shù)字濾波器。利用可編程邏輯器件和EDA技術(shù),使用?;贔PGA的FIR數(shù)字濾波器的研究勢。規(guī)模小,作為指導(dǎo)思想進(jìn)行設(shè)計計算。(二)基于硬件FPGA的特點,利用Matlab軟件以及窗函數(shù)法設(shè)計濾波器。計劃采用模塊化、層次化設(shè)計思想,從而對各個部分功能進(jìn)行更為詳細(xì)的理解和分工設(shè)計。(三)設(shè)計中的軟件仿真使用Altera公司的綜合性PLD開發(fā)軟件QuartusII,并且利用Matlab工。具進(jìn)行對比仿真,在仿真的過程中,對比證明,本論文設(shè)計的濾波器的技術(shù)指標(biāo)已經(jīng)全部達(dá)標(biāo)。

  

【正文】 }+{acc14[1], acc14[1], acc14[1],acc14[1], acc14[1], acc14} +{acc13[1], acc13[1], acc13[1], acc13[1], acc13[1], acc13}+{acc12[1], acc12[1], acc12[1],acc12[1], acc12[1], acc12} +{acc11[1], acc11[1], acc11[1], acc11[1], acc11[1], acc11}+{acc10[1], acc10[1], acc10[1],acc10[1], acc10[1], acc10} +{acc9[1], acc9[1], acc9[1], acc9[1], acc9[1], acc9}+{acc8[1], acc8[1], acc8[1], acc8[1],acc8[1], acc8} +{acc7[1], acc7[1], acc7[1], acc7[1], acc7[1], acc7}+{acc6[1], acc6[1], acc6[1], acc6[1],acc6[1], acc6} +{acc5[1], acc5[1], acc5[1], acc5[1], acc5[1], acc5}+{acc4[1], acc4[1], acc4[1], acc4[1],acc4[1], acc4} +{acc3[1], acc3[1], acc3[1], acc3[1], acc3[1], acc3}+{acc2[1], acc2[1], acc2[1], acc2[1],acc2[1], acc2} +{acc1[1], acc1[1], acc1[1], acc1[1], acc1[1], acc1}。 end endmodule 使用 MAC 單元完成乘加運算(包括單 MAC 和多 MAC 的情況)這個方法可以利用 FPGA 中已有的 MAC 單元(像 Xilinx Spartan 3E- 100 中有四個乘加單元),只要設(shè)計好數(shù)據(jù)運算流程,就能方便高效地實現(xiàn) FIR 運算。使用 MAC 單元還有一個優(yōu)點是系數(shù)可以存成系數(shù)表,可以方便地修改,這是移位方法代替乘法運算所不及的。 使用移位代替乘法運算這個方法的優(yōu)點是速度快,例如 11 階的濾波器,完成一次運算需要 11次乘法,如果使用單 MAC 的話,需要 11 個時鐘周期來完成,而使用移位方法可以在一個時鐘周期完成 11 個乘法運算;缺點是需要另外去完成濾波系數(shù)到移位位數(shù)的換算,如果修改濾波系數(shù)的話,程序修改將會比較麻煩,同時硬件資源也要使用多一些。 基于 FPGA 的 FIR 數(shù)字濾波器設(shè)計 23 t*={t[7], t[7], t[7], t[7:3]} t* = t/8 = t3。 t 為有符號數(shù),所以是帶符號右移,于是 t3 ={t[7], t[7], t[7], t[7:3]} 之所以這么些就是為了節(jié)省資源,提高頻率 以 4* 為例 4 的原碼: 1000 0100B 補碼: 1111 1100B 41=0111 1110 而符號位不能變 應(yīng)用原來的位代替 1111 1110B 的原碼 1000 0010B =2 2. 對程序設(shè)計中的問題分析與總結(jié) 在最開始的 設(shè)計中, 本文初始計劃 使用乘法單元。但是在程序設(shè)計的過程中我們遇見了實數(shù)乘法的問題,程序的運行遇到了困難,在與 指導(dǎo) 老師的研究中我們發(fā)現(xiàn)問題出在實數(shù)乘法的問題上。在 Verilog 的運算中實數(shù)乘法需要特殊的小數(shù)乘法器來單元來實現(xiàn)。在原來的 38 階濾波器的設(shè)計中出現(xiàn)了這樣子的問題。我們使用過這樣的程序 : reg [63:0] filter_in_force [0:3344]。 reg [63:0] filter_out_expected [0:3344]。 // Function definitions function real abs_real。 input real arg。 begin abs_real = arg 0 ? arg : arg。 end endfunction //function abs_real // Component Instances filter u_filter ( .clk(clk), .clk_enable(clk_enable), .reset(reset), .filter_in(filter_in), .filter_out(filter_out) )。 initial begin 基于 FPGA 的 FIR 數(shù)字濾波器設(shè)計 24 // Constants filter_in_force [0] = $realtobits(+000)。 filter_in_force [1] = $realtobits(+000)。 filter_in_force [2] = $realtobits(+000)。 filter_in_force [3] = $realtobits(+000)。 … 系統(tǒng)無法實現(xiàn) real 值得計算,于是這里需要我們用小數(shù)乘法器進(jìn)行特殊單元的方案解決。于是我們要進(jìn)行小數(shù)乘法器的設(shè)計 。 隨著 FPGA 的發(fā)展以及相應(yīng) EDA 軟件工具的成熟 , FPGA 在高速數(shù)字信號處理領(lǐng)域得到了越來越廣泛的應(yīng)用。而乘法 , 尤其是浮點乘法運算是數(shù)值計算和數(shù)據(jù)分析中最常用的運算之一。目前 , 多數(shù) FPGA 上 可以實現(xiàn)整數(shù)和標(biāo)準(zhǔn)邏輯矢量的乘法 , 但不支持浮點乘法運算 , 因此使得FPGA 在數(shù)值計算、數(shù)據(jù)分析和信號處理等方面受到了限制。本文采用適合于 FPGA 實現(xiàn)的自定義 26 位浮點數(shù)據(jù)格式 , 利用改進(jìn)的基 4Boot h 編碼運算方式 , 以及 CSA 和 4 2 壓縮器綜合的Wallace 樹形結(jié)構(gòu) , 減少了部分積 , 使系統(tǒng)具有高速度 , 低功耗的特點 , 并且結(jié)構(gòu)規(guī)則。在尾數(shù)的舍入中采用了基于預(yù)測和選擇的舍入方法 , 進(jìn)一步提高了運算的速度 , 優(yōu)化了乘法器的性能。 modulefix_mult ( clk, rst_n, in_a, in_b, x1, x2, x3, x4, x5, x6, x7, y_out )。 inputclk, rst_n。//時鐘和復(fù)位信號 input[31:0] in_a, in_b。//輸入的被乘數(shù)和乘數(shù) output[31:0] y_out。//輸出的乘積 /*寄存器類型變量 為了能更清楚的了解全處理過程, 特地設(shè)計為輸出的,不然仿真可能會被綜合掉 */ output[15:0] x1, x2, x3, x4。 output[0:0] x5。 output[29:0] x6。 output[31:0] x7。 ///////////////////////////////////////////////////// reg[31:0] y_out。 reg[15:0] x1, x2, x3, x4。 reg[0:0] x5。 reg[29:0] x6。 reg[31:0] x7。 always@ (posedgeclk ) 基于 FPGA 的 FIR 數(shù)字濾波器設(shè)計 25 begin if(!rst_n )//復(fù)位時,全部寄存器變量清零 begin x1=1639。b0。 x2=1639。b0。 x3=1639。b0。 x4=1639。b0。 x5=139。b0。 x6=3039。b0。 x7=3239。b0。 y_out=3239。b0。 end else/ begin x1=in_a[31:16]。//截取 16 位被乘數(shù), x2=in_b[31:16]。//截取 16 位乘數(shù) x3=(x1[15]==0)?x1:{x1[15], ~x1[14:0]+139。b1}。 //據(jù)最高位判斷是否為負(fù)數(shù), //若負(fù)數(shù)則把補碼轉(zhuǎn)成原碼 x4=(x2[15]==0)?x2:{x2[15], ~x2[14:0]+139。b1}。 x5=x3[15]^x4[15]。//兩數(shù)符號位相異或,得到乘積的符號位 x6=x3[14:0]*x4[14:0]。//兩數(shù)的數(shù)據(jù)位相乘 x7={x5, x6, 139。b0}。 //乘積由 1 位符號位和 30 位數(shù)據(jù)位及 1 位無關(guān)組成; //因為是小數(shù),往低位生長,所以無關(guān)位放置最低位 y_out=(x7[31]==0)?x7:{x7[31], ~x7[30:0]+139。b1}。 end end endmodule 基于 FPGA 的 FIR 數(shù)字濾波器設(shè)計 26 小數(shù)乘法器的仿真結(jié)果如下圖 214 所示: 圖 214 小數(shù)乘法器仿真結(jié)果 全過程可以看成:把 32 位的小數(shù)截取高 16 位左移 16 位,變?yōu)?16 位整數(shù)相乘得到 32 位整數(shù)乘積后,右移 32 位調(diào)整無關(guān)位的位置得到 32 位小數(shù),這樣就可以完成早期程序中的小數(shù)乘法功能,然后來進(jìn)行設(shè)計中的 FPGA 數(shù)字濾波器設(shè)計的優(yōu)化 。 在先前的設(shè)計中我們使用 Matlab 進(jìn)行綜合仿真設(shè)計,并且借助 FDAtool 設(shè)計出濾波器。在Quartus 2 的仿真中我們發(fā)現(xiàn)程序無法正常的完成運行,究其原因在于小數(shù)乘法器的問題。在原來的濾波器中需要對每一個參數(shù)進(jìn)行單獨設(shè)置,這樣會使得程序占 有巨量的篇幅大大的增加了工作量和容錯度。于是,我們需求另外一種方法來解決這個問題,后來我們研究了移位算法。利用移位來把小數(shù)運算轉(zhuǎn)換成整數(shù)運算,這樣我們的 11 階濾波器程序大大減少篇幅同時也增加了程序的可讀程度和穩(wěn)定程度。 3 濾波器仿真濾波 在 Matlab 中進(jìn)行我們設(shè)計過的 FIR 數(shù)字濾波器的仿真,首先我們啟動 Matlab 中的 Simulink,啟動方式是直接在文本窗口中輸入命令 Simulink,或者點擊 Matlab 中的快速啟動按鈕。 基于 FPGA 的 FIR 數(shù)字濾波器設(shè)計 27 圖 215 Simulink 工具窗口圖 本論文模擬一個混合信號正弦波信號他包涵 了 10,30,60( Hz) 的信號,在 Matlab 模擬出來是這樣一個信號: Fs=200。 t=(1:200)/Fs。 x1=sin(2*pi*t*10)。 x2=sin(2*pi*t*30)。 x3=sin(2*pi*t*60)。 X= x1+ x2+ x3。 plot(t, X)。 title(39。楊成杰本科畢業(yè)設(shè)計混合正弦波信號 X(t)濾波前 39。)。 grid。 Module end //整個模擬濾波信號結(jié)束 //使用軟件仿真出待濾波信號 混合信 號設(shè)定之后利用 Matlab 工具進(jìn)行模型仿真。 基于 FPGA 的 FIR 數(shù)字濾波器設(shè)計 28 圖 216 Matlab 中模擬的混合信號 然后在程序中設(shè)置好仿真模型如下圖( 217) 圖 217 Simulink 模型仿真 基于 FPGA 的 FIR 數(shù)字濾波器設(shè)計 29 設(shè)置仿真參數(shù) 設(shè)置好仿真參數(shù),對各個信號進(jìn)行單獨修改和設(shè)置如下圖( 218): 圖 218 sin(2*pi*30*t)參數(shù)模塊 在主設(shè)置中,振幅 (Amplitude)設(shè)置為 1, 頻率( Frequency)設(shè)置為 30Hz, 輸出混合為實常量,樣本時間為 1/1000, 采樣幀數(shù)設(shè)置為 1 幀,以下不同頻率信號同理設(shè)置: 圖 219 sin(2*pi*10*t)參數(shù)模塊 基于 FPGA 的 FIR 數(shù)字濾波器設(shè)計 30
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1