在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

教大家在Vivado中FFT IP調配置及應用

FPGA之家 ? 來源:科學文化人 ? 作者:科學文化人 ? 2021-07-23 14:29 ? 次閱讀

01

FFT簡介

快速傅里葉變換 (Fast Fourier Transform,FFT), 即利用計算機計算離散傅里葉變換(DFT)的高效、快速計算方法的統稱,簡稱FFT。DFT是實現了從頻域(頻域分析往往比時域分析更優越)對信號與系統進行分析。然而,隨著序列長度的增加,計算量也顯著增加,對于計算機而言,處理時間就越長,消耗的資源也就越多。

忘了什么是傅里葉變換的同學,趕緊拿出《信號與系統》翻一下。實在沒書,找度娘。對于連續時間信號f(t),定義式如下:

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

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

信號處理領域大名鼎鼎的傅里葉變換,正式由傅里葉提出的,不得不說,實在太偉大了,頂禮膜拜。

在信號處理中,由于計算機通常只能處理數字信號,因此通過對連續信號進行采樣離散化,進而有了離散傅里葉變換。

話不多說,直入主題,首先把DFT公式搬出來:

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

原信號x(t)的采樣信號x[n]也可以用X[K]來表示:

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

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

常用計算方法:

時間抽取算法:令序列的長度為N(2的冪),可以將時域序列x(n)分解為兩部分,一是偶數部分x(2n),另一部分是計數部分x(2n+1),于是信號序列x(n)的離散傅里葉變換可以用兩個N/2抽樣點的離散傅里葉變換來辨識核計算。

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

02

FFT原理

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

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

03

FFT IP Core使用

概述

以Xilinx Vivado設計套件中提供的FFT IP為例,簡要說明如何進行FFT IP配置和設計。

FFT Core用于計算N點的DFT或IDFT,N=2m,m=3~16。對于計算FFT,有三種算術選項用于計算FFT:

全精度無縮放算法

定點縮放,提供縮放表

塊浮點(運行時調整縮放)

對于N點大小,可對正向/逆向變換、縮放表循環前綴進行配置。

提供四種可選架構:

Pipelined Streaming I/O

Radix-4 Burst I/O

Radix-2 Burst I/O

Radix-2 Lite Burst I/O

端口描述

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

FFT IP配置

舉個栗子:單通道,512點,Radix-2,Burst I/O,定點數,縮放,取整模式Truncation,輸入數據位寬16bit,相位因子位寬16,自然序輸出,無循環前綴。

在Vivado中創建工程后,在工程管理器下的IP Catalog中選擇并配置FFT IP,在IP配置向導的指引下,依次進行相關參數的配置,如圖2所示。配置通道數,變換長度,實現架構,數據格式,縮放,取整模式,數據呼出順序,是否插入循環前綴(CP)等。

在向導視圖左側,可查看IP端口框圖,實現詳情以及時延信息。這里需要注意輸入輸出數據的格式以及配置通道數據的格式。

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

AXI-Stream注意事項

該IP的端口采用了標準的AXI-Stream協議,數據傳輸基本握手。

AXI信道規則

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

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

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

配置通道

配置通道端口信號如表1所示。

表1 配置通道端口信號

名稱 寬度 方向 描述
s_axis_config_tdata 可變 I 承載配置信息:CP_LEN,FWD/INV,NFFT和SCALE_SCH
s_axis_config_tvalid 1 I 由外部主機輸入,指示當前數據可用
s_axis_config_tready 1 I 由從機輸入,指示從機可接收數據

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

表2TDATA字段接口定義

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

其中,NFFT設置情況,如表3所示。需要注意的是,如果選項runtime configurable transform length被選后,變換點大小才可以在配置通道的NFFT字段進行設置。

表3NFFT設置

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時,正向變換;FWD_INV=0時,逆向變換。

對于FFT/IFFT各級縮放,在不同的實現架構中,縮放因子的設置有所不同。可參考表2 或者產品指南:PG109-xfft.pdf文檔ch.4操作理論的Run Time Transform Configuration部分。

循環前綴(CP)

將輸出結果的尾部復制到頭部,輸出順序要選擇自然序。插入循環前綴,可逐幀設置,不用打斷幀處理進程。

補充:定點數

FPGA處理過程中,常常要對浮點數進行定點化處理。Matlab中提供了一個非常方便的定點化函數fi。

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

s:signed or unsigned 標志;

signed: 包含符號位;

f:定點小數精度。

在FPGA處理定點乘法,可用乘法器IP—Multiplier。

04

FFT模塊設計demo

以調用FFT,并通過ROM預存所需數據進行一個簡單的demo設計。

利用FFT IP,搭建工程。分別使用兩個ROM存儲DMRS0的I、Q兩路數據,外部主機斷言m_data_tready拉高時,準備開始從ROM讀取數據,同時配置FFT。IFFT計算輸出通過乘以一個系數,使其幅度值接近于1。設計框圖如圖10所示。

以DMRS0信號5M帶寬300點(中間補零,至512點)作IFFT為例,創建工程,編寫RTL代碼。針對配置通道的數據配置(如SCALE_SCH、FWD/INV、CP_LEN、NFFT),假設基于Radix-2架構作IFFT,不加循環前綴,不更改NFFT點數,配置情況如下。

s_axis_config_tdata = 23'b0000_0000_0000_0000_0000_0000;

注意,高MSB五位做了填充,使得TDATA的位寬是8的整數倍。

MATLAB進行IFFT變換,并進行適當的縮放,同時將FPGA仿真的結果導入,計算各自的幅度,并繪于同一圖中。

通過對比分析可知,MATLAB仿真與FPGA實現結果基本一致。

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

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Vivado
    +關注

    關注

    19

    文章

    815

    瀏覽量

    66771

原文標題:Vivado中FFT IP配置及應用

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Vivado Xilinx FFT IP核v9.0使用說明

    一 傅里葉變換FFT 想必大家對傅里葉老人家都不陌生了,網上也有這方面的很多資料。通過FFT將時域信號轉換到頻域,從而對一些時域上難以分析的信號
    的頭像 發表于 01-08 11:33 ?368次閱讀
    <b class='flag-5'>Vivado</b> Xilinx <b class='flag-5'>FFT</b> <b class='flag-5'>IP</b>核v9.0使用說明

    詳解Linux系統下IP和網關配置

    配置IP的目的使虛擬機可以聯網。
    的頭像 發表于 01-03 10:01 ?365次閱讀
    詳解Linux系統下<b class='flag-5'>IP</b>和網關<b class='flag-5'>配置</b>

    dsp28035用使用cla來進行fft要怎么配置

    dsp28035用使用cla來進行fft,f28035.cmd要怎么配置,假設是adc采樣進來的數據要進行fft,那還需要怎么其他的配置
    發表于 12-12 08:27

    VivadoDDRX控制器(mig)ip配置關于命令序號選擇和地址映射說明

    本篇主要討論VivadoDDRX控制器(mig)ip配置關于命令序號選擇和地址映射說明(一) 利用Xilinx 7系列FPGA開發時,
    的頭像 發表于 11-27 09:30 ?1073次閱讀
    <b class='flag-5'>Vivado</b><b class='flag-5'>中</b>DDRX控制器(mig)<b class='flag-5'>ip</b>核<b class='flag-5'>配置</b><b class='flag-5'>中</b>關于命令序號選擇和地址映射說明

    vivado導入舊版本的項目,IP核心被鎖。

    vivado導入其他版本的項目的時候,IP核被鎖,無法解開,請問該如何解決。 使用軟件:vivado 2019.2 導入項目使用版本:vivado 2018
    發表于 11-08 21:29

    VivadoFFT IP核的使用教程

    本文介紹了VidadoFFT IP核的使用,具體內容為:調用IP核>>配置界面介紹>>IP核端
    的頭像 發表于 11-06 09:51 ?1384次閱讀
    <b class='flag-5'>Vivado</b><b class='flag-5'>中</b><b class='flag-5'>FFT</b> <b class='flag-5'>IP</b>核的使用教程

    EtherNet/IP轉CANopen協議網關模塊的配置及應用詳解

    智控YC-EIP-COP。下面作者為大家詳細講解一下該設備的主要功能及詳細配置方法。 一,設備主要功能 遠創智控YC-EIP-COP連接到EtherNet/IP總線做為從站使用,連接
    的頭像 發表于 08-02 09:43 ?354次閱讀
    EtherNet/<b class='flag-5'>IP</b>轉CANopen協議網關模塊的<b class='flag-5'>配置</b>及應用詳解

    TCP IP協議屬性設置IP配置

    現代網絡,TCP/IP協議是基礎架構的重要組成部分。掌握TCP/IP協議屬性設置IP
    的頭像 發表于 07-23 10:10 ?571次閱讀

    交換機怎么配置IP地址

      構建和管理網絡架構,交換機作為核心設備之一,其IP地址的配置是確保網絡正常運行的重要步驟。正確配置交換機的
    的頭像 發表于 06-06 11:16 ?1.2w次閱讀

    ubuntu固定ip怎么配置?

    Ubuntu系統配置固定IP地址通常涉及編輯網絡配置文件。以下是配置固定
    的頭像 發表于 06-03 17:26 ?3881次閱讀

    如何利用Tcl腳本Manage IP方式下實現對IP的高效管理

    Vivado下,有兩種方式管理IP。一種是創建FPGA工程之后,在當前工程中選中IP Catalog,生成所需IP,這時相應的
    的頭像 發表于 04-22 12:22 ?876次閱讀
    如何利用Tcl腳本<b class='flag-5'>在</b>Manage <b class='flag-5'>IP</b>方式下實現對<b class='flag-5'>IP</b>的高效管理

    香港裸機云多IP服務器都有哪些配置?

    香港裸機云多IP服務器是一種高效、靈活的云計算服務,為用戶提供了多IP地址的配置選項,以滿足各種復雜的網絡需求。這種服務器配置上具有豐富的
    的頭像 發表于 04-18 09:58 ?385次閱讀

    Vivado 使用Simulink設計FIR濾波器

    設計的濾波器性能相同。 xilinx新版本的vivado中將simulink的WaveScope刪掉了,信號觀測方式換為和vivado debug相同的窗口,更為靈活和人性化。
    發表于 04-17 17:29

    示波器的 FFT 功能怎么調?

    示波器fft功能-示波器的快速傅立葉變換 FFT功能非常有用。是德科技與您分享keysight示波器fft調出來的方法。Keysight示波器FF
    的頭像 發表于 03-19 18:04 ?3321次閱讀
    示波器的 <b class='flag-5'>FFT</b> 功能怎么調?

    WLAN沒有有效的IP配置怎么辦

    WLAN 是無線局域網技術的縮寫,已經成為我們日常生活不可或缺的一部分。然而,使用 WLAN 的過程,我們可能會遇到一些問題,其中之一就是 WLAN 的無有效 IP
    的頭像 發表于 02-20 14:17 ?4033次閱讀
    主站蜘蛛池模板: 亚洲国产精品婷婷久久| 国产精品一久久香蕉产线看| 狼人射综合| 国产午夜精品福利| 日韩亚洲人成在线综合日本| 狼色网| 日韩色影视| 四虎影院台湾辣妹| 日韩视频 中文字幕 视频一区| 人人入人人爱| 韩国三级在线视频| 永久视频在线观看| 久久午夜国产片| 黄色刺激网站| 狠狠干狠狠艹| 特级中国aaa毛片| 欧美日韩色综合网站| 国产三级视频| 天天曰天天干天天操| 97夜夜操| 国产亚洲欧美一区二区| 四虎影视大全免费入口| 玖玖玖精品视频免费播放| 中国一级特黄剌激爽毛片| 免费一级黄| 18满xo影院视频免费体验区| 综合色婷婷| 男女交性拍拍拍高清视频| avtt天堂网永久资源| 久久久久久免费观看| 中文字幕在线看视频一区二区三区| 在线网址你懂的| 欧美成人福利| 午夜看片在线| 免费视频在线看| 亚洲伊人久久大香线蕉综合图片| 日本黄网站高清色大全| www.亚洲视频.com| 高清一本之道加勒比在线| 狠狠色噜噜狠狠狠狠888奇米| 三级毛片在线播放|