国产在线导航,欧美日本中文,黄色在线观看网站永久免费乱码,chinese国产在线视频,亚洲欧洲第一视频,天天做人人爱夜夜爽2020毛片,亚洲欧美中文字幕在线网站

現(xiàn)在位置:范文先生網(wǎng)>理工論文>電子通信論文>短波擴頻通信系統(tǒng)中數(shù)字相關器的FPGA設計與實現(xiàn)

短波擴頻通信系統(tǒng)中數(shù)字相關器的FPGA設計與實現(xiàn)

時間:2023-02-20 22:40:30 電子通信論文 我要投稿
  • 相關推薦

短波擴頻通信系統(tǒng)中數(shù)字相關器的FPGA設計與實現(xiàn)

  摘要:基于FPGA設計的數(shù)字相關器,對前端模數(shù)/轉(zhuǎn)換器在384kbps采樣率下采得的數(shù)據(jù)進行希爾波特變換,再與本地序列做相關運算,最后將相關結(jié)果送給DSP,供DSP做進一步的處理。介紹了所選用的Stratix芯片,闡述了FPGA內(nèi)部子模塊的功能和設計實現(xiàn)方法,對所設計的FPGA數(shù)字相關器進行了仿真和校驗,結(jié)果達到了設計要求。
  關鍵詞:數(shù)字相關器FPGA希爾波特變換Stratix
  
  采用FPGA器件可以將原來的電路板級產(chǎn)品集成為芯片級產(chǎn)品,從而降低了功耗、提高了可靠性,同時還可以很方便地對設計進行在線修改。電路設計者可以通過軟件編程,經(jīng)過設計輸入、仿真、測試和校驗,用硬件實現(xiàn)特定的數(shù)字信號處理算法。這種方法由于具有通用性強的特點并可以實現(xiàn)算法的并行運算,因此無論是作為獨立的數(shù)字信號處理器,還是作為DSP芯片的協(xié)處理器,目前都是比較活躍的研究領域。
  
  短波通信具有設備簡單、通信距離遠、機動靈活、價格低廉和抗毀性強的特點,有著重要的應用價值。在短波通信系統(tǒng)中,接收方在信號檢測、同步的過程中,要進行大量的乘加操作來做相關運算。在傳輸速率較高、樣點間隔較小的情況下,完全由系統(tǒng)中央DSP處理器進行運算,很難實現(xiàn)實時處理。利用FPGA的特點,把信號同步數(shù)字相關部分分離出來,設計一個專用的數(shù)字相關器,作為中央DSP處理器的協(xié)處理器,來分擔這部分工作,是一個很好的解決方案。本文闡述的就是這樣一個應用在短波擴頻通信系統(tǒng)的接收方中,完成數(shù)字相關功能的基于FPGA設計的相關器。
  
  1Stratix系列芯片簡介
  
  本文采用Stratix系列芯片實現(xiàn)數(shù)字相關器。Stratix系列是著名的可編程邏輯器件供應商Altera公司于2002年新推出的FPGA產(chǎn)品。其主要特點是:采用1.5V內(nèi)核,0.13μm全銅工藝,容量為10570~114140個邏輯單元,內(nèi)嵌多達10Mbit的三種RAM塊,即512bit容量的小型RAM,4KB容量的標準RAM,512KB的大容量RAM;具有True-LVDS(tm)電路,支持LVDS、LVPECL、PCML和HyperTranport(tm)差分I/O電氣標準,且有高速通信接口;增加了片內(nèi)終端匹配電阻,提高了信號完整性,簡化了PCB布線;提供了完整的時鐘管理方案,具有層次化的結(jié)構(gòu)和多達12個鎖相環(huán)(PLL)。
  
  該系列芯片的最大特色是內(nèi)嵌硬件乘法器和乘加結(jié)構(gòu)的可編程DSP模塊,特別適于實現(xiàn)高速信號處理。這種DSP模塊是高性能的嵌入算術單元,它的運行速度可以達到250MHz,每個DSP模塊的數(shù)據(jù)吞吐性能可以高達2.0GMACS。它可以配置為硬件乘法器、加減法器、累加器和流水線寄存器,如表1所示。
  
  表1單個DSP單元的設置模式
  
  模式9bitx9bit18bitx18bit36bitx36bit單個乘法器8個4個1個相乘累加器2個(結(jié)果為52bit)2個(結(jié)果52bit)——2個乘積求和4個2個——4個乘積求和2個1個——
  Stratix系列具有多達28個DSP模塊,可配置為224個(9bit×9bit)嵌入乘法器,可以為大數(shù)據(jù)吞吐量的應用提供靈活、高效和有價值的方案。這些DSP模塊可以實現(xiàn)多種典型的DSP功能,如有限沖擊響應(FIR)濾波、快速傅立葉變換(FFT)功能、相關器和加密/解密功能等。
  
 。樱簦颍幔簦椋盗杏桑粒欤簦澹颍峁咎峁┑男乱淮_發(fā)軟件QuartusII支持。此軟件加強了網(wǎng)絡功能,設計人員可以直接通過Internet獲得Altera的技術支持。QuartusII軟件中的MegawizardPlus_InManager工具可以很方便地對一些常用的基本模塊進行定制,以滿足不同的需要;設計人員還可以在定制后的基礎上,進行進一步的改進,擴展出更多的功能。
  
  2FPGA模塊設計
  
  數(shù)字相關器在短波擴頻通信系統(tǒng)中的具體功能是:接收A/D采樣后的采樣信號,對采樣信號進行希爾波特變換,得到與其正交的另一路信號;然后以這兩路信號分別作為實部和虛部,與本地序列進行相關運算,將相關值的實部和虛部送給DSP做后續(xù)處理,如圖1所示。只有包含有正確同步頭信息的信號經(jīng)采樣后與本地序列作相關運算,得到的相關值的模值才會出現(xiàn)峰值;對應于發(fā)端特定的同步頭幀結(jié)構(gòu),相關后的相關峰也會出現(xiàn)規(guī)律性的特征。這樣,DSP才可以通過先對相關值求模,然后對模值出現(xiàn)的峰值的間隔、幅值和數(shù)目等信息進行判斷和進一步處理,來確定是否捕捉到信號。下面具體介紹完成上述數(shù)字相關功能的FPGA的設計。FPGA設計的內(nèi)部結(jié)構(gòu)框圖如圖2所示。
  
 。玻毕柌ㄌ刈儞Q部分
  
  系統(tǒng)接收到的射頻信號經(jīng)過前端預處理后,送到A/D采樣,然后以串行方式輸出樣點值到FPGA。每個樣點值是用10bit的二進制補碼表示的,需先通過一個串/并轉(zhuǎn)換器轉(zhuǎn)化為寬度為10bit的并行信號。樣點值首先要進行的是希爾波特變換,希爾波特變換有多種實現(xiàn)方法,這里采用一個129階的濾波器來實現(xiàn),濾波器的抽頭系數(shù)由MATLAB函數(shù)remez產(chǎn)生,如圖3所示。
  
  將10bit的并行信號輸入到一個10bit×129的RAM模塊,采用循環(huán)寫入的方式,RAM模塊類似一個桶形循環(huán)存儲器?熏較早存入RAM的信號值就會被新來的數(shù)據(jù)覆蓋掉,這樣就與圖3所示的輸入信號先進先出是等效的。經(jīng)MATLAB函數(shù)remez產(chǎn)生的抽頭系數(shù)是一組變換范圍很大的帶有小數(shù)部分的十進制數(shù),為了能夠進行后續(xù)的硬件運算,需要對這組十進制數(shù)作歸一量化處理,把它們映射到寬度為14bit的有符號的二進制數(shù)所能表示的范圍上去,即轉(zhuǎn)化為14bit的二進制補碼數(shù)。這組抽頭系數(shù)在運算的過程中是固定不變的,所以可以把它們固化在片內(nèi)ROM模塊中,與RAM中的值同步讀出,再經(jīng)過兩組D觸發(fā)器對齊后,送到一個10bit×14bit的有符號數(shù)的相乘累加器做相乘累加運算。相乘后的數(shù)據(jù)寬度是24bit,但是由于對固定數(shù)據(jù)寬度的有符號的二進制數(shù)進行加減運算時,會出現(xiàn)結(jié)果超出固定數(shù)據(jù)寬度所能表示的范圍,即溢出現(xiàn)象,導致運算結(jié)果錯誤,所以就要為這里進行的129次累加操作留有一定的數(shù)據(jù)寬度富裕量,每次把乘積符號擴展4bit再進行累加操作,這樣輸出就是一個28bit的有符號數(shù),即是所需的虛部。由于在將抽頭系數(shù)從十進制到二進制的歸一量化過程中,人為地將其擴大了許多倍,所以與每個虛部相對應的實部從中心抽頭輸出后,需經(jīng)過一個固定倍數(shù)的乘法器,擴大同樣的倍數(shù)來與虛部保持一致。
  
  相乘累加模塊是希爾波特變換部分的核心單元,這里用到了Stratix器件獨特的嵌入式DSP模塊。在Quartus的MegawizardPlus_InManager中選擇ALTMULT_ACCUM(MAC)定制相乘累加模塊。首先系統(tǒng)會提示只有Stratix系列才可以定制此類型模塊,本例選擇的兩個輸入端分別是10位和14位的有符號數(shù),與RAM和ROM的輸出端相連,再將累加后的輸出端設為28位。這里有意預留了4位,用來防止在129次累加的過程中出現(xiàn)數(shù)據(jù)溢出的現(xiàn)象。將時鐘、使能、清零等設置好后,即可生成所需的相乘累加模塊,在編譯的過程中Quartus就會自動把這部分配置到嵌入式DSP模塊中,而不去占用片內(nèi)的邏輯單元。這樣就把原本用幾個模塊完成的功能用單個模塊實現(xiàn)了,同時也提高了運行的可靠性。
  
 。玻蚕嚓P運算部分
  
  樣點值經(jīng)過希爾波特變換得到的實部和虛部兩部分,將分別存儲到兩個具有80個存儲單元的RAM中,同樣是采用循環(huán)寫入的方式,類似于DSP編程中的桶形存儲區(qū)。由于本文所應用的短波系統(tǒng)采用的是每個碼元取五個采樣點,而本地序列是一個碼元對應一個數(shù)值,所以在做相關運算時是從當前的80個樣點值里,每隔4個點取一個值,共取出16個樣點值,依次與本地序列的16個值做相乘累加。下一次操作就把當前樣點向后移一位,按同樣的方法取點運算。這樣依次進行,每一個樣點值都會產(chǎn)生一個與其相對應的相關值。反映在FPGA內(nèi)部,就要求RAM從當前存入的值開始,向前每隔4個單元取一個值作為輸出。這樣在一個樣點間隔內(nèi),就從RAM中依次讀出16個值,與從ROM中同步讀出的16個本地序列值做相關運算。此時的相關運算中的乘法就需要是復數(shù)相乘,其結(jié)果也是復數(shù),分兩路輸出實部和虛部,對這兩路結(jié)果分別進行累加運算,即可得到所需的相關值的實部和虛部。
  
  復數(shù)相乘模塊是相關運算部分中的重要環(huán)節(jié)。從RAM中讀出的實部和虛部組成的信號值,與從ROM中讀出的本地序列值,在這里要進行復數(shù)相乘運算。復數(shù)相乘模塊結(jié)構(gòu)圖如圖4所示,a、b、c、d分別代表信號和本地序列的實部和虛部,按照式子(a+jb)×(c+jd)=(ac-bd)+j(ad+bc)的組合進行相乘加減。這里需要說明的是,考慮到后面要與DSP相連,數(shù)據(jù)的寬度被限制在32位。所以對于乘法器B和D而言,28bit與9bit相乘得到的結(jié)果應是37bit。這里在定制乘法器的時候強行把它限制為32bit,去掉了最高位的多余符號位,舍去了低4位。這樣處理帶來的后果就是人為地將乘積縮小了16倍。如果對乘法器A和C的結(jié)果不做處理,直接進行加減運算,則結(jié)果將導致嚴重的錯誤。因此對于乘法器A和C,應該人為地將其輸出值右移4位,同樣地縮小16倍,再進行下一步的加減運算,就可以有效地避免上述的錯誤。這樣輸入的4個數(shù)值經(jīng)過幾個時鐘周期的運算后,輸出的兩個數(shù)值就是所求的復數(shù)相乘結(jié)果。這里的4個有符號數(shù)乘法器都會在編譯時自動地配置到Stratix器件的嵌入式DSP模塊上去。
  
 。玻晨傮w控制模塊和接口部分
  
  2.3.1總體控制模塊
  
  系統(tǒng)上電后,FPGA內(nèi)部各模塊都處于運行狀態(tài),各個模塊相互連接,各自有運行時序,所以為了保證各模塊依次先后運作,并得出正確的結(jié)果,就需要一個指揮控制模塊對各模塊進行準確的控制。這里采用兩個工作在80MHz和40MHz時鐘下的主從計數(shù)器對相關部分和希爾波特變換部分各模塊進行控制。在一個樣點間隔內(nèi),根據(jù)計數(shù)器不同的計數(shù)值,利用不同的組合邏輯電路產(chǎn)生各個模塊的使能、清零等信號,保證各模塊在正確的時序下運行。為了提高FPGA處理的效率,希爾波特變換部分和相關部分實際上是并行工作的。在同一個樣點間隔時間內(nèi),希爾波特變換部分處理的是當前輸入的樣點數(shù)據(jù),而相關部分是在處理上一個樣點間隔內(nèi)希爾波特變換部分輸出的結(jié)果。這兩部分之間之所以能夠進行相互協(xié)調(diào)和并行運行,就是由于有來自總體控制模塊的各種控制信息。
  
  2.3.2接口部分
  
 。疲校牵劣袃蓚接口,一個與A/D接口,另一個與DSP接口。在與A/D的接口部分中,有三個輸入端data_in、FS和SLCK,data_in用來串行輸入A/D轉(zhuǎn)換來的樣點值;FS為幀同步信號,它在輸入到FPGA后用來驅(qū)動FPGA內(nèi)部的總體控制模塊;SCLK為移位時鐘,它控制A/D與FPGA之間數(shù)據(jù)串行傳輸?shù)囊莆。在與DSP的接口部分中,data_out[15..0]用來輸出FPGA運算的結(jié)果,與DSP的數(shù)據(jù)總線掛接在一起,在FPGA內(nèi)部設置一個三態(tài)門,開門信號就是FPGA的片選信號CE。當CE不選通的時候,三態(tài)門輸出為高阻狀態(tài),不會影響DSP的數(shù)據(jù)總線。在每一個樣點間隔的時間內(nèi),FPGA運算出相關值的實部和虛部,將它們分別鎖存在四個16bit鎖存器中,并將與DSP相連的data_ready信號置高電平,表示數(shù)據(jù)已經(jīng)準備好。DSP檢測到data_ready為高后會進行讀操作,用地址總線的高幾位產(chǎn)生出片選信號將FPGA選通,通過地址總線的低兩位A0、A1來選擇四個鎖存器的其中一個,依次讀取實部和虛部兩個32位數(shù)的高16位和低16位。FPGA內(nèi)部會對DSP的讀操作計數(shù),確認數(shù)據(jù)分四次讀出后,則將data_ready置低,直到下一次運算完畢后再抬高。
  
 。撤抡婧托r
  
  各子模塊設計好后,可以用圖形方式或文本方式將各個模塊連接起來,對頂層設計進行編譯。這里選用的是Stratix系列中容量最小的一種:EP1S10F780C7,編譯后產(chǎn)生的編譯報告如圖5所示。
  
  無論是片內(nèi)邏輯單元、片內(nèi)RAM還是DSP嵌入塊,所選的EP1S10F780C7芯片都還有相當一部分余量。但是,如果是選用其它系列的芯片,沒有嵌入式的DSP模塊,最后其所占用的片內(nèi)邏輯單元會遠不止這么多。
  
  編譯完成后即可進行仿真和校驗,這部分可分為三個過程。對于同一塊數(shù)據(jù),先在Quartus下進行仿真,產(chǎn)生出一系列相關值。然后在MATLAB環(huán)境下利用其繪圖方便的特性,完全按照FPGA中各模塊處理數(shù)據(jù)的方法,編一段程序?qū)?shù)據(jù)進行處理,并畫出處理結(jié)果的圖形,如圖6所示。理論上其處理結(jié)果應和Quartus的仿真結(jié)果完全一樣,實際比較得出兩者確實完全一樣。最后在MATLAB中從理論上運用純軟件的方法編一段程序,對數(shù)據(jù)進行處理,并畫出處理后的相關峰圖,如圖7所示。
  
  可以比較出這兩種圖形所顯示的相關峰的幅度與相對位置都基本一致。這就說明用FPGA對數(shù)據(jù)進行處理的結(jié)果和理論方法的處理結(jié)果是吻合的,這也就驗證了FPAG設計的正確性。由于FPGA所進行的只是初相關,所以圖7顯示的相關峰幅度不大,數(shù)據(jù)送到DSP后要進行二次相關等處理,然后用于信號的捕獲和同步。
  
  本文闡述了短波擴頻通信系統(tǒng)中用于信號同步捕獲的數(shù)字相關器的FPGA實現(xiàn),并對所選的Stratix系列器件進行了介紹。在384kbps的采樣速率下,由外部提供40MHz的時鐘,此相關器工作性能穩(wěn)定,運算結(jié)果正確,能很好地配合DSP工作,完成對樣點數(shù)據(jù)的希爾波特變換和相關處理。

【短波擴頻通信系統(tǒng)中數(shù)字相關器的FPGA設計與實現(xiàn)】相關文章:

基于數(shù)字移相的高精度脈寬測量系統(tǒng)及其FPGA實現(xiàn)08-06

數(shù)字頻率合成器的FPGA實現(xiàn)08-06

基于FPGA的直接數(shù)字頻率合成器的設計和實現(xiàn)08-06

數(shù)字懸浮控制系統(tǒng)中的降噪方法及實現(xiàn)08-06

數(shù)字簽名算法SHA-1的FPGA高速實現(xiàn)08-06

數(shù)字視頻局域網(wǎng)監(jiān)控系統(tǒng)的設計與實現(xiàn)08-06

PCI總線協(xié)議的FPGA實現(xiàn)及驅(qū)動設計08-06

利用FPGA實現(xiàn)MMC2107與SDRAM接口設計08-06

液晶顯示模塊MGLS12864T在單兵短波數(shù)字通信系統(tǒng)中的應用08-06