《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的高速卷積的硬件設計實現
基于FPGA的高速卷積的硬件設計實現
電子發燒友
摘要: 在數字信號處理領域,離散時間系統的輸出響應,可以直接由輸入信號與系統單位沖激響應的離散卷積得到。離散卷積在電子通信領域應用廣泛,是工程應用的基礎。如果直接在時域進行卷積,卷積過程中所必須的大量乘法和加法運算,一定程度地限制了數據處理的實時性,不能滿足時效性強的工程應用。本文從實際工程應用出發,使用快速傅里葉變換(FFT)技術,探討卷積的高速硬件實現方法。1卷積算法的原理設線性時不變系統的沖激響應為h(n),則沖激響應和輸入δ(n)之間有關系假設該系統的輸入為x(n),輸出為y(n),則根據線性時不變系統的定義,有根據式(3),線性時不變系統的輸出信號可以由輸入信號與單位沖激響應的卷積求得。實際應用中,x(n)與y(n)的序列長度均為有限的,假設均為N,顯然,求出N點的y(n)需要N2次復數乘法,當序列長度大時,所需計算量是龐大,在需要實時處理的系統中,難以滿足實時性要求。將M點序列x(n),L點序列h(n)分別作擴展,構造新的序列x’(n),h’(n),使得長度N滿足如下條件根據時域循環卷積定理,x(n)與h(n)的線性卷積可以用循環卷積來代替。即根據式(9),給出了一種基于快速傅里葉變換(FFT)的卷積的實
關鍵詞: FPGA 卷積
Abstract:
Key words :

  在數字信號處理領域,離散時間系統的輸出響應,可以直接由輸入信號與系統單位沖激響應的離散卷積" title="卷積">卷積得到。離散卷積在電子通信領域應用廣泛,是工程應用的基礎。如果直接在時域進行卷積,卷積過程中所必須的大量乘法和加法運算,一定程度地限制了數據處理的實時性,不能滿足時效性強的工程應用。本文從實際工程應用出發,使用快速傅里葉變換(FFT)技術,探討卷積的高速硬件實現方法。

  1 卷積算法的原理

  設線性時不變系統的沖激響應為h(n),則沖激響應和輸入δ(n)之間有關系

  公式

  假設該系統的輸入為x(n),輸出為y(n),則根據線性時不變系統的定義,有

  

 公式

  根據式(3),線性時不變系統的輸出信號可以由輸入信號與單位沖激響應的卷積求得。實際應用中,x(n)與y(n)的序列長度均為有限的,假設均為N,顯然,求出N點的y(n)需要N2次復數乘法,當序列長度大時,所需計算量是龐大,在需要實時處理的系統中,難以滿足實時性要求。

  將M點序列x(n),L點序列h(n)分別作擴展,構造新的序列x’(n),h’(n),使得長度N滿足如下條件

  公式

  根據時域循環卷積定理,x(n)與h(n)的線性卷積可以用循環卷積來代替。即

  公式

  根據式(9),給出了一種基于快速傅里葉變換(FFT)的卷積的實現方法,如圖1所示。分別對補零后的z(n)和h(n)進行FFT運算,得到對應的頻域響應X(k)和H(k),將X(k)和H(k)相乘的結果再做IFFT,即可以得到x(n)和h(n)的卷積結果y(n)。

  

  2 基于FPGA" title="FPGA">FPGA的高速卷積的實現

  隨著電子技術的發展,現階段FFT硬件實現的方法主要有ASIC,DSP和FPGA這3類。專用FFT處理芯片ASIC,例如PDSPl6510,這類芯片的主要特點是技術簡單。但是由于此類ASIC處理點數有限,實現大點數FFT時,需要多芯片并行工作,會導致所需的配套控制復雜、存儲芯片較多,加大了系統實現難度。使用DSP,如TMS320DSP6416,控制程序設計比較簡單,但由于DSP的串行式軟件工作機理,當點數較大時,處理速度難以滿足實時要求。使用FPGA實現FFT功能,其并行處理機制允許FFT運算過程中使用流水線的形式,大大提高處理速度,而且隨著技術發展,FFT IP核技術日臻完善,使得基于FFT IP核的系統在速度、靈活性等方面均展現出優越性。本文使用Altera公司的StraTIx II系列芯片EP2S60實現線性卷積的功能。

  Stratix II是Altera公司生產的一款高性能FPGA器件。它采用臺積電的90 nm工藝技術生產,等效邏輯單元(LE)最高可達180 kB,嵌入式存儲器容量最高可達9 MB。該器件不但具有較高的性能和密度,而且還針對器件總功率進行了優化,同時可以支持高達l Gb/s的高速差分I/O信號,因而是一款高性能的FPGA。該芯片中所含的高性能嵌入式DSP塊的運行頻率高達370 MHz。另外Stratix II還有12個可編程PLL,并具有完善的時鐘管理和頻率合成能力,能滿足高性能系統的需求。

  EP2S60集成了60 440個等效邏輯單元(LES),內嵌M512 RAM模塊329個,M4K RAM模塊255個,M-RAM模塊2個,總存儲單元2 544 192 bit,并集成了DSP模塊36個、18 bit×18 bit嵌入式硬件乘法器144個,含有2個增強性鎖相環和8個快速鎖相環,可滿足本系統的要求。

  3 FFT IP核的實現方法

  為了節省開發時間,加速產品的投放,本文使用Ahera提供的FFT IP核來實現FFT和IFFT功能。Ahera FFT IP核函數是一個高性能、參數化的快速傅里葉變換(FFT)處理器,完全支持Ahera的FPGA系列。可以完成變換長度為2m(6≤m≤14)的基2、基4按照頻率抽選的高性能復數FFT以及逆FFT運算。

  FFT IP核支持3種數據流模式,流模式(streaming)、緩沖突發模式(Buffered Burst)、突發(Burst)模式。并可以參數化設置變換點數和FFT或IFFT轉換方向。表l給出了FFT在Stratix II系列FPGA上使用流模式(Streaming)的性能。

  

FFT在Stratix II系列FPGA上使用流模式(Streaming)的性能

 

 

  為了在整個轉換計算過程中保持高信噪比,FFTIP核在定點結構與全浮點結構之間折中,使用塊浮點結構來表示轉換結果。在定點結構中,數據精度需要足夠大,才能充分表示整個計算過程中的所有的中間計算結果。在執行定點FFT過程中,經常出現數據的位數過大或精度損失的現象。而在浮點結構中,每個數用單獨的指數和尾數來表示,雖然這樣可以大大提高數據精度,但是浮點運算需要占用更多的器件資源。塊浮點結構保證了FFT整個轉換過程中數據位數的有效使用,每次通過基4-FFT運算以后,數據位數最大可能增加倍,根據前面輸出數據模塊動態范圍的測量進行比例換算,換算過程中累計的移位次數被作為整個模塊的指數輸出。這種移位方法保證了最低位(LSB)的最小值在乘法運算后的輸出進行舍入操作之前就被舍棄。實際上,塊浮點表示法起到了數字自動增益(AGC)的作用,為了在連續輸出模塊中產生統一的比例,必須用最終的指數對FFT函數輸出進行比例換算。

  4 實際工程中的卷積的實現

  如圖2所示,給出了一個實際應用的例子。為了保證I,Q兩路的相位同一性,使用雙通道A/D,選擇Linear公司的LTC2280,LTC2280支持10 bit,105 Ms/s的最大采樣率,并擁有61.6 dB的信噪比(SNR),85 dB的無雜散動態范圍(SFDR),滿足系統需要。雙通道D/A使用Analog公司的AD9763,AD9763支持10 bit、125 Ms/s的最大采樣率。

  系統硬件實現結構框圖

 

  首先,需要在PC機上準備好h(n)對應的DFT變換結果H(k),H(k)的處理實際上有兩種方法,一個是將h(n)下載到下位機中,使用下位機硬件實現H(k),還有就是將H(k)在上位機就計算好,直接將計算結果下到下位機中。由于h(n)在系統工作中是不變的,在PC機端事先計算好H(k)更合適,不僅可以減少FPGA的資源占用,而且也方便數據的處理。基于以上的考慮,本系統將在PC機端求出的H(k)通過422接口下載到下位機的RAM中,方便使用。

  下位機系統工作之前,上位機需要通過PCI控制板卡將計算好的數據下載到下位機的RAM中,方便工作過程中的數據使用。在收到外部控制信號后,下位機開始啟動,LTC2280開始采集I、Q通道數據并送入到FPGA中。

  AD輸出的I,Q數據直接作為一個復數的實部和虛部進入FFT核進行FFT變換。為了加速處理速度,使用基-4四引擎輸出結構。FFT核輸出的結果X(k)過指數調整以后直接進入到一個硬件復數乘法器,與存儲于RAM中計算好的H(k)對應相乘,同時乘法器輸出可以直接輸入到IFFT模塊進行逆FFT運算,IFFT計算結果再經過指數調整以后即可以直接通過D/A輸出。

  

FPGA內部線性卷積實現框圖

 

  5 性能分析與改進

  FPGA的流水線結構決定了速度的瓶頸取決于整個流程中處理速度最慢的部分。在FFT核速度可以保證的前提下(EP2S60的理論速度可以達到293.06 MHz),而處理過程中全部使用FPGA內部RAM來存儲中間數據,所以在本系統中,FPGA內部的理論處理速度達到200 MHz以上。本系統的處理速度主要局限于A/D和D/A的數據轉換率,根據實際測試,在100 MHz系統時鐘下,數據吞吐率可達100 Ms/s,滿足了設計技術指標。圖4給出了FPGA的資源占用。為了較好地檢測整個使用FFT_IFFT實現卷積的系統性能,設計了一個初略性能分析測試結構,如圖5所示。

  

程序

 

  

初略性能分析測試結構

 

  在圖5中,由上位機產生的一組8 192點隨機復數a(t)寫入ROM中,作為FFT模塊的信號輸入,經過FFT后將結果B(ω)存入RAM中,以方便上位機讀取并與a(t)使用Matlab計算出來的FFT結果A(ω)進行比較;接著將該FFT結果B(ω)再進行IFFT計算,由數字信號處理理論可知,一個信號進行FFT后再進行IFFT的結果應該是信號本身,所以將B(ω)再進行IFFT計算后得到的結果b(t)存入RAM,由上位機讀取并與原始信號a(t)進行比較,可以分析整個卷積系統的處理誤差。圖6給出了計算FFT結果相對誤差的Matlab相關程序。

  

程序

 

  求出A(ω)的最大值max[A(ω)],分別對B(ω)的實部和虛部計算相對誤差,得到如圖7所示的相對誤差曲線。由圖6可知,在FFT過程中,相對誤差可以保證在0.5%以內。對FFT所得的結果B(ω)做IFFT得到b(t),分析b(t)與原數據a(t)的誤差,得到如圖8所示的相對誤差曲線。

  

相對誤差曲線

 

  觀察圖8可知,經過FFT變換和IFFT變換以后的累積相對誤差保持在±3%以內,主要原因是FPGA計算FFT和IFFT過程中由于精度的要求,進行數據舍去,造成誤差的產生。這種誤差是由硬件客觀條件限制的,不可避免,但是±3%的誤差精度完全可以滿足實際應用。

  

FFT變換和IFFT變換以后的累積相對誤差

 

  本系統由于涉及到高速A/D、高速D/A,所以在PCB設計過程中必須考慮電磁兼容EMC(Electro MagneTIc Compatibility)和抗電磁干擾EMI(Electro Magnetic InteRFerence)性和信號的完整性。總體來說,在進行高速PCB設計過程中,不僅要考慮PCB的元器件布局和布線,同時設計中的接地、去耦和旁路同樣重要。例如在A/D部分這種混合信號PCB設計中,由于混合了模擬信號與數字信號,只有盡可能減小電流環路的面積才能降低數字信號與模擬信號之間的相互干擾。一個可行的方法是將地平面分割,然后在A/D轉換器下面將模擬地和數字地連接在一起。

  在處理FFT和IFFT核的指數問題時,正常做法是在FFT結束后直接做一次指數調整,在IFFT結束后再做一次指數調整。設經過FFT核后的直接輸出結果為X’(k)、對應指數輸出為(-expl),x(n)的真實結果為X(k),則有

  

公式

 

  由式(12)可知,FFT和IFFT的兩次指數調整實際可以在IFFT合為一次,可以減少控制的復雜程度。兩次調整指數的示意圖如圖9所示。一次調整指數的示意圖如圖10所示。

  

兩次調整指數的示意圖

 

  

一次調整指數的示意圖

 

  6 結束語

  本文基于Altera的FPGA EP2S60F1 020C8,搭建了結合A/D,D/A等功能的配套處理平臺,完成了對高速離散卷積的硬件實現,使該系統在100 MHz時工作正常,滿足了設計要求。

此內容為AET網站原創,未經授權禁止轉載。
欧美激情办公室aⅴ_国产欧美综合一区二区三区_欧美午夜精品久久久久免费视_福利视频欧美一区二区三区

          亚洲精品国产精品国产自| 国产精品99久久久久久久久| 久久亚洲电影| 亚洲色无码播放| 亚洲人体偷拍| 激情视频一区二区| 国产精品综合久久久| 欧美视频一区二区三区在线观看 | 久久成人免费日本黄色| 亚洲一区成人| 在线中文字幕一区| 一区二区三区黄色| 9i看片成人免费高清| 亚洲美女精品一区| 亚洲日本中文字幕免费在线不卡| 亚洲国产日本| 亚洲激情成人| 亚洲精品影视在线观看| 日韩视频不卡中文| 亚洲免费高清| av成人免费在线| 在线亚洲欧美专区二区| 亚洲一级黄色片| 午夜精品久久久久久99热| 欧美一二三区在线观看| 欧美在线视频a| 久久精品一级爱片| 麻豆成人91精品二区三区| 欧美**人妖| 欧美人与性动交cc0o| 欧美日韩一区在线视频| 国产精品视频成人| 国产一区日韩一区| 亚洲国产精品久久久久久女王| 亚洲乱码精品一二三四区日韩在线 | 欧美激情综合亚洲一二区 | 一区二区成人精品| 亚洲一区视频在线| 欧美在线观看一区二区三区| 久久婷婷蜜乳一本欲蜜臀| 蜜桃伊人久久| 欧美连裤袜在线视频| 国产精品国产自产拍高清av| 国产区在线观看成人精品| 激情亚洲成人| 日韩亚洲精品在线| 亚洲一区二区视频| 久久久久成人精品免费播放动漫| 免费观看国产成人| 欧美午夜视频在线| 国产婷婷色一区二区三区| 亚洲高清不卡| 亚洲视频日本| 久久久久免费视频| 欧美日韩国产成人在线91| 国产欧美日韩在线视频| 亚洲高清不卡在线观看| 亚洲天堂激情| 久热精品视频在线观看一区| 欧美日韩理论| 国内一区二区三区在线视频| 日韩视频免费| 欧美在线亚洲综合一区| 欧美精品v日韩精品v国产精品 | 欧美亚洲视频一区二区| 久久综合给合久久狠狠狠97色69| 欧美日韩国产一区| 国内精品久久久久影院 日本资源| 亚洲精品视频在线观看免费| 欧美在线视频免费播放| 欧美人体xx| 在线观看日韩一区| 亚洲免费中文| 欧美国产综合视频| 国产一区二区av| 一本色道久久综合狠狠躁的推荐| 久久精品欧美日韩| 国产精品激情电影| 亚洲欧洲精品一区二区三区波多野1战4| 亚洲欧美另类在线| 欧美精品二区三区四区免费看视频| 国产日韩av一区二区| 99国产成+人+综合+亚洲欧美| 久久精品国产免费观看| 国产精品久久9| 亚洲人成在线影院| 久久久99久久精品女同性| 欧美午夜一区| 亚洲欧洲一区二区三区| 久久久久国产精品午夜一区| 国产精品久久久久久模特 | 欧美日韩一视频区二区| 在线成人性视频| 性欧美激情精品| 欧美深夜影院| 亚洲精品美女在线观看| 老司机精品久久| 国内精品美女av在线播放| 亚洲欧美国产三级| 欧美视频在线观看一区| 91久久综合| 久久综合狠狠综合久久综青草| 国产欧美一区二区三区沐欲 | 国产亚洲成av人在线观看导航| 99视频精品全国免费| 欧美xxx成人| 尤物99国产成人精品视频| 欧美一区二区精品| 国产精品视频999| 亚洲一区二区av电影| 欧美视频精品一区| 亚洲人www| 免费欧美日韩| 亚洲高清三级视频| 狼人天天伊人久久| 樱桃视频在线观看一区| 久久九九热re6这里有精品| 国产亚洲观看| 欧美伊人影院| 国产女主播一区| 性欧美xxxx大乳国产app| 国产毛片一区| 欧美一区二区高清在线观看| 国产欧美在线看| 久久福利资源站| 国产一区二区三区观看| 久久精品夜夜夜夜久久| 狠狠色丁香婷婷综合| 久久亚洲综合| 亚洲国产另类精品专区| 欧美高清一区二区| 日韩视频中午一区| 欧美手机在线| 亚洲欧美一区二区精品久久久| 国产精品欧美精品| 欧美一级久久| 国产综合色在线视频区| 久热精品视频在线观看一区| 亚洲国产一二三| 欧美人与性动交α欧美精品济南到| 99精品欧美一区二区三区| 国产精品超碰97尤物18| 欧美亚洲日本网站| 影音先锋日韩资源| 欧美激情精品久久久久久免费印度| 亚洲精品影院| 国产精品久久久久久久免费软件| 欧美一区精品| 在线看欧美视频| 欧美日韩日本网| 亚洲欧美日韩综合| 狠狠综合久久av一区二区小说 | 亚洲人屁股眼子交8| 欧美日韩一二区| 午夜精品福利在线| 黑人巨大精品欧美一区二区| 欧美sm视频| 国产精品99久久久久久久女警 | 一区二区欧美在线| 国产欧美日韩精品a在线观看| 久久久久久网站| 亚洲免费观看高清在线观看| 国产精品久久久久9999吃药| 久久国产视频网站| 亚洲美女毛片| 国产麻豆日韩欧美久久| 欧美阿v一级看视频| 亚洲一区二区视频| 影音先锋一区| 欧美色道久久88综合亚洲精品| 欧美在线观看天堂一区二区三区| 亚洲第一黄网| 国产精品高清网站| 老色鬼久久亚洲一区二区| 一区二区三区久久网| 黄色精品网站| 欧美性片在线观看| 久久综合国产精品| 亚洲欧美欧美一区二区三区| 亚洲国产一区二区三区a毛片| 国产精品国产精品| 久久嫩草精品久久久精品一| 中文在线不卡视频| 在线成人黄色| 国产欧美69| 欧美精品一区三区| 久久精品欧美日韩| 在线一区二区三区四区| 在线日韩欧美视频| 国产麻豆一精品一av一免费| 欧美精品一区二区三区四区| 久久精品av麻豆的观看方式| 宅男精品视频| 亚洲国产婷婷香蕉久久久久久99 | 国产精品成人免费| 免费91麻豆精品国产自产在线观看| 亚洲欧美电影院| 亚洲麻豆一区| 一区福利视频| 国产欧美在线视频|