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

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

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

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

基于Quartus II的綜合仿真實(shí)現(xiàn)FFT IP核的FFT算法

電子設(shè)計(jì) ? 來源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-01-07 09:33 ? 次閱讀

引 言

數(shù)字信號處理領(lǐng)域中FFT算法有著廣泛的應(yīng)用。目前現(xiàn)有的文獻(xiàn)大多致力于研究利用FFT算法做有關(guān)信號處理、參數(shù)估計(jì)、F+FT蝶形運(yùn)算單元與地址單元設(shè)計(jì)、不同算法的FFT實(shí)現(xiàn)以及FFT模型優(yōu)化等方面。而FPGA廠商Altera公司和Xilinx公司都研制了FFT IP核,性能非常優(yōu)越。在FFT的硬件實(shí)現(xiàn)中,需要考慮的不僅僅是算法運(yùn)算量,更重要的是算法的復(fù)雜性、規(guī)整性和模塊化,而有關(guān)利用FFT IP核實(shí)現(xiàn)FFT算法卻涉及不多。這里從Altera IP核出發(fā),建立了基4算法的512點(diǎn)FFT工程,對不同參數(shù)設(shè)置造成的誤差問題進(jìn)行分析,并在EP2C70F896C8器件上進(jìn)行基于Quartus II的綜合仿真,得到利用FFT IP核的FFT算法高效實(shí)現(xiàn),最后利用Matlab進(jìn)行的計(jì)算機(jī)仿真分析證明了工程結(jié)果的正確性。

1 算法原理

FFT算法是基于離散傅里葉變換(DFT),如式(1)和式(2):

基于Quartus II的綜合仿真實(shí)現(xiàn)FFT IP核的FFT算法

求和運(yùn)算的嵌套分解以及復(fù)數(shù)乘法的對稱性得以實(shí)現(xiàn)。其中一類FFT算法為庫利一圖基(Cooley-Tukey)基r按頻率抽選(DIF)法,將輸入序列循環(huán)分解為N/r個(gè)長度為r的序列,并需要logr N級運(yùn)算。算法的核心操作是蝶型運(yùn)算,蝶型運(yùn)算的速度直接影響著整個(gè)設(shè)計(jì)的速度。

基4頻域抽取FFT算法是指把輸出序列X(k)按其除4的余數(shù)不同來分解為越來越短的序列,實(shí)現(xiàn)x(n)的DFT算法。FFT的每一級的運(yùn)算都是有N/4個(gè)蝶形運(yùn)算構(gòu)成,第m級的一個(gè)蝶形運(yùn)算的四節(jié)點(diǎn)分別為Xm(k),Xm(k+N/4m),Xm(k+2N/4m)以及Xm(k+3N/4m),所以每一個(gè)蝶形運(yùn)算結(jié)構(gòu)完成以下基本迭代運(yùn)算:

基于Quartus II的綜合仿真實(shí)現(xiàn)FFT IP核的FFT算法

式(3)~式(6)中:m表示第m級蝶形算法;k為數(shù)據(jù)所在的行數(shù);N為所要計(jì)算的數(shù)據(jù)的點(diǎn)數(shù);WN為旋轉(zhuǎn)因子。

將輸入序列循環(huán)分解為4點(diǎn)序列的基4分解,使用4點(diǎn)FFT在乘法上更具優(yōu)勢,Altera的:FFT兆核選用的就是基4運(yùn)算,若N是2的奇數(shù)冪的情況下,F(xiàn)FT IP核則自動在完成轉(zhuǎn)換的最后使用基2運(yùn)算。

2 FFT兆核(IP)函數(shù)

FFT Core支持4種I/O數(shù)據(jù)流結(jié)構(gòu):流(Stream-ing)、變量流(Variable Streaming)、緩沖突發(fā)(BufferedBurt)、突發(fā)(Burst)。流結(jié)構(gòu)允許輸入數(shù)據(jù)連續(xù)處理,并輸出連續(xù)的復(fù)數(shù)據(jù)流,這個(gè)過程不需要停止FFT函數(shù)數(shù)據(jù)流的進(jìn)出。變量流結(jié)構(gòu)允許輸入數(shù)據(jù)連續(xù)處理,并產(chǎn)生一個(gè)與流結(jié)構(gòu)相似連續(xù)輸出數(shù)據(jù)流。緩沖突發(fā)數(shù)據(jù)流結(jié)構(gòu)的FFT需要的存儲器資源比流動I/O數(shù)據(jù)流結(jié)構(gòu)少,但平均模塊吞吐量減少。突發(fā)數(shù)據(jù)流結(jié)構(gòu)的執(zhí)行過程和緩沖突發(fā)結(jié)構(gòu)相同,不同的是,對于給定參數(shù)設(shè)置,突發(fā)結(jié)構(gòu)在降低平均吞吐量的前提下需要更少的存儲資源。

3 FFT處理器引擎結(jié)構(gòu)

FFT兆核函數(shù)可以通過定制參數(shù)來使用兩種不同的引擎結(jié)構(gòu):四輸出(Quad-outlput)或單輸出(Signal-output)引擎結(jié)構(gòu)。為了增加FFT兆核函數(shù)的總吞吐量,也可以在一個(gè)FFT兆核函數(shù)變量中使用多個(gè)并行引擎。本文建立一個(gè)基于QuartusⅡ7.O計(jì)算24位512點(diǎn)FFT工程,采用四輸出FFT引擎結(jié)構(gòu),如圖1所示。

基于Quartus II的綜合仿真實(shí)現(xiàn)FFT IP核的FFT算法

復(fù)取樣數(shù)據(jù)X[k,m]從內(nèi)部存儲器并行讀出并由變換開關(guān)(SW)重新排序,排序后的取樣數(shù)據(jù)由基4處理器處理并得到復(fù)數(shù)輸出G[k,m],由于基4按頻率抽選(DIF)分解方法固有的數(shù)字特點(diǎn),在蝶形處理器輸出上僅需要3個(gè)復(fù)數(shù)乘法器完成3次乘旋轉(zhuǎn)因子(有一個(gè)因子為1,不需要乘)計(jì)算。這種實(shí)現(xiàn)結(jié)構(gòu)在一個(gè)單時(shí)鐘周期內(nèi)計(jì)算所有四個(gè)基4蝶形復(fù)數(shù)輸出。

同時(shí),為了辨別取樣數(shù)據(jù)的最大動態(tài)范圍,四個(gè)輸出由塊浮點(diǎn)單元(BFPU)并行估計(jì),丟棄適當(dāng)?shù)淖畹臀?LSB),在寫入內(nèi)部存儲器之前對復(fù)數(shù)值進(jìn)行四舍五入并行重新排序。對于要求轉(zhuǎn)換時(shí)間盡量小的應(yīng)用,四輸出引擎結(jié)構(gòu)是最佳的選擇;對于要求資源盡量少的應(yīng)用,單輸出引擎結(jié)構(gòu)比較合適。為了增加整個(gè)FFT吞吐量,可以采用多并行的結(jié)構(gòu)。

4 系統(tǒng)驗(yàn)證

4.1 工程仿真

選擇CycloneⅡ系列的EP2C70F896C8芯片來實(shí)現(xiàn),先在QuartusⅡ軟件下進(jìn)行綜合仿真,初始化參數(shù)設(shè)置FFT變換長度為512點(diǎn),數(shù)據(jù)和旋轉(zhuǎn)因子精度為24 b,選擇緩沖突發(fā)的數(shù)據(jù)流結(jié)構(gòu),四輸出引擎并行FFT引擎?zhèn)€數(shù)為4個(gè),復(fù)數(shù)乘法器結(jié)構(gòu)為“4/Mults/2Adders”。EP2C70F896C8芯片包括68 416個(gè)邏輯單元,31 112個(gè)寄存器單元,最大用戶輸入/輸出引腳622個(gè),總RAM達(dá)1 152 000 b,其布線資源由密布的可編程開關(guān)來實(shí)現(xiàn)相互間的連接,這種結(jié)構(gòu)完全符合實(shí)現(xiàn)FFT電路的要求。

經(jīng)綜合和時(shí)序分析得知:其工作時(shí)鐘頻率

69.58 MHz(period=14.372 ns),進(jìn)行一次蝶形運(yùn)算只需約14 ns,全部512點(diǎn)數(shù)據(jù)處理完成則需14.372×4×512=29.3μs滿足時(shí)序要求。具體綜合結(jié)果如圖2所示,為Quartus軟件環(huán)境下仿真得到。

基于Quartus II的綜合仿真實(shí)現(xiàn)FFT IP核的FFT算法

圖3則表明了FFT的綜合邏輯結(jié)果,為編譯成功后的RTL級電路描述。

基于Quartus II的綜合仿真實(shí)現(xiàn)FFT IP核的FFT算法

FFT處理器模塊采用緩沖突發(fā)數(shù)據(jù)流結(jié)構(gòu)的信號時(shí)序圖如圖4所示,在系統(tǒng)復(fù)位信號(reset_n)變?yōu)榈碗娖胶螅瑪?shù)據(jù)源將sink_ready信號置高電平,表明有能力接收輸入信號。數(shù)據(jù)源加載第一個(gè)復(fù)數(shù)數(shù)據(jù)樣點(diǎn)到FFT函數(shù)中,同時(shí)將sink_sop信號置高電平,表示輸入模塊的開始。在下一個(gè)時(shí)鐘周期,sink_sop信號被復(fù)位,并以自然順序加載后面的N-1個(gè)復(fù)輸人數(shù)據(jù)樣點(diǎn)。

基于Quartus II的綜合仿真實(shí)現(xiàn)FFT IP核的FFT算法

當(dāng)完全載入輸入模塊時(shí),F(xiàn)FT函數(shù)復(fù)位sink_ena信號,表示FFT不再接收其他輸入數(shù)據(jù)并開始計(jì)算輸入數(shù)據(jù)模塊的變換結(jié)果。在FFT處理器內(nèi)部輸入緩沖區(qū)讀取樣點(diǎn)之后,F(xiàn)FT將sink_ena信號重新置高電平,準(zhǔn)備讀取下一個(gè)輸入模塊。下一個(gè)輸入模塊的起點(diǎn)由sink_sop脈沖確定。當(dāng)FFT完成了輸入模塊的變換,并且從設(shè)備匯端將source_ready信號(表示數(shù)據(jù)從設(shè)備接收器可以接收輸出數(shù)據(jù)模塊)置高電平,并且以自然順序輸出復(fù)數(shù)變換域數(shù)據(jù)模塊。

4.2 仿真結(jié)果分析

在編譯綜合后,工程當(dāng)中含有基于FFT IP核生成的Matlab文件,這樣就可在Matlab下對工程結(jié)果進(jìn)行進(jìn)一步測試,構(gòu)建信號,并與Matlab計(jì)算的理論結(jié)果進(jìn)行比較。設(shè)輸入函數(shù)為z(t)=20 000sin(20πt),點(diǎn)數(shù)N=512,采樣頻率為500 Hz,即采樣間隔為O.002 s,采樣的時(shí)間長度為O.002 x 512 s,該正弦信號通過512點(diǎn)FFT處理結(jié)果如圖5所示,正弦信號基于IP核Matlab文件仿真結(jié)果如圖6所示。

基于Quartus II的綜合仿真實(shí)現(xiàn)FFT IP核的FFT算法

由圖5,圖6比較可以看出FFT、處理器處理后的結(jié)果和Matlab計(jì)算的理論結(jié)果基本一致。都在第11點(diǎn)和第503點(diǎn)取得最大FFT絕對值,兩者的誤差只是在FFT頻譜絕對值的幅度大小原因:一是Altera FFT兆核函數(shù)的塊浮點(diǎn)輸出與Matlab這種全精度FFT的輸出相比,存在最低位(LSB)被丟棄的影響;二是工程初始化IP核采用的數(shù)據(jù)精度取24位(V7.0 IP最大支持24位數(shù)據(jù)精度)。

5 結(jié) 語

在利用FFT IP核進(jìn)行FFT算法實(shí)現(xiàn)的同時(shí),對仿真結(jié)果做了全面分析,由于IP核的可塑性很強(qiáng),增加了芯片的靈活性。使用Altera FFT的IP Core大大減少了產(chǎn)品的開發(fā)時(shí)間,Altera還可進(jìn)一步實(shí)現(xiàn)加窗功能,甚至DDC部分(單端信號向I/Q轉(zhuǎn)換)整合到其FFT處理器模塊中,能進(jìn)一層次簡化開發(fā)的流程,在今后實(shí)際工程應(yīng)用中高效利用。

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

    關(guān)注

    68

    文章

    19535

    瀏覽量

    231860
  • FPGA
    +關(guān)注

    關(guān)注

    1635

    文章

    21837

    瀏覽量

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

    關(guān)注

    50

    文章

    4155

    瀏覽量

    134486
收藏 人收藏

    評論

    相關(guān)推薦

    QuartusFFT模塊中文說明

    Windows操作系統(tǒng)下使用Quartus II軟件和IP工具臺創(chuàng)建一個(gè)FFT函數(shù)的用戶變量。當(dāng)產(chǎn)生一個(gè)
    發(fā)表于 08-12 16:14

    fft ip仿真的驗(yàn)證

    我用quartus II調(diào)用modelsim仿真fft ip
    發(fā)表于 09-20 12:48

    在做FFT IP仿真時(shí)遇到問題,居然不能生成FFT仿真文件,求解答

    quartus II13.0版本上調(diào)用FFT IP并進(jìn)行modelsim-altera仿真
    發(fā)表于 10-07 22:23

    xilinx FPGA的FFT IP的調(diào)用

    有沒有大神可以提供xilinx FPGA的FFT IP的調(diào)用的verilog 的參考程序,最近在學(xué)習(xí)FFTIP
    發(fā)表于 12-25 17:05

    fft ip 仿真問題

    仿真fft ip時(shí) 輸出信號一直為0,檢查了輸入波形,應(yīng)該沒有問題,大家?guī)兔纯窗奢斎胧怯蓃om里面的mif文件產(chǎn)生的信號。
    發(fā)表于 11-21 10:44

    有關(guān)modelsim仿真fft出現(xiàn)的錯(cuò)誤

    我的quartus ii 版本13.1fft版本13.1 modelsim版本64位 10.4在quartus
    發(fā)表于 02-26 16:21

    QUARTUS 13.1在生成FFT IP時(shí)仿真文件生成不了?

    最近在做FFT IP,,走了好多彎路,LISENCE激活過了0034的IP,通過修改LISENCE.DAT的方法。后來生成
    發(fā)表于 04-03 16:16

    基于FPGA的FFT和IFFT IP應(yīng)用實(shí)例

    FFT IP進(jìn)行運(yùn)算,輸出FFT結(jié)果的實(shí)部和虛部分別存儲在fft_result_real.txt和ff
    發(fā)表于 08-10 14:30

    利用FFT IP Core實(shí)現(xiàn)FFT算法

    利用FFT IP Core實(shí)現(xiàn)FFT算法 摘要:結(jié)合工程實(shí)踐,介紹了一種利用FFT
    發(fā)表于 01-16 10:04 ?7000次閱讀
    利用<b class='flag-5'>FFT</b> <b class='flag-5'>IP</b> Core<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>FFT</b><b class='flag-5'>算法</b>

    Quartusfft ip core的使用

    在論壇中經(jīng)常有人會問起 altera 軟件fft ip 中使用方法,有些人在使用這個(gè)fft ip core 的時(shí)候沒有得到正確的結(jié)果,事實(shí)上,這個(gè)i
    發(fā)表于 05-10 15:19 ?0次下載
    <b class='flag-5'>Quartus</b>中<b class='flag-5'>fft</b> <b class='flag-5'>ip</b> core的使用

    基于Xilinx_FPGA_IPFFT算法的設(shè)計(jì)與實(shí)現(xiàn)

    利用FPGA的IP設(shè)計(jì)和實(shí)現(xiàn)FFT算法
    發(fā)表于 05-24 14:14 ?37次下載

    FFT變換的IP的源代碼

    Xilinx FPGA工程例子源碼:FFT變換的IP的源代碼
    發(fā)表于 06-07 11:44 ?10次下載

    可配置FFT IP實(shí)現(xiàn)及基礎(chǔ)教程

    針對FFT算法基于FPGA實(shí)現(xiàn)可配置的IP。采用基于流水線結(jié)構(gòu)和快速并行算法
    發(fā)表于 11-18 06:32 ?8336次閱讀
    可配置<b class='flag-5'>FFT</b> <b class='flag-5'>IP</b><b class='flag-5'>核</b>的<b class='flag-5'>實(shí)現(xiàn)</b>及基礎(chǔ)教程

    Xilinx FFT IP介紹與仿真測試

    Xilinx快速傅立葉變換(FFT IP)內(nèi)核實(shí)現(xiàn)了Cooley-Tukey FFT算法,這是一種計(jì)算有效的方法,用于計(jì)算離散傅立葉變換(D
    的頭像 發(fā)表于 03-30 11:01 ?3177次閱讀

    Vivado中FFT IP的使用教程

    本文介紹了Vidado中FFT IP的使用,具體內(nèi)容為:調(diào)用IP>>配置界面介紹>>IP
    的頭像 發(fā)表于 11-06 09:51 ?2006次閱讀
    Vivado中<b class='flag-5'>FFT</b> <b class='flag-5'>IP</b><b class='flag-5'>核</b>的使用教程
    主站蜘蛛池模板: 成人性视频全过程 | 神马伦理不卡午夜电影 | 怪物高h粗暴无尽 | 吃奶摸下的羞羞漫画 | 欧美白妞大战非洲大炮 | 亚洲一级电影 | 国产精品丰满人妻AV麻豆 | 影音先锋男人资源813. | 韩国精品无码少妇在线观看网站 | 欧美日韩中文在线字幕视频 | 精品国产乱码久久久久久上海公司 | 海角社区在线视频播放观看 | 我在厨房摸岳的乳HD在线观看 | 麻豆AV无码精品一区二区 | 国产精品日本一区二区在线播放 | 香蕉免费高清完整 | 色爰情人网站 | 色悠久久久久综合欧美99 | 最近日本免费观看MV免费 | caoporn超碰视频 | 女人吃男人的鸡鸡 | 亚洲成色WWW久久网站夜月 | 美女脱精光让男生桶下面 | 李丽莎与土豪50分钟在线观看 | 我的漂亮朋友在线观看全集免费 | 国内精自品线一区91 | 丰满的寡妇hd高清在线观看 | wwwwxxxxx中国| 啦啦啦 中文 日本 韩国 免费 | 色欲AV无码乱码精品国产 | 国产成人无码精品久久久按摩 | 色一伦一情一区二区三区 | 女bbbbxxx孕妇 | 97精品国产亚洲AV超碰 | 99国产精品久久人妻无码 | 99这里只有是精品2 99这里有精品视频视频 | 欧美精品高清在线观看 | 国产色婷婷精品人妻蜜桃成熟时 | 韩国伦理片2018在线播放免费观看 | 好看AV中文字幕在线观看 | 无码11久岁箩筣 |