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

正文內容

基于fpga的數字濾波器的設計_畢業(yè)設計論文(參考版)

2024-09-02 13:43本頁面
  

【正文】 由于AMP模塊要求的時鐘頻率與其他。在此,只要將所有模塊整合成一個總體,就完AD配置FIR濾波AMP配置AMP配置AMP配置濾波選擇IIR濾波輸出選擇初始化DA配置reset=’1’ choose=’0’ choose=’0’ choose=’1’ choose=’1’ 總體設計的狀態(tài)轉移圖成了本設計。故IIR濾波器設計在一定的誤差范圍內是正確的。上述程序綜合無誤后,進行仿真。狀態(tài)iir2完成乘法結果相加,7個21位的二進制數muldata(i)相加減,其中只有一個數是減去,結果datayn可達到24位。狀態(tài)iir1完成乘法運算,14位的iir_xn(i)與對應的7位reg_bn(i)相乘,14位的iir_yn(i)與對應的7位的reg_an(i+1)相乘,結果muldata(i)為21位。狀態(tài)inti完成對數據iir_xn、iir_yn和datayn初始化。end Behavioral。end if。cur_state=iir0。muldata(5))+(000amp。muldata(3))+(000amp。muldata(1))+(000amp。when iir2=datayn=(000amp。muldata(6)=iir_yn(2)*reg_an(3)。muldata(4)=iir_yn(0)*reg_an(1)。muldata(2)=iir_xn(2)*reg_bn(2)。when iir1=muldata(0)=iir_xn(0)*reg_bn(0)。iir_yn(0)=datayn(23 downto 10)。iir_yn(2)=iir_yn(1)。iir_xn(1)=iir_xn(0)。when iir0=iir_xn(3)=iir_xn(2)。)。datayn=(others=39。039。)。iir_yn(1)=(others=39。039。)。iir_xn(3)=(others=39。039。)。iir_xn(1)=(others=39。039。 thencur_state=inti。process(clk_50m,res)beginif res=39。reg_bn(2)=0000101。reg_bn(0)=0000101。reg_an(2)=1010001。beginreg_an(0)=1000000。type states is(inti,iir0,iir1,iir2)。signal muldata:reg3。signal iir_yn:reg2。signal iir_xn:reg1。signal reg_an,reg_bn:reg0。end iir。 res:in std_logic。entity iir isport(clk_50m:in std_logic。use 。IIR濾波器設計程序如下:library IEEE。 FIR濾波器設計仿真波形圖 IIR濾波器設計IIR濾波器設計與FIR濾波器設計上有很多相似之處。輸入datain為3,運算結果accutemp為196596,與理論計算結果相符。相加前,應在muldata(i)最高位前補上“00000”,28位的二進制數加法的進位才能得到正確保存和運算。兩個14位的二進制數相乘,結果muldata(i)為28位。fir1狀態(tài)完成乘法運算,reg_xn(i)和對應的reg_hn(i)相乘。狀態(tài)fir0完成數據的更新,把新的數據datain移入reg_xn(0),舊數據依次往高位移一位。end Behavioral。end if。cur_state=fir0。muldata(16))+(00000amp。muldata(14))+(00000amp。muldata(12))+(00000amp。muldata(10))+(00000amp。muldata(8))+(00000amp。muldata(6))+(00000amp。muldata(4))+(00000amp。muldata(2))+(00000amp。muldata(0))+(00000amp。cur_state=fir2。when fir1=for i3 in 0 to 17 loopmuldata(i3)=reg_xn(i3)*reg_hn(i3)。reg_xn(0)=datain。elsif rising_edge(clk_50m) thencase cur_state iswhen fir0=for i2 in 1 to 17 loopreg_xn(18i2)=reg_xn(17i2)。139。reg_hn(9)=10101011101110。reg_hn(11)=01100101011110。reg_hn(13)=00011010001000。reg_hn(15)=00000001100001。039。)。reg_hn(17)=(others=39。reg_hn(7)=10010000100011。reg_hn(5)=00111010001011。reg_hn(3)=00001000011011。)。reg_hn(1)=(others=39。039。signal cur_state:states:=fir0。)。signal accutemp:std_logic_vector(32 downto 0):=(others=39。signal muldata:reg2。type reg0 is array(0 to 17) of std_logic_vector(13 downto 0)。architecture Behavioral of firtest1 istype reg1 is array(0 to 17) of std_logic_vector(13 downto 0)。 dataout:out std_logic_vector(11 downto 0))。 datain:in std_logic_vector(13 downto 0)。use 。use 。并行乘法,算法實現(xiàn)簡單直觀,對于現(xiàn)在資源豐富的FPGA,很好實現(xiàn)。分布式算法是現(xiàn)在比較流行的一種乘法實現(xiàn)方式,所用硬件資源較少,運算速率也較快,但這只是針對小位寬乘法來說。乘法常用的實現(xiàn)方法有位串行乘法、分布式算法和并行乘法等。于此,三者電路硬件上都配置成功。因為前文我們已經驗證了DA電路硬件上了配置成功,在此,我們將AMP電路、AD電路和DA電路互連,來驗證AMP電路和AD電路是否硬件上配置成功。,可知,當ad_conv為低電平時,spi_miso前16個時鐘周期的數據為“0000111111111111”,前兩個周期數據應舍棄,得到的out0temp為“00111111111111”。 AD電路仿真波形圖上述程序,綜合無誤后,進行仿真。end process。end case。cur_state=adconfig1。cur_state=adconfig1。elsif i1=2 then out0temp(15i1)=spi_miso。elsif i115 theni1=i1+1。i1=i1+1。cur_state=adconfig1。cur_state=adconfig0。039。cur_state=adconfig1。elsif rising_edge(clk_50m) thencase cur_state iswhen adconfig0=convtemp=39。139。ad_conv=convtemp。signal cur_state:states:=adconfig0。signal out1temp:std_logic_vector(13 downto 0)。signal i1:integer range 0 to 33:=0。signal convtemp:std_logic:=39。end adconfig。 adout1:out std_logic_vector(13 downto 0)。 clk_50m:in std_logic。 ad_conv:out std_logic。use 。use 。AD電路在傳輸每個14位二進制數據的前后使其輸出保留2個時鐘周期的三態(tài)狀態(tài)。否則,AD電路阻止與其它SPI外設進行通信。AD_CONV信號不再是原來意義上的SPI從片選使能信號了。直到下個AD_CONV信號變?yōu)榈碗娖綍r,采樣結果才被送出,即采樣結果延遲了一個采樣周期。 AMP電路仿真波形圖 AD電路配置。當amp_cs為低電平時,開始傳輸8位數據mosi_temp為“10001000”(該數據與真實輸入數據已顛倒),輸出spi_mosi為“00010001”當amp_cs為高電平時,失能AMP電路。end Behavioral。amp_cs=cs_temp。end if。cs_temp=39。else spi_mosi=mosi_temp(i)。spi_mosi=mosi_temp(i)。process(clk_50m)beginif rising_edge(clk_50m) then if i=8 then cs_temp=39。039。beginmosi_temp=10001000。039。architecture Behavioral of ampconfig issignal i:integer range 0 to 8:=0。 amp_dout:in std_logic)。 spi_sck:out std_logic。 spi_mosi:out std_logic。use 。use 。放大器接數據傳送速率相對較低,僅支持10MHz的時鐘頻率。放大器在SPI_SCK時鐘信號的上升沿采集SPI_MOSI的串行數據。在實際應用中,該值常常忽略。最高位B3先傳送。AD電路的最大波動范圍是177。增益可以設置成多種值,故VINA和VINB允許多種輸入值。預放大器和AD電路由FPGA連續(xù)編程或控制。模擬信號采集電路由線性工藝LTC69121可編程預放大器構成,其可以縮放從J7輸入的模擬信號。理論值和實際值誤差率在5%之內,故硬件上DA電路配置成功。當dac_cs DA電路仿真波形圖為低電平時,開始傳輸數據datatemp為“00000000001100110100000000000000”,輸出數據spi_mosi為“00000000001100110100000000000000”,當dac_cs為高電平時,失能DA電路。end Behavioral。end if。end if。t2=t2+1。daccs_temp=39。cur_state=daconfig0。daccs_temp=39。cur_state=daconfig0。010000000000amp。0011amp。 thencur_state=daconfig。process(clk_50m,reset)beginif reset=39。dac_cs=daccs_temp。begindac_clr=39。signal daccs_temp:std_logic:=39。signal datatemp:std_logic_vector(31 downto 0)。architecture Behavioral of daconfig4 istype states is(daconfig,daconfig0)。 dadata:in std_logic_vector(11 downto 0))。 dac_clr:out std_logic。 spi_sck:out std_logic。 spi_miso:in std_logic。use 。use 。最后,4個額外的無效位緊隨在12位無符號數據之后。隨后,F(xiàn)PGA通過4位的地址域選擇一個或所有的輸出通道,本設計采用的是D通道,地址域是ADDRESS3:0]=0011。FPGA首先傳送8個無效位,隨后是4位的命令字。傳完所有的32位數據后,F(xiàn)PGA完成SPI總線處理,置從片選信號DAC_CS為高。FPGA必須在DAC_CS變低后的SPI_SCK的第一個上升沿采集第一個SPI_MISO的值。DA電路在SPI_SCK的下降沿傳送數據SPI_MISO。DA電路在SPI_SCK的上升沿采集輸入數據SPI_MOSI??偩€完全是靜態(tài)的,并支持最高的50MHz。 ()。參考電壓本身有177。 DA電路詳圖,每個DA電路輸出電平與無符號的12位二進制數相對應。FPGA通過SPI與DA電路的輸出通道進行數據通信。4個輸出連到J5接頭(使用Digilent 6管腳的外設模數格式)。該開發(fā)板包括一個兼容SPI,4通道,串行數模轉換電路。本設計采用狀態(tài)轉移圖。相比于同樣基于VHDL的其他設計方案,使用有限狀態(tài)機的設計方法有很多優(yōu)點,比如順序控制靈活且性能優(yōu)越;結構相對簡單,設計方案相對固定;構建性能良好的同步時序邏輯模塊,能很好地解決競爭冒
點擊復制文檔內容
黨政相關相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1