天天被操天天被操综合网,亚洲黄色一区二区三区性色,国产成人精品日本亚洲11,欧美zozo另类特级,www.黄片视频在线播放,啪啪网站永久免费看,特别一级a免费大片视频网站

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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