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

正文內(nèi)容

基于matlab16階fir低通濾波器的設(shè)計(jì)(參考版)

2024-12-11 09:30本頁面
  

【正文】 entity firrom is port( ADD0,ADD1,ADD2,ADD3,ADD4: in st。 use 。 use 。 use 。 高四位和低四位 LUT 輸出數(shù)據(jù)要拼在一起, VHDL 代碼如下: library ieee。 end LUT1。 end case。 when 1111=m:=xf12。 when 1101=m:=xf5f。 when 1011=m:=xfb1。 when 1001=m:=xf82。 when 0111=m:=xf3e。 when 0101=m:=xf8b。 when 0011=m:=xf61。 when 0001=m:=xfae。 package body FIR_ROM1 is function LUT1(y: in std_logic_vector(3 downto 0)) return std_logic_vector is variable m: std_logic_vector(11 downto 0)。 package FIR_ROM1 is function LUT1(y: in std_logic_vector(3 downto 0)) return std_logic_vector。 低 4位 LTU 程序 library ieee。 end process。b0(8)。b2(8)amp。b4(8)amp。b6(8)amp。b0(7)。b2(7)amp。b4(7)amp。b6(7)amp。b0(6)。b2(6)amp。b4(6)amp。b6(6)amp。b0(5)。b2(5)amp。b4(5)amp。b6(5)amp。b0(4)。b2(4)amp。b4(4)amp。b6(4)amp。b0(3)。b2(3)amp。b4(3)amp。b6(3)amp。b0(2)。b2(2)amp。b4(2)amp。b6(2)amp。b0(1)。b2(1)amp。b4(1)amp。b6(1)amp。b0(0)。b2(0)amp。b4(0)amp。b6(0)amp。139。 process(clk) begin if clk 39。a7)+(a15(0)amp。a14)。 b6=(a6(0)amp。a5)+(a13(0)amp。a12)。 b4=(a4(0)amp。a3)+(a11(0)amp。a10)。 b2=(a2(0)amp。a1)+(a9(0)amp。 b1=(a1(0)39。a0)+(a8(0)amp。 architecture arc of Address is signal b0,b1,b2,b3,b4,b5,b6,b7:std_logic_vector(8 downto 0)。輸入時(shí)鐘 y0,y1,y2,y3,y4,y5,y6,y7,y8:out std_logic_vector(7 downto 0))。輸入寄存器 a8,a9,a10,a11,a12,a13,a14,a15: in std_logic_vector(7 downto 0)。 use 。 use 。139。 architecture one of delay is begin process(clk) begin if clk39。 寄存器 a8,a9,a10,a11,a12,a13,a14,a15:buffer std_logic_vector(7 downto 0)寄存器 )。濾波器輸入 clk : in std_logic。 use 。 end arc。 end process。 end if 。139。(not X_in(1))amp。 (not X_in(3))amp。(not X_in(5))amp。 then temp=(X_in(7)amp。 then if b=39。event and clk=39。中間信號(hào) begin b=X_in(7)。 architecture arc of signed_buma is signal temp:std_logic_vector(7 downto 0)。輸入信 號(hào) 50MHz buma : out std_logic_vector(7 downto 0)補(bǔ)碼輸出 )。 entity signed_buma is port ( X_in : in std_logic_vector(7 downto 0)。 use 。 對(duì)于 FIR濾波器的硬件實(shí)現(xiàn),設(shè)計(jì)采用了自頂向下的層次化、模塊化的設(shè)計(jì)思想,用 VHDL 語言描述了各個(gè)子模塊,使用 QUARTUSII 軟件進(jìn)行了時(shí)序仿真,最 后的結(jié)果證明所設(shè)計(jì)的 16 階 FIR 低通濾波器功能正確,能夠滿足一般應(yīng)用的要求。而后在移位相加過程中,將輸出結(jié)果擴(kuò)大 2倍,由于數(shù)據(jù)精度發(fā)生變化,而產(chǎn)生了誤差 [13]。 ( 3)中間結(jié)果的舍入誤差 由于設(shè)計(jì)中采用的是定點(diǎn)制運(yùn)算,在預(yù)相加和移位累加的過程中,會(huì)使得到結(jié)果的尾數(shù)增長(zhǎng),這時(shí)需要進(jìn)行尾數(shù)處理,在這個(gè)過程中便引入了誤差。這樣,便會(huì)產(chǎn)生由系數(shù)量化而引起的誤差,這種誤差會(huì)引起頻率響應(yīng)的變動(dòng),進(jìn)而不能滿足實(shí)際需要。適當(dāng)?shù)卦黾?A/D 轉(zhuǎn)換器的轉(zhuǎn)換位數(shù),會(huì)增加輸出端的信噪比,以滿足實(shí)際的需求。數(shù)字信號(hào)可看作模擬信號(hào)的一種逼近,因而會(huì)產(chǎn)生偏差,我們把這種偏差稱為量化偏差,用符號(hào) )(ne 表示。因此,在數(shù)據(jù)位數(shù)有 限的情況下,便會(huì)產(chǎn)生誤差,使輸出結(jié)果偏離預(yù)期值,并使系統(tǒng)不能滿足預(yù)期的設(shè)計(jì)要求。往往位數(shù)越長(zhǎng),數(shù)據(jù)的精度越高。 此圖表明,仿真結(jié)果正確 , 50kHz方 波被濾波器改變了頻率成分。誤差主要來源是:系數(shù)量化的量 化誤差;計(jì)算結(jié)果的取舍誤差等。 用 Matlab卷積計(jì)算并和 QuartusII的仿真結(jié) 果比較, 如表 52所 示。 圖 54 輸入 50kHz正弦序列 X_in通過 FIR濾波器的 QuartusII仿真 輸出 y序列 圖 55 Matlab輸入 50kHz正弦序列 X_in和通過 FIR濾波器后的輸出序列 y比較圖 圖 56 QuartusII輸入 50kHz正弦波 X_in和 通過 FIR濾波器后的輸出波形 y比較圖 表 51 輸入 50kHz正弦序列 x(n)的 Matlab卷積計(jì)算結(jié)果與 QuartusII的仿真結(jié)果比較 序號(hào) 輸入 x( n) Matlab計(jì)算結(jié)果 QuartusII計(jì)算結(jié)果 0 128 132 132 1 166 187 186 2 200 220 220 3 228 239 239 4 247 251 251 5 255 254 254 6 251 245 245 7 237 226 226 8 213 197 197 9 181 163 162 10 144 125 125 11 106 87 87 12 70 53 53 13 39 26 26 14 16 8 8 15 3 1 1 16 2 5 5 17 12 21 20 18 32 46 45 19 61 78 77 ... ... ... ... 仿真 2:再設(shè)計(jì)一個(gè)輸入信號(hào),其幅值為 的 50kHz 方波 , 以 1MHz 的采 樣頻率 對(duì)其采樣,每個(gè)周期得到 20 個(gè)采樣點(diǎn),經(jīng)過 A/D 采樣量化之后的序列為: 22 22 22 22 22 22 22 22 22 22 204 204 204 204 204 204 204 204 204 204。 將 QuartusII 仿真結(jié)果經(jīng) Matlab 中還原成波形,如圖 55; QuartusII 輸入 50kHz 正弦波 X_in 和通過 FIR 濾波器后的輸出波形 y 比較如圖 56所示。 表 51結(jié)果的比較,有 一 定的誤差,但不是很大。 QuartusII 仿 真波形如 圖 54 所 示,可以看出 ,在 7 個(gè) clkin 脈 沖后,得到濾 波結(jié)果,且 是流水線的輸出方式。 系統(tǒng)仿真的主要目的是檢驗(yàn)設(shè)計(jì)是否被真正實(shí)現(xiàn),如果仿真存 在問題,就需要返回下層修改設(shè)計(jì)或修改參數(shù),重新進(jìn)行編譯并再次進(jìn)行系統(tǒng)仿真,直到得到正確結(jié)果。這樣雖然完成 一次卷積是 7個(gè)時(shí)鐘脈沖,但 2個(gè)相 臨的卷積運(yùn)算的完成 僅相隔 1個(gè) 時(shí)鐘脈沖,從而大大地提高運(yùn)算速率,電路的規(guī)模也會(huì)迅速增大,這是流 水線技術(shù)為了得到較高地運(yùn)算速率而付出 的代價(jià) [19]。它的主要含義是把整個(gè)運(yùn)算過程分解成若干段,系統(tǒng)在同一個(gè)時(shí)間可對(duì)先后輸入的數(shù)據(jù)流元素進(jìn)行不同階段的運(yùn)算。完 成一次卷積需 7個(gè)脈沖 周期,即從數(shù)據(jù)輸入到 數(shù)據(jù)輸出需 7個(gè) 脈沖周期,但采用流水線工作方式,可以認(rèn)為,每個(gè)脈沖上升沿并行 8位數(shù)據(jù)輸 入,同 時(shí)并行 8位數(shù) 據(jù)輸出。 S3S6: LUT的輸出數(shù) 值樹狀移位相加,得出卷積結(jié)果;這是個(gè) 4層次的樹狀的移位加過程 ,是在樹狀移位加法模塊中完成。 圖 46 FIR 濾波器的頂層設(shè)計(jì)文件 FIR 濾 波器的工作過程說明如下: 完成一次卷積運(yùn)算 需要 7個(gè) 工作狀態(tài),系統(tǒng)狀態(tài)圖如下: S 9 S 1 S 2 S 3S 6 S 5 S 4 S0:輸入信號(hào)并行進(jìn)入移位寄存器,實(shí)現(xiàn)信號(hào)的延遲; S1:根據(jù)系數(shù)的對(duì)稱性, 實(shí)現(xiàn) B(i)=X(i)+X(Ni),并 形成 8位 地址碼; 其中 S0、 S1狀態(tài) 是在輸入模塊完成的。那么所存輸出 應(yīng)該是 y2[15 downto 8]。具體做法是根據(jù)邏輯仿真的邏輯圖截取最高 的 8位有 效位即可。 樹狀移位加法器模塊的 VHDL設(shè)計(jì)中,雖然“ +” 的運(yùn)算 是在 signed庫 中完成的,但仍要關(guān)注每個(gè)加數(shù)的符號(hào)位的擴(kuò)展問題,否則會(huì)出錯(cuò)。低四位和高四位 LUT 如表 42所示: 表 42(a) 地址低 4位 LUT D3D2D1D0 函數(shù)值 0000 0 0001 h(0) 0010 h(1) 0011 h(0)+h(1) 0100 h(2) 0101 h(2)+h(0) ?? ?? 1111 h(0) +h(1)+h(2)+h(3) 表 42(b) 地址高 4位 LUT D7D6D5D4 函數(shù)值 0000 0 0001 h(4) 0010 h(5) 0011 h(4)+h(5) 0100 h(6) 0101 h(6)+h(4) ?? ?? 1111 h(4) +h(5)+h(6)+h(7) ( 5)樹狀移位加法器模塊 樹狀移位加法模塊,通過一個(gè)樹狀的移位加法,最后實(shí)現(xiàn)卷積運(yùn)算。 ( 4)查找表模塊 輸入模塊形成 9組 8位地址碼,如果直接建立 LUT,則 LUT 的規(guī)模較大,為 82個(gè)字,為了節(jié)約 FPGA 資源并且簡(jiǎn)化表格深度,使用了 8 位地址線 LUT 分割技術(shù),分成 2個(gè) 4位地址線的 LUT 。 加法與地址碼形成單元首先實(shí)現(xiàn) B(i)=X(i)+X(Ni)的運(yùn)算,即考慮了濾波器系數(shù)的對(duì)稱性,把與相同兩個(gè)濾波系數(shù)相乘的兩個(gè)采樣值預(yù)先相加,以減少硬件規(guī)模。 ( 3)輸入模塊 輸入模塊由移位寄存器和加法器與地址碼形成單元組成。 加此進(jìn)程的目的是方 便仿真,硬件實(shí)現(xiàn)時(shí)不用。設(shè)計(jì)產(chǎn)生的分頻模塊圖標(biāo)如 圖 45( b) 所示。 CycloneII 系列 FPGA 提供兩個(gè)嵌入式鎖相環(huán)。查找表模塊由 4個(gè) LUT 和加法模塊組成。 為了完善設(shè)計(jì),還應(yīng)該再加一個(gè)查找表生成模塊,用來根據(jù)外界輸入的系數(shù)自動(dòng)修改查找表單元,而不是像設(shè)計(jì)中那樣,為了改變?yōu)V波器的功能,人為的修改查找表單元。 ( 3)樹樁移位加法器模塊, 將 LUT 的輸出值做樹狀移位加法運(yùn)算。 (2) 輸入模塊 輸入模塊的主要功能是完成對(duì)輸入數(shù)據(jù)的處理,為后續(xù)電路作準(zhǔn)備。整個(gè)設(shè)計(jì)的層次結(jié)構(gòu)如圖 44所示: 圖 44 FIR濾波器的結(jié)構(gòu)框圖 各模塊實(shí)現(xiàn)的功能: (1) 控制模塊 控制模塊產(chǎn)生其他模塊的控制信號(hào),實(shí)現(xiàn)對(duì)輸入模塊、乘累加模塊、鎖存模塊的控制,使各模塊按照一定的時(shí)序依次執(zhí)行各自的功能,從而完成濾波。所得單位沖激響應(yīng)系數(shù)如表 41 所示: 表 41 FIR低通數(shù)字濾波器系數(shù) 序數(shù)序列 FIR 濾波器的參數(shù) 序數(shù)序列 h(0) h(15) h(1) h(14) h(2) h(13) h(3) h(12) h(4) h(11) h(5) h(10) h(6) h(9) h(7) h(8) 計(jì)算的結(jié)果可通過 File 下的菜單中的 Export 命令取出,點(diǎn)擊 Export 打開對(duì)話框,如圖所示,點(diǎn)擊 OK 可將濾波器系數(shù)數(shù)據(jù)存放到當(dāng)前工作空間,并且以 Num命名。選擇所需要的參數(shù)指標(biāo),就會(huì)生成 FIR 低通數(shù)字濾波器的特性曲線以及重要的幅度相位波形圖,如圖 4圖 4圖 44所示,驗(yàn)證了其技術(shù)指標(biāo)。 基于 Matlab 的 FIR數(shù)字低通濾波器抽頭系數(shù)的提取 濾波器的設(shè)計(jì)指標(biāo) 采樣頻率: 10MHz 截止頻率: 100KHz 類型:低通 階數(shù):凱澤窗函數(shù) 16階系數(shù)
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1