色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Xilinx快速傅立葉變換接口及仿真測(cè)試實(shí)驗(yàn)設(shè)計(jì)

454398 ? 來(lái)源:FPGA開(kāi)源工作室微信公眾號(hào) ? 作者:FPGA開(kāi)源工作室微信 ? 2020-09-28 10:41 ? 次閱讀

1 xilinx FFT IP介紹

Xilinx快速傅立葉變換(FFT IP)內(nèi)核實(shí)現(xiàn)了Cooley-Tukey FFT算法,這是一種計(jì)算有效的方法,用于計(jì)算離散傅立葉變換(DFT)。

1)正向和反向復(fù)數(shù)FFT,運(yùn)行時(shí)間可配置。

2)變換大小N = 2m,m = 3 – 16

3)數(shù)據(jù)采樣精度bx = 8 – 34

4)相位系數(shù)精度bw = 8 – 34

5)算術(shù)類(lèi)型:

  • °無(wú)標(biāo)度(全精度)定點(diǎn)
  • °定標(biāo)定點(diǎn)
  • °浮點(diǎn)數(shù)

6)定點(diǎn)或浮點(diǎn)接口

7)蝴蝶后舍入或截?cái)?/p>

8)Block RAM或分布式RAM,用于數(shù)據(jù)和相位因子存儲(chǔ)

9)可選的運(yùn)行時(shí)可配置轉(zhuǎn)換點(diǎn)大小

10)可擴(kuò)展的定點(diǎn)核心的運(yùn)行時(shí)可配置擴(kuò)展時(shí)間表

11)位/數(shù)字反轉(zhuǎn)或自然輸出順序

12)用于數(shù)字通信系統(tǒng)的可選循環(huán)前綴插入

13)四種架構(gòu)在內(nèi)核大小和轉(zhuǎn)換時(shí)間之間進(jìn)行權(quán)衡

14)位精確的C模型和用于系統(tǒng)建模的MEX功能可供下載

15)有四種運(yùn)算架構(gòu)可供選擇

  • .Pipelined Streaming I/O
  • .Radix-4 Burst I/O
  • .Radix-2 Burst I/O
  • .Radix-2 Lite Burst I/O

2 FFT IP接口介紹

圖1 xilinx FFT IP

1)AXI4-Stream 介紹

AXI4-Stream接口帶來(lái)了標(biāo)準(zhǔn)化,并增強(qiáng)了Xilinx IP LogiCORE解決方案的互操作性。除了諸如aclk,acclken和aresetn之類(lèi)的常規(guī)控制信號(hào)以及事件信號(hào)之外,到內(nèi)核的所有輸入和輸出都通過(guò)AXI4-Stream通道進(jìn)行傳輸。通道始終由TVALID和TDATA以及必填字段和可選字段(如TREADY,TUSER和TLAST)組成。TVALID和TREADY一起執(zhí)行握手以傳輸消息,其中有效負(fù)載為T(mén)DATA,TUSER和TLAST。內(nèi)核對(duì)包含在TDATA字段中的操作數(shù)進(jìn)行運(yùn)算,并將結(jié)果輸出到輸出通道的TDATA字段中。

圖2 AXI4-Stream時(shí)序圖

圖2顯示了在AXI4-Stream通道中的數(shù)據(jù)傳輸。TVALID由通道的源(主)端驅(qū)動(dòng),而TREADY由接收器(從屬)驅(qū)動(dòng)。TVALID指示有效負(fù)載字段(TDATA,TUSER和TLAST)中的值有效。TREADY表示從機(jī)已準(zhǔn)備好接收數(shù)據(jù)。當(dāng)一個(gè)周期中的TVALID和TREADY均為T(mén)RUE時(shí),將發(fā)生傳輸。主機(jī)和從機(jī)分別為下一次傳輸分別設(shè)置TVALID和TREADY。

2)s_axis_config_tdata接口介紹

s_axis_config_tdata接口攜帶配置信息CP_LEN,F(xiàn)WD / INV,NFFT和SCALE_SCH。

NFFT(變換的點(diǎn)大小):NFFT可以是最大變換的大小或任何較小的點(diǎn)大小。例如,1024點(diǎn)FFT可以計(jì)算點(diǎn)大小1024、512、256等。NFFT的值為log2(點(diǎn)大小)。該字段僅在運(yùn)行時(shí)可配置的轉(zhuǎn)換點(diǎn)大小時(shí)出現(xiàn)。

CP_LEN(循環(huán)前綴長(zhǎng)度):從轉(zhuǎn)換結(jié)束起,在輸出整個(gè)轉(zhuǎn)換之前,最初作為循環(huán)前綴輸出的樣本數(shù)。CP_LEN可以是小于點(diǎn)大小的從零到一的任何數(shù)字。該字段僅在循環(huán)前綴插入時(shí)出現(xiàn)。

FWD_INV:指示是執(zhí)行前向FFT變換還是逆向FFT變換(IFFT)。當(dāng)FWD_INV = 1時(shí),將計(jì)算前向變換。如果FWD_INV = 0,則計(jì)算逆變換。

SCALE_SCH伸縮時(shí)間表:對(duì)于突發(fā)I / O架構(gòu),伸縮時(shí)間表由每個(gè)階段的兩位指定,第一階段的伸縮由兩個(gè)LSB給出??s放比例可以指定為3、2、1或0,代表要移位的位數(shù)。N = 1024,Radix-4 Burst I / O的示例縮放計(jì)劃是[1 0 2 3 2](從最后階段到第一階段排序)。對(duì)于N = 128,Radix-2 Burst I / O或Radix-2 Lite Burst I / O,一個(gè)可能的擴(kuò)展時(shí)間表是[1 1 1 1 0 1 2](從最后階段到第一階段排序)。對(duì)于流水線(xiàn)I / O架構(gòu),從兩個(gè)LSB開(kāi)始,每?jī)蓪?duì)Radix-2級(jí)用兩位指定擴(kuò)展時(shí)間表。例如,N = 256的縮放時(shí)間表可以是[2 2 2 3]。當(dāng)N不是4的冪時(shí),最后一級(jí)的最大位增長(zhǎng)為一位。例如,對(duì)于N = 512,[0 2 2 2 2]或[1 2 2 2 2]是有效的縮放時(shí)間表,但是[2 2 2 2 2]無(wú)效。對(duì)于此變換長(zhǎng)度,SCALE_SCH的兩個(gè)MSB只能為00或01。此字段僅可用于縮放算法(非縮放,塊浮點(diǎn)或單精度浮點(diǎn))。

s_axis_config_tdata接口格式:

1.(可選)NFFT加填充

2.(可選)CP_LEN加填充

3.前轉(zhuǎn)/后轉(zhuǎn)

4.(可選)SCALE_SCH

舉例:

內(nèi)核具有可配置的轉(zhuǎn)換大小,最大大小為128點(diǎn),具有循環(huán)前綴插入和3個(gè)FFT通道。內(nèi)核需要配置為執(zhí)行8點(diǎn)變換,并在通道0和1上執(zhí)行逆變換,并在通道2上執(zhí)行前向變換。需要4點(diǎn)循環(huán)前綴。這些字段采用表中的值。

這給出了19位的向量長(zhǎng)度。由于所有AXI通道必須與字節(jié)邊界對(duì)齊,因此需要5個(gè)填充位,從而s_axis_config_tdata的長(zhǎng)度為24位。

3)相關(guān)標(biāo)志信號(hào)

3 xilinx FFT IP的仿真測(cè)試

FFT的長(zhǎng)度選擇8點(diǎn),x輸入序列為x=[1,2,3,4,5,6,7,8];

Matlab驗(yàn)證:

clear all
close all
clc
 
x = [1,2,3,4,5,6,7,8];
y =fft(x,8);
realy=real(y);
imagy=imag(y);


Y的實(shí)部輸出為realy=[36,-4,-4,-4,-4,-4,-4,-4];

Y的虛部輸出為imagy=[0,9.6569,4,1.6569,0,-1.6569,-4,-9.6569];

FPGA仿真驗(yàn)證:

1)IP的設(shè)置

2)仿真頂層

`timescale 1ns / 1ps
module tb_fft_top(
 
    );
    reg aclk;                        
    reg [7 : 0] s_axis_config_tdata;
    reg         s_axis_config_tvalid;        
    wire        s_axis_config_tready;       
    wire [31 : 0] s_axis_data_tdata;  
    reg         s_axis_data_tvalid;          
    wire        s_axis_data_tready;         
    reg         s_axis_data_tlast;           
    wire [31 : 0] m_axis_data_tdata;
    wire        m_axis_data_tvalid;         
    reg         m_axis_data_tready;  
    wire        m_axis_data_tlast;
    reg [15:0] real_data;
    reg [15:0] imag_data;
    wire [15:0] real_dataout;
    wire [15:0] imag_dataout;
    reg [9:0]  cnt;
    assign s_axis_data_tdata={real_data,imag_data};
    assign real_dataout = m_axis_data_tdata[31:16];
    assign imag_dataout = m_axis_data_tdata[15:0];
    initial begin
      aclk = 0;
      s_axis_config_tdata=8'b0;
      s_axis_config_tvalid=1'b0;
      s_axis_data_tvalid=1'b0;
      s_axis_data_tlast=1'b0;
      real_data=16'd0;
      imag_data=16'd0;
      cnt = 0;
      m_axis_data_tready=1'b1;
      #1000;
      s_axis_config_tdata=8'b0000_0001;
      s_axis_config_tvalid=1'b1;
      #10;
      s_axis_config_tdata=8'b0000_0000;
      s_axis_config_tvalid=1'b0;
      #1000;
      repeat(8)begin
        s_axis_data_tvalid=1'b1;
        real_data=real_data+16'd1;
        cnt=cnt+1;
        if(cnt==8) s_axis_data_tlast=1'b1;
        #10;
      end
      s_axis_data_tvalid=1'b0;
      s_axis_data_tlast=1'b0;
      real_data=16'd0;
      #1000;
      $stop;
    end
    always #(5) aclk= ~aclk;
fft_top Ufft_top(
      .aclk(aclk),                                                // input wire aclk
      .s_axis_config_tdata(s_axis_config_tdata),                  // input wire [7 : 0] s_axis_config_tdata
      .s_axis_config_tvalid(s_axis_config_tvalid),                // input wire s_axis_config_tvalid
      .s_axis_config_tready(s_axis_config_tready),                // output wire s_axis_config_tready
      .s_axis_data_tdata(s_axis_data_tdata),                      // input wire [31 : 0] s_axis_data_tdata
      .s_axis_data_tvalid(s_axis_data_tvalid),                    // input wire s_axis_data_tvalid
      .s_axis_data_tready(s_axis_data_tready),                    // output wire s_axis_data_tready
      .s_axis_data_tlast(s_axis_data_tlast),                      // input wire s_axis_data_tlast
      .m_axis_data_tdata(m_axis_data_tdata),                      // output wire [31 : 0] m_axis_data_tdata
      .m_axis_data_tvalid(m_axis_data_tvalid),                    // output wire m_axis_data_tvalid
      .m_axis_data_tready(m_axis_data_tready),                    // input wire m_axis_data_tready
      .m_axis_data_tlast(m_axis_data_tlast)                      // output wire m_axis_data_tlast       
          );
endmodule

3)仿真結(jié)果

Vivado最終的仿真結(jié)果為

Real=[36,-4,-4,-4,-4,-4,-4,-4];

Imag=[0,-10,-4,-2,0,1,4,9];

與matlab的計(jì)算結(jié)果相比實(shí)部一樣,除虛部因?yàn)閿?shù)據(jù)位的取舍問(wèn)題以外,正數(shù)和負(fù)數(shù)部分順序相反。

編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2168

    瀏覽量

    121672
  • 仿真
    +關(guān)注

    關(guān)注

    50

    文章

    4099

    瀏覽量

    133718
  • 快速傅立葉變換
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    1463
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    車(chē)聯(lián)網(wǎng)HIL仿真測(cè)試解決方案

    經(jīng)緯恒潤(rùn)結(jié)合硬件在環(huán)技術(shù)、通信信息、云平臺(tái)、場(chǎng)景仿真、車(chē)載單元仿真技術(shù),開(kāi)發(fā)了針對(duì)車(chē)聯(lián)網(wǎng)V2N測(cè)試&V2X應(yīng)用場(chǎng)景測(cè)試仿真系統(tǒng),實(shí)
    的頭像 發(fā)表于 12-24 14:24 ?179次閱讀
    車(chē)聯(lián)網(wǎng)HIL<b class='flag-5'>仿真</b><b class='flag-5'>測(cè)試</b>解決方案

    智能座艙HIL仿真測(cè)試解決方案

    ,實(shí)現(xiàn)了在實(shí)驗(yàn)室條件下的覆蓋設(shè)計(jì)體驗(yàn)、功能驗(yàn)證、自動(dòng)化運(yùn)行、聯(lián)合仿真測(cè)試環(huán)境,為智能座艙系統(tǒng)的測(cè)試、分析和研究提供了有利支持。
    的頭像 發(fā)表于 12-24 11:08 ?411次閱讀
    智能座艙HIL<b class='flag-5'>仿真</b><b class='flag-5'>測(cè)試</b>解決方案

    智能駕駛HIL仿真測(cè)試解決方案

    經(jīng)緯恒潤(rùn)推出的新一代自主研發(fā)的智能駕駛HIL仿真測(cè)試系統(tǒng)可提供:逼真的道路交通場(chǎng)景、高精度的車(chē)輛動(dòng)力學(xué)模型和各智能駕駛傳感器仿真/臺(tái)架;實(shí)驗(yàn)管理、自動(dòng)化
    的頭像 發(fā)表于 12-23 10:54 ?537次閱讀
    智能駕駛HIL<b class='flag-5'>仿真</b><b class='flag-5'>測(cè)試</b>解決方案

    傅立葉變換在機(jī)器學(xué)習(xí)中的應(yīng)用 常見(jiàn)傅立葉變換的誤區(qū)解析

    傅里葉變換在機(jī)器學(xué)習(xí)中的應(yīng)用 傅里葉變換是一種將信號(hào)分解為其組成頻率分量的數(shù)學(xué)運(yùn)算,它在機(jī)器學(xué)習(xí)中的應(yīng)用日益廣泛。以下是一些主要的應(yīng)用領(lǐng)域: 信號(hào)處理 : 音頻處理:傅里葉變換有助于識(shí)別音頻信號(hào)中
    的頭像 發(fā)表于 12-06 17:06 ?242次閱讀

    傅立葉變換與時(shí)域信號(hào)的關(guān)系 傅立葉變換在音頻信號(hào)處理中的應(yīng)用

    傅里葉變換與時(shí)域信號(hào)的關(guān)系 傅里葉變換是一種數(shù)學(xué)工具,它能夠?qū)r(shí)域信號(hào)(即隨時(shí)間變化的信號(hào))轉(zhuǎn)換為頻域信號(hào)(即隨頻率變化的信號(hào)),或者將頻域信號(hào)轉(zhuǎn)換回時(shí)域信號(hào)。這種轉(zhuǎn)換關(guān)系使得我們能夠更加深入地理
    的頭像 發(fā)表于 12-06 17:02 ?506次閱讀

    傅立葉變換在圖像處理中的作用

    傅里葉變換在圖像處理中發(fā)揮著至關(guān)重要的作用。以下是傅里葉變換在圖像處理中的幾個(gè)主要作用: 一、圖像增強(qiáng)與去噪 去噪 :圖像中的噪聲通常表現(xiàn)為高頻分量。通過(guò)傅里葉變換,可以將圖像從空間域轉(zhuǎn)換到頻率域
    的頭像 發(fā)表于 12-06 16:55 ?536次閱讀

    傅立葉變換與拉普拉斯變換的區(qū)別

    傅里葉變換與拉普拉斯變換在信號(hào)處理中都是非常重要的工具,但它們之間存在一些顯著的區(qū)別。以下是對(duì)這兩種變換區(qū)別的介紹: 定義域與適用范圍 傅里葉變換 : 定義域:傅里葉
    的頭像 發(fā)表于 12-06 16:52 ?552次閱讀

    傅立葉變換的基本概念 傅立葉變換在信號(hào)處理中的應(yīng)用

    傅里葉變換的基本概念 傅里葉變換是一種數(shù)學(xué)變換,它能夠?qū)M(mǎn)足一定條件的某個(gè)函數(shù)表示成三角函數(shù)(正弦和/或余弦函數(shù))或者它們的積分的線(xiàn)性組合。這種變換在不同的研究領(lǐng)域有多種變體形式,如連
    的頭像 發(fā)表于 12-06 16:48 ?352次閱讀

    ESD應(yīng)用手冊(cè):汽車(chē)版現(xiàn)代化接口保護(hù)概念、測(cè)試仿真

    電子發(fā)燒友網(wǎng)站提供《ESD應(yīng)用手冊(cè):汽車(chē)版現(xiàn)代化接口保護(hù)概念、測(cè)試仿真.pdf》資料免費(fèi)下載
    發(fā)表于 11-19 14:38 ?0次下載

    經(jīng)典傅里葉變換快速傅里葉變換的區(qū)別

    經(jīng)典傅里葉變換快速傅里葉變換(FFT)在多個(gè)方面存在顯著的區(qū)別,以下是對(duì)這兩者的比較: 一、定義與基本原理 經(jīng)典傅里葉變換 : 是一種將滿(mǎn)足一定條件的某個(gè)函數(shù)表示成三角函數(shù)(正弦和/
    的頭像 發(fā)表于 11-14 09:37 ?407次閱讀

    EasyGo實(shí)時(shí)仿真丨PCS儲(chǔ)能變流器控制仿真應(yīng)用

    EasyGo 半實(shí)物仿真平臺(tái)代替實(shí)物設(shè)備進(jìn)行測(cè)試的可行性與精確性。 實(shí)驗(yàn)基于EasyGo CBox快速原型控制器的CPU+FPGA硬件架構(gòu),我們?cè)贑Box的CPU中部署控制算法和設(shè)置U
    發(fā)表于 09-20 10:17

    EasyGo實(shí)時(shí)仿真丨三相永磁同步電機(jī)開(kāi)環(huán)實(shí)驗(yàn)仿真應(yīng)用

    實(shí)驗(yàn)測(cè)試進(jìn)行對(duì)比,以驗(yàn)證利用EasyGo 半實(shí)物仿真平臺(tái)代替實(shí)物電機(jī)進(jìn)行測(cè)試的可行性與精確性。 實(shí)驗(yàn)基于EasyGo CBox
    發(fā)表于 08-23 09:58

    EasyGo實(shí)時(shí)仿真丨三相永磁同步電機(jī)開(kāi)環(huán)實(shí)驗(yàn)仿真應(yīng)用

    “CBox體積小巧,功能強(qiáng)大。CPU+FPGA的雙模塊建模方式使得仿真結(jié)構(gòu)更加清晰,配合EasyGoDeskSim圖形化上位機(jī)軟件,仿真測(cè)試輕松上手?!薄袊?guó)石油大學(xué)(華東)某實(shí)驗(yàn)
    的頭像 發(fā)表于 08-22 18:20 ?1142次閱讀
    EasyGo實(shí)時(shí)<b class='flag-5'>仿真</b>丨三相永磁同步電機(jī)開(kāi)環(huán)<b class='flag-5'>實(shí)驗(yàn)</b><b class='flag-5'>仿真</b>應(yīng)用

    仿真測(cè)試包含哪些內(nèi)容

    在當(dāng)今科技快速發(fā)展的時(shí)代,仿真測(cè)試作為一種重要的技術(shù)手段,被廣泛應(yīng)用于各個(gè)領(lǐng)域。無(wú)論是航空航天、汽車(chē)制造、醫(yī)學(xué)仿真,還是建筑設(shè)計(jì)、國(guó)防軍事以及城市交通等,
    的頭像 發(fā)表于 05-17 14:32 ?1052次閱讀

    如何使用SBench 6對(duì)數(shù)字化儀采集信號(hào)進(jìn)行處理?(三)——快速傅立葉變換(FFT)

    上一篇文章介紹了德思特SBench 6的平均運(yùn)算功能。本章將繼續(xù)為大家介紹SBench 6的快速傅立葉變換(FFT)。
    的頭像 發(fā)表于 01-23 10:38 ?605次閱讀
    如何使用SBench 6對(duì)數(shù)字化儀采集信號(hào)進(jìn)行處理?(三)——<b class='flag-5'>快速</b><b class='flag-5'>傅立葉</b><b class='flag-5'>變換</b>(FFT)
    主站蜘蛛池模板: 久久精品123| 啊轻点灬大JI巴又大又粗| 91女神娇喘| 国产精品伦理一二三区伦理| 久久九九青青国产精品| 色橹橹欧美在线观看视频高清 | 亚洲无线观看国产| YIN荡的老师系列第6部分视频| 黄页网站18以下勿看免费| 日日碰狠狠躁久久躁综合网| 中文字幕免费在线视频| 国产人妻精品午夜福利免费不卡| 欧美亚洲另类热图| 伊人久久中文大香线蕉综合| 国产精品久久久久秋霞影视| 欧美写真视频一区| 在线视频 亚洲| 国模精品一区二区三区视频| 色小妹影院| 99无人区码一码二码三| 久久免费国产| 亚洲欧美偷拍视频一区| 国产电影午夜成年免费视频| 欧美整片华人play| 67194成网页发布在线观看| 经典WC女厕所里TV| 亚洲大爷操| 国产精品色午夜视频免费看| 日韩一区二区在线免费观看| 97国产视频| 久久九九少妇免费看A片| 亚洲国产精品综合久久一线| 国产盗摄TP摄像头偷窥| 日本九九热在线观看官网| 99久久网站| 蜜臀亚洲AV永久无码精品老司机| 亚洲综合中文| 河南老太XXXXXHD| 亚洲高清无在码在线无弹窗| 国产精品久久国产三级国不卡顿 | 亚洲一区精品在线|