哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

教大家在Vivado中FFT IP調(diào)配置及應(yīng)用

FPGA之家 ? 來(lái)源:科學(xué)文化人 ? 作者:科學(xué)文化人 ? 2021-07-23 14:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

01

FFT簡(jiǎn)介

快速傅里葉變換 (Fast Fourier Transform,F(xiàn)FT), 即利用計(jì)算機(jī)計(jì)算離散傅里葉變換(DFT)的高效、快速計(jì)算方法的統(tǒng)稱,簡(jiǎn)稱FFT。DFT是實(shí)現(xiàn)了從頻域(頻域分析往往比時(shí)域分析更優(yōu)越)對(duì)信號(hào)與系統(tǒng)進(jìn)行分析。然而,隨著序列長(zhǎng)度的增加,計(jì)算量也顯著增加,對(duì)于計(jì)算機(jī)而言,處理時(shí)間就越長(zhǎng),消耗的資源也就越多。

忘了什么是傅里葉變換的同學(xué),趕緊拿出《信號(hào)與系統(tǒng)》翻一下。實(shí)在沒(méi)書(shū),找度娘。對(duì)于連續(xù)時(shí)間信號(hào)f(t),定義式如下:

傅里葉變換:4cfb997a-e10c-11eb-9e57-12bb97331649.png

傅里葉逆變換:4d056c16-e10c-11eb-9e57-12bb97331649.png

信號(hào)處理領(lǐng)域大名鼎鼎的傅里葉變換,正式由傅里葉提出的,不得不說(shuō),實(shí)在太偉大了,頂禮膜拜。

在信號(hào)處理中,由于計(jì)算機(jī)通常只能處理數(shù)字信號(hào),因此通過(guò)對(duì)連續(xù)信號(hào)進(jìn)行采樣離散化,進(jìn)而有了離散傅里葉變換。

話不多說(shuō),直入主題,首先把DFT公式搬出來(lái):

4d131370-e10c-11eb-9e57-12bb97331649.png

原信號(hào)x(t)的采樣信號(hào)x[n]也可以用X[K]來(lái)表示:

4d2a29ca-e10c-11eb-9e57-12bb97331649.png

1965年,庫(kù)利和圖基提出了快速傅里葉變換(FFT)算法,采用這種算法能使計(jì)算機(jī)計(jì)算DFT所需要的乘法次數(shù)大為減少,特別是被變換的抽樣點(diǎn)數(shù)N越多,F(xiàn)FT算法計(jì)算量的節(jié)省就越顯著。

常用計(jì)算方法:

時(shí)間抽取算法:令序列的長(zhǎng)度為N(2的冪),可以將時(shí)域序列x(n)分解為兩部分,一是偶數(shù)部分x(2n),另一部分是計(jì)數(shù)部分x(2n+1),于是信號(hào)序列x(n)的離散傅里葉變換可以用兩個(gè)N/2抽樣點(diǎn)的離散傅里葉變換來(lái)辨識(shí)核計(jì)算。

頻率抽取算法:按照頻率吧抽取的FFT算法是將頻域信號(hào)序列X(k)分解為奇偶兩部分,但算法仍然是由時(shí)域信號(hào)序列開(kāi)始逐級(jí)計(jì)算,同樣把N點(diǎn)分成N/2點(diǎn)計(jì)算FFT。

02

FFT原理

FFT是DFT的快速算法,可以將一個(gè)信號(hào)從時(shí)域變換到頻域。很多時(shí)候信號(hào)在時(shí)域很難進(jìn)行信號(hào)特征分析,變換到頻域后,就很容易看出信號(hào)的頻率、功率、相位等特征信息。

更多詳細(xì)的解釋,可移步看這里深入淺出的講解傅里葉變換(真正的通俗易懂)或者在CSDN中閱讀深入淺出解釋FFT系列(非公眾號(hào)文章,超鏈接失敗,抱歉,可去CSDN看原文博客),講得比較清楚透徹,不愧是10年碼齡的巨佬。在這里我就不再贅述了。

03

FFT IP Core使用

概述

以Xilinx Vivado設(shè)計(jì)套件中提供的FFT IP為例,簡(jiǎn)要說(shuō)明如何進(jìn)行FFT IP配置和設(shè)計(jì)。

FFT Core用于計(jì)算N點(diǎn)的DFT或IDFT,N=2m,m=3~16。對(duì)于計(jì)算FFT,有三種算術(shù)選項(xiàng)用于計(jì)算FFT:

全精度無(wú)縮放算法

定點(diǎn)縮放,提供縮放表

塊浮點(diǎn)(運(yùn)行時(shí)調(diào)整縮放)

對(duì)于N點(diǎn)大小,可對(duì)正向/逆向變換、縮放表循環(huán)前綴進(jìn)行配置。

提供四種可選架構(gòu):

Pipelined Streaming I/O

Radix-4 Burst I/O

Radix-2 Burst I/O

Radix-2 Lite Burst I/O

端口描述

FFT IP Core的端口如圖1所示,對(duì)端口的描述,參考產(chǎn)品指南PG-109-XFFT.pdf。

FFT IP配置

舉個(gè)栗子:?jiǎn)瓮ǖ溃?12點(diǎn),Radix-2,Burst I/O,定點(diǎn)數(shù),縮放,取整模式Truncation,輸入數(shù)據(jù)位寬16bit,相位因子位寬16,自然序輸出,無(wú)循環(huán)前綴。

在Vivado中創(chuàng)建工程后,在工程管理器下的IP Catalog中選擇并配置FFT IP,在IP配置向?qū)У闹敢?,依次進(jìn)行相關(guān)參數(shù)的配置,如圖2所示。配置通道數(shù),變換長(zhǎng)度,實(shí)現(xiàn)架構(gòu),數(shù)據(jù)格式,縮放,取整模式,數(shù)據(jù)呼出順序,是否插入循環(huán)前綴(CP)等。

在向?qū)б晥D左側(cè),可查看IP端口框圖,實(shí)現(xiàn)詳情以及時(shí)延信息。這里需要注意輸入輸出數(shù)據(jù)的格式以及配置通道數(shù)據(jù)的格式。

配置完成后,輸出生成定制FFT IP,最后再將其實(shí)例化到工程模塊中。

AXI-Stream注意事項(xiàng)

該IP的端口采用了標(biāo)準(zhǔn)的AXI-Stream協(xié)議,數(shù)據(jù)傳輸基本握手。

AXI信道規(guī)則

所有的TDATA和TUSER字段被打包成小端格式,也就是一個(gè)子字段的第0位與TDATA或TUSER的第0位對(duì)齊。

字段不包括在TDATA或TUSER中,除非以這種方式配置了核它需要字段出現(xiàn)。例如,如果核心配置為有一個(gè)固定的點(diǎn)大小,沒(méi)有位分配給指定點(diǎn)大小的NFFT字段。

所有的TDATA和TUSER矢量都是8bit的整數(shù)倍。

配置通道

配置通道端口信號(hào)如表1所示。

表1 配置通道端口信號(hào)

名稱 寬度 方向 描述
s_axis_config_tdata 可變 I 承載配置信息:CP_LEN,F(xiàn)WD/INV,NFFT和SCALE_SCH
s_axis_config_tvalid 1 I 由外部主機(jī)輸入,指示當(dāng)前數(shù)據(jù)可用
s_axis_config_tready 1 I 由從機(jī)輸入,指示從機(jī)可接收數(shù)據(jù)

配置通道(s_axis_config)接口是AXI通道,TDATA字段接口定義如下表2所示,所有需要paded的字段如果未達(dá)到8bit邊界,則需要擴(kuò)展到8bit邊界。擴(kuò)展的bit可以未任意值,設(shè)計(jì)為常量值可節(jié)省器件資源。

表2TDATA字段接口定義

字段名稱 寬度 Padded 描述
NFFT 5 yes 轉(zhuǎn)換點(diǎn)數(shù):NFFT為最大轉(zhuǎn)換點(diǎn)數(shù)或者更小點(diǎn)數(shù)。例如,一個(gè)1024點(diǎn)FFT可以計(jì)算1024點(diǎn),512點(diǎn),256點(diǎn)等。該值為log2(point_size)
CP_LEN Log2(最大point_size) no 循環(huán)前綴長(zhǎng)度:CP_LEN可以是0到(point_size-1)的任意值,該值僅在循環(huán)前綴插入有效
FWD_INV 1 no FWD_INV=1,表示FFT運(yùn)算;
FWD_INV=0,表示IFFT運(yùn)算。在多通道中,bit0(LSB)表示通道0配置,bit1表示通道1配置,以此類推。
SCALE_SCH 流水線I/O和Radix-4 I/O架構(gòu):2×ceil(NFFT/2)
Radix-2突發(fā) I/O和Radix-2Lite I/O架構(gòu):2×NFFT
no 縮放方案:
(1)對(duì)于突發(fā)I/O架構(gòu),每級(jí)縮放因子由2bit定義,縮放因子可以為3,2,1,0,代表右移bit數(shù)。例如,對(duì)于N=1024點(diǎn),Radix-4突發(fā)I/O的縮放因子為[1 0 2 3 2],對(duì)于N=128點(diǎn),Radix-2突發(fā)I/O或者Radix-2 Lite突發(fā)I/O架構(gòu),可能的縮放方案[1 1 1 1 0 1 2]
(2)對(duì)于流水I/O架構(gòu),縮放因子由每對(duì)Radix-2運(yùn)算級(jí)定義,也是采樣2bit位寬。例如,NFFT=256,可能的縮放因子為[2 2 2 3],當(dāng)N不是4的冪次時(shí),最后一級(jí)最大bit為1bit。例如,N-512,可能的縮放方案[0 2 2 2 ]或者[1 2 2 2],但是[2 2 2 2 ]是非法的,因?yàn)榇藭r(shí)縮放因子的MSB位只能是00或01.

其中,NFFT設(shè)置情況,如表3所示。需要注意的是,如果選項(xiàng)runtime configurable transform length被選后,變換點(diǎn)大小才可以在配置通道的NFFT字段進(jìn)行設(shè)置。

表3NFFT設(shè)置

NFFT[4:0] Transform size(N)
00011 8
00100 16
00101 32
00110 64
00111 128
01000 256
01001 512
01010 1024
01011 2048
01100 4096
01101 8192
01110 16384
01111 32768
10000 65536

正反變換及縮放

FWD_INV=1時(shí),正向變換;FWD_INV=0時(shí),逆向變換。

對(duì)于FFT/IFFT各級(jí)縮放,在不同的實(shí)現(xiàn)架構(gòu)中,縮放因子的設(shè)置有所不同??蓞⒖急? 或者產(chǎn)品指南:PG109-xfft.pdf文檔ch.4操作理論的Run Time Transform Configuration部分。

循環(huán)前綴(CP)

將輸出結(jié)果的尾部復(fù)制到頭部,輸出順序要選擇自然序。插入循環(huán)前綴,可逐幀設(shè)置,不用打斷幀處理進(jìn)程。

補(bǔ)充:定點(diǎn)數(shù)

FPGA處理過(guò)程中,常常要對(duì)浮點(diǎn)數(shù)進(jìn)行定點(diǎn)化處理。Matlab中提供了一個(gè)非常方便的定點(diǎn)化函數(shù)fi。

fi(data,s,w,f) 各參數(shù)的定義:

s:signed or unsigned 標(biāo)志;

signed: 包含符號(hào)位;

f:定點(diǎn)小數(shù)精度。

在FPGA處理定點(diǎn)乘法,可用乘法器IP—Multiplier。

04

FFT模塊設(shè)計(jì)demo

以調(diào)用FFT,并通過(guò)ROM預(yù)存所需數(shù)據(jù)進(jìn)行一個(gè)簡(jiǎn)單的demo設(shè)計(jì)。

利用FFT IP,搭建工程。分別使用兩個(gè)ROM存儲(chǔ)DMRS0的I、Q兩路數(shù)據(jù),外部主機(jī)斷言m_data_tready拉高時(shí),準(zhǔn)備開(kāi)始從ROM讀取數(shù)據(jù),同時(shí)配置FFT。IFFT計(jì)算輸出通過(guò)乘以一個(gè)系數(shù),使其幅度值接近于1。設(shè)計(jì)框圖如圖10所示。

以DMRS0信號(hào)5M帶寬300點(diǎn)(中間補(bǔ)零,至512點(diǎn))作IFFT為例,創(chuàng)建工程,編寫(xiě)RTL代碼。針對(duì)配置通道的數(shù)據(jù)配置(如SCALE_SCH、FWD/INV、CP_LEN、NFFT),假設(shè)基于Radix-2架構(gòu)作IFFT,不加循環(huán)前綴,不更改NFFT點(diǎn)數(shù),配置情況如下。

s_axis_config_tdata = 23'b0000_0000_0000_0000_0000_0000;

注意,高M(jìn)SB五位做了填充,使得TDATA的位寬是8的整數(shù)倍。

MATLAB進(jìn)行IFFT變換,并進(jìn)行適當(dāng)?shù)目s放,同時(shí)將FPGA仿真的結(jié)果導(dǎo)入,計(jì)算各自的幅度,并繪于同一圖中。

通過(guò)對(duì)比分析可知,MATLAB仿真與FPGA實(shí)現(xiàn)結(jié)果基本一致。

在LTE、5G無(wú)線通信中,IFFT和FFT變換是一個(gè)繞不過(guò)的話題。即便5G在探索非正交多址接入技術(shù)(NOMA),因主動(dòng)引入干擾,接收機(jī)設(shè)計(jì)復(fù)雜度急劇上升,能否被采用不得而知。

編輯:jq

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

    關(guān)注

    19

    文章

    860

    瀏覽量

    71388

原文標(biāo)題:Vivado中FFT IP配置及應(yīng)用

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    VivadoIP核被鎖定的解決辦法

    當(dāng)使用不同版本的Vivado打開(kāi)工程時(shí),IP核被鎖定的情況較為常見(jiàn)。不同版本的Vivado對(duì)IP核的支持程度和處理方式有所不同。
    的頭像 發(fā)表于 02-25 14:00 ?492次閱讀
    <b class='flag-5'>Vivado</b><b class='flag-5'>中</b><b class='flag-5'>IP</b>核被鎖定的解決辦法

    Vivado時(shí)序約束invert參數(shù)的作用和應(yīng)用場(chǎng)景

    Vivado的時(shí)序約束,-invert是用于控制信號(hào)極性的特殊參數(shù),應(yīng)用于時(shí)鐘約束(Clock Constraints)和延遲約束(Delay Constraints),用于指定
    的頭像 發(fā)表于 02-09 13:49 ?414次閱讀
    <b class='flag-5'>Vivado</b>時(shí)序約束<b class='flag-5'>中</b>invert參數(shù)的作用和應(yīng)用場(chǎng)景

    詳解FFT的頻率倉(cāng)與IP配置

    FFT 的輸出不是 “連續(xù)的頻率譜”,而是離散的、等寬的頻率區(qū)間,每個(gè)區(qū)間就稱為一個(gè) “頻率倉(cāng)”(簡(jiǎn)稱 “倉(cāng)”)??梢灶惐葹椋喊?“0Hz 到最高可測(cè)頻率” 的范圍分成了 N 個(gè)并排的 “箱子
    的頭像 發(fā)表于 01-26 16:58 ?387次閱讀
    詳解<b class='flag-5'>FFT</b>的頻率倉(cāng)與<b class='flag-5'>IP</b>核<b class='flag-5'>配置</b>

    vivado,怎么將e203內(nèi)核源代碼封裝成ip核,并添加總線?

    vivado,怎么將e203內(nèi)核源代碼封裝成ip核,并添加總線?
    發(fā)表于 11-10 07:22

    Hbirdv2vivado2018.3上的仿真工作

    不做介紹。 2、生成我們需要的.verilog文件。 方法一:ubuntu18.04配置好SDK,具體配置可以參考《手把手教你設(shè)計(jì)CPU----RISC-V處理器》或《RISC
    發(fā)表于 10-31 08:43

    利用vivado實(shí)現(xiàn)對(duì)e200_opensource 蜂鳥(niǎo)E203一代的仿真

    否則會(huì)報(bào)錯(cuò) config.v添加這一句話,以便后續(xù)的仿真 tb_top.v里可以添加verilog文件路徑,以便可以對(duì)編譯后的verilog文件進(jìn)行仿真 右鍵將tb_top.v設(shè)置為T(mén)op
    發(fā)表于 10-31 06:14

    VIVADO對(duì)NICE進(jìn)行波形仿真的小問(wèn)題的解決

    https://www.rvmcu.com/community-topic-id-386.html 以上鏈接為如何生成.verilog,并在VIVADO中生成波形的例子。我們實(shí)踐過(guò)程,發(fā)現(xiàn)了兩個(gè)
    發(fā)表于 10-27 06:41

    vcs和vivado聯(lián)合仿真

    我們?cè)谧鰠①愓n題的過(guò)程中發(fā)現(xiàn),上FPGA開(kāi)發(fā)板跑系統(tǒng)時(shí),有時(shí)需要添加vivadoip核。但是vivado仿真比較慢,vcs也不能直接對(duì)添加了vivado
    發(fā)表于 10-24 07:28

    Vivado浮點(diǎn)數(shù)IP核的握手信號(hào)

    Vivado浮點(diǎn)數(shù)IP核的握手信號(hào) 我們的設(shè)計(jì)方案,F(xiàn)PU計(jì)算單元將收到的三條數(shù)據(jù)和使能信號(hào)同步發(fā)給20多個(gè)模塊,同時(shí)只有一個(gè)模塊被時(shí)鐘使能,進(jìn)行計(jì)算,但結(jié)果都會(huì)保留,發(fā)給數(shù)選。計(jì)算單元還需接受
    發(fā)表于 10-24 07:01

    Vivado浮點(diǎn)數(shù)IP核的一些設(shè)置注意點(diǎn)

    Vivado浮點(diǎn)數(shù)IP核的一些設(shè)置注意點(diǎn) 我們vivado2018.3使用了Floating-point(7.1)
    發(fā)表于 10-24 06:25

    如何在Vivado上仿真蜂鳥(niǎo)SOC,仿真NucleiStudio編譯好的程序

    如標(biāo)題所示,我們分享如何在Vivado上仿真蜂鳥(niǎo)SOC,仿真NucleiStudio編譯好的程序 具體步驟 1. 將蜂鳥(niǎo)soc移植到Vivado 只要將端口映射好,注意配置好時(shí)鐘和bank
    發(fā)表于 10-21 11:08

    Vivado無(wú)法選中開(kāi)發(fā)板的常見(jiàn)原因及解決方法

    使用 AMD Vivado Design Suite 對(duì)開(kāi)發(fā)板(Evaluation Board)進(jìn)行 FPGA 開(kāi)發(fā)時(shí),我們通常希望創(chuàng)建工程時(shí)直接選擇開(kāi)發(fā)板,這樣 Vivado
    的頭像 發(fā)表于 07-15 10:19 ?1923次閱讀
    <b class='flag-5'>Vivado</b>無(wú)法選中開(kāi)發(fā)板的常見(jiàn)原因及解決方法

    Keysight是德MSOX3054T示波器FFT頻譜分析通信領(lǐng)域的深度應(yīng)用

    Keysight是德MSOX3054T示波器憑借其卓越性能,通信領(lǐng)域發(fā)揮著關(guān)鍵作用,尤其是其FFT頻譜分析功能,為通信信號(hào)的深入剖析提供了有力手段。? ? 現(xiàn)代通信系統(tǒng),信號(hào)的調(diào)
    的頭像 發(fā)表于 06-27 16:01 ?737次閱讀
    Keysight是德MSOX3054T示波器<b class='flag-5'>FFT</b>頻譜分析<b class='flag-5'>在</b>通信領(lǐng)域的深度應(yīng)用

    STM32多通道FFT運(yùn)算異常的原因?怎么解決?

    使用) 一、問(wèn)題描述 當(dāng)前項(xiàng)目中,ADC采樣率為 960kHz,共 16個(gè)通道。采樣數(shù)據(jù)通過(guò)DMA搬運(yùn)至內(nèi)存,隨后對(duì)每個(gè)通道數(shù)據(jù)進(jìn)行FFT頻譜分析。 實(shí)際測(cè)試,只處理1個(gè)通道FFT時(shí)系統(tǒng)運(yùn)行正常;但當(dāng)
    發(fā)表于 06-19 06:27

    JESD204B IP核的配置與使用

    物理層的位置,一種是物理層JESD204 IP里;另外一種是物理層JESD204 IP外部,需要再配置JESD204 phy
    的頭像 發(fā)表于 05-24 15:05 ?2630次閱讀
    JESD204B <b class='flag-5'>IP</b>核的<b class='flag-5'>配置</b>與使用
    台安县| 宁德市| 琼结县| 同德县| 定西市| 西乌珠穆沁旗| 黄平县| 武汉市| 交城县| 洪湖市| 怀安县| 碌曲县| 白玉县| 盱眙县| 宣城市| 拉孜县| 平和县| 咸阳市| 巩留县| 恩平市| 教育| 广河县| 平阳县| 策勒县| 旌德县| 田阳县| 丰台区| 蓬莱市| 柳河县| 西充县| 乐亭县| 龙岩市| 凭祥市| 泾源县| 通山县| 育儿| 瓮安县| 台州市| 通渭县| 肃南| 双辽市|