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

正文內(nèi)容

基于matlab16階fir低通濾波器的設計畢業(yè)設計論文-資料下載頁

2025-02-26 09:57本頁面
  

【正文】 04 204 204 204 204。 QuartusII仿真波形如圖 57所示,可以看出,在 7個 clkin脈 沖后,得到濾波結果,且是流水線的輸出方式。 用 Matlab卷積計算并和 QuartusII的仿真結 果比較, 如表 52所 示。 表 52結 果的比較,有 一 定的誤差,但不是很大。誤差主要來源是:系數(shù)量化的量 化誤差;計算結果的取舍誤差等。將 QuartusII仿真結果經(jīng) Matlab中還 原成波形,如 圖 58; QuartusII輸入 50kHz方波 X_in和通過 FIR濾波 器后的輸出波形 y比較如圖 59所示 。 此圖表明,仿真結果正確 , 50kHz方 波被濾波器改變了頻率成分。 圖 57 輸入 50kHz方波序列 X_in通過 FIR濾波器的 QuartusII仿真輸出 y序列 圖 58 Matlab輸入 50kHz方波序列 X_in和通過 FIR濾波器后的輸出序列 y比較圖 圖 59 QuartusII輸入 50kHz方波序列 X_in和通過 FIR濾波器后的輸出序列 y比較圖 表 52 輸入 50kHz方波序 列 x(n)的 Matlab卷積計算結果與 QuartusII的仿真結果比較 序號 輸入 x( n) Matlab 計算結果 QuartusII 計算結果 0 22 3 2 1 22 11 11 2 22 19 19 3 22 23 23 4 22 23 23 5 22 24 22 6 22 21 21 7 22 12 12 8 22 12 12 9 22 46 45 10 204 113 113 11 204 180 180 12 204 214 213 13 204 214 213 14 204 204 204 15 204 199 201 16 204 204 203 17 204 214 213 18 204 214 213 19 204 180 180 ... ... ... ... FIR數(shù)字濾波器的濾波系數(shù),輸入輸出序列值和運算過程中的中間結果,都是用有限字長的二進制表示。往往位數(shù)越長,數(shù)據(jù)的精度越高。這樣,不論是選用串行 DA算法還是并行 DA算法,都要求更大的硬件資源,如果對運算速度還有限制的話,則串行 DA算法不能滿足要求。因此,在數(shù)據(jù)位數(shù)有 限的情況下,便會產(chǎn)生誤差,使輸出結果偏離預期值,并使系統(tǒng)不能滿足預期的設計要求。這種誤差主要包括三個方面 【 20】 : ( 1) A/D 轉換器的量化誤差 A/D 轉換器用于將模擬信號轉換為一定位寬的數(shù)字信號。數(shù)字信號可看作模擬信號的一種逼近,因而會產(chǎn)生偏差,我們把這種偏差稱為量化偏差,用符號 )(ne 表示。 )(ne 的存在降低了輸出端的信噪比。適當?shù)卦黾?A/D 轉換器的轉換位數(shù),會增加輸出端的信噪比,以滿足實際的需求。 ( 2)系數(shù)量化偏差 FIR 濾 波器在實際實現(xiàn)時,要對所有的濾波器系數(shù)進行量化以有限長的二進制碼表示。這樣,便會產(chǎn)生由系數(shù)量化而引起的誤差,這種誤差會引起頻率響應的變動,進而不能滿足實際需要。系數(shù)量化誤差和 FIR濾波器的結構及儲存系數(shù)的寄存器的長度有關。 ( 3)中間結果的舍入誤差 由于設計中采用的是定點制運算,在預相加和移位累加的過程中,會使得到結果的尾數(shù)增長,這時需要進行尾數(shù)處理,在這個過程中便引入了誤差。例如,在設計中,預相加模塊的輸入數(shù)據(jù)為 8 位,為保證結果正確性,需要先擴展一位符號位,然后再相加,得到 9位的結果,而我們需要的是 8位字 長的結果,所以需要截取高8 位,也就是將預相加模塊的輸出結果縮小 2 倍,使得數(shù)據(jù)精度隨之減小。而后在移位相加過程中,將輸出結果擴大 2倍,由于數(shù)據(jù)精度發(fā)生變化,而產(chǎn)生了誤差 [13]。 結 論 在介紹 FIR 濾波器的基本理論的基礎上,設計利用 基于 Matlab 設計工具設計出了 16階 FIR 低通濾波器,達到了預期的性能。 對于 FIR濾波器的硬件實現(xiàn),設計采用了自頂向下的層次化、模塊化的設計思想,用 VHDL 語言描述了各個子模塊,使用 QUARTUSII 軟件進行了時序仿真,最 后的結果證明所設計的 16 階 FIR 低通濾波器功能正確,能夠滿足一般應用的要求。 附錄 一、預處理 library ieee。 use 。 use 。 entity signed_buma is port ( X_in : in std_logic_vector(7 downto 0)。輸入 clk : in std_logic。輸入信 號 50MHz buma : out std_logic_vector(7 downto 0)補碼輸出 )。 end signed_buma。 architecture arc of signed_buma is signal temp:std_logic_vector(7 downto 0)。中間信號 signal b:std_logic。中間信號 begin b=X_in(7)。 a:process(clk) begin if clk39。event and clk=39。139。 then if b=39。139。 then temp=(X_in(7)amp。(not X_in(6))amp。(not X_in(5))amp。(not X_in(4))amp。 (not X_in(3))amp。(not X_in(2))amp。(not X_in(1))amp。(not X_in(0)))+39。139。 else temp=X_in。 end if 。 end if。 end process。 buma=temp。 end arc。 二、移位寄存器 library ieee。 use 。 entity delay is 延時 port ( X_in : in std_logic_vector(7 downto 0)。濾波器輸入 clk : in std_logic。輸入時鐘 a0,a1,a2,a3,a4,a5,a6,a7: buffer std_logic_vector(7 downto 0)。 寄存器 a8,a9,a10,a11,a12,a13,a14,a15:buffer std_logic_vector(7 downto 0)寄存器 )。 end delay。 architecture one of delay is begin process(clk) begin if clk39。event and clk=39。139。 then a15=a14; a14=a13; a13=a12; a12=a11; a11=a10; a10=a9; a9=a8; a8=a7; a7=a6; a6=a5; a5=a4; a4=a3; a3=a2; a2=a1; a1=a0; a0=X_in; end if; end process; end one; 三、加法與地址碼形成單元 VHDL 代碼如下: library ieee。 use 。 use 。 use 。 輸入預加和地址碼產(chǎn)生 entity Address is port( a0,a1,a2,a3,a4,a5,a6,a7: in std_logic_vector(7 downto 0)。輸入寄存器 a8,a9,a10,a11,a12,a13,a14,a15: in std_logic_vector(7 downto 0)。輸入寄存器 clk :in std_logic。輸入時鐘 y0,y1,y2,y3,y4,y5,y6,y7,y8:out std_logic_vector(7 downto 0))。地址輸出 end Address。 architecture arc of Address is signal b0,b1,b2,b3,b4,b5,b6,b7:std_logic_vector(8 downto 0)。 begin b0=(a0(0)amp。a0)+(a8(0)amp。a8)。 b1=(a1(0)39。amp。a1)+(a9(0)amp。a9)。 b2=(a2(0)amp。a2)+(a10(0)amp。a10)。 b3=(a3(0)amp。a3)+(a11(0)amp。a11)。 b4=(a4(0)amp。a4)+(a12(0)amp。a12)。 b5=(a5(0)amp。a5)+(a13(0)amp。a13)。 b6=(a6(0)amp。a6)+(a14(0)amp。a14)。 b7=(a7(0)amp。a7)+(a15(0)amp。a15)。 process(clk) begin if clk 39。event and clk=39。139。then下面產(chǎn)生的 8位位矢量將作為 LUT 的地址 y0=b7(0)amp。b6(0)amp。b5(0)amp。b4(0)amp。b3(0)amp。b2(0)amp。b1(0)amp。b0(0)。 y1=b7(1)amp。b6(1)amp。b5(1)amp。b4(1)amp。b3(1)amp。b2(1)amp。b1(1)amp。b0(1)。 y2=b7(2)amp。b6(2)amp。b5(2)amp。b4(2)amp。b3(2)amp。b2(2)amp。b1(2)amp。b0(2)。 y3=b7(3)amp。b6(3)amp。b5(3)amp。b4(3)amp。b3(3)amp。b2(3)amp。b1(3)amp。b0(3)。 y4=b7(4)amp。b6(4)amp。b5(4)amp。b4(4)amp。b3(4)amp。b2(4)amp。b1(4)amp。b0(4)。 y5=b7(5)amp。b6(5)amp。b5(5)amp。b4(5)amp。b3(5)amp。b2(5)amp。b1(5)amp。b0(5)。 y6=b7(6)amp。b6(6)amp。b5(6)amp。b4(6)amp。b3(6)amp。b2(6)amp。b1(6)amp。b0(6)。 y7=b7(7)amp。b6(7)amp。b5(7)amp。b4(7)amp。b3(7)amp。b2(7)amp。b1(7)amp。b0(7)。 y8=b7(8)amp。b6(8)amp。b5(8)amp。b4(8)amp。b3(8)amp。b2(8)amp。b1(8)amp。b0(8)。 end if。 end process。 end arc。 低 4位 LTU 程序 library ieee。 use 。 package FIR_ROM1 is function LUT1(y: in std_logic_vector(3 downto 0)) return std_logic_vector。 end FIR_ROM1。 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)。 begin case y is when 0000=m:=x000。 when 0001=m:=xfae。 when 0010=m:=xfb3。 when 0011=m:=xf61。 when 0100=m:=xfdd。 when 0101=m:=xf8b。 when 0110=m:=xf90。 when 0111=m:=xf3e。 when 1000=m:=xfd4。 when 1001=m:=xf82。 when 1010=m:=xf87。 when 1011=m:=xfb1。 when 1100=m:=xf35。 when 1101=m:=xf5f。 when 1110=m:=xf64。 when 1111=m:=xf12。 when others=m:=x000。 end case。 return m。 end LUT1。 end FIR_ROM1。 高四位和低四位 LUT 輸出數(shù)據(jù)要拼在一起, VHDL 代碼如下: library ieee。 use 。 use 。 use 。 use 。 use 。 use 。 use 。 entity firrom is port( ADD0,ADD1,ADD2,ADD3,ADD4: in std_logic_vector(7 downto 0)。 ADD5,ADD6,ADD7,ADD8:in st
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1