1 OFDM中的符號定時同步算法
對于定時同步算法的研究,總體上可以分為兩類:第一類是依靠OFDM固有的結(jié)構(gòu),如利用OFDM符號周期性前綴CP的方法,這通常被稱作循環(huán)前綴同步方法;第二類是利用OFDM中插入導(dǎo)頻或者訓(xùn)練符號的方法。在兩類同步方法中,第一類方法中最具代表性的是Beek提出的最大似然估計法,其優(yōu)點(diǎn)是不需要額外的開銷,可以提高通信的效率,但其缺點(diǎn)是估計的時間較長,而且對頻偏和噪聲比較敏感;第二類方法中最具代表性的是Schmidl和Cox提出的利用PN序列相關(guān)性的SCA算法,這一種算法受頻偏的影響較小,而且估計的時間相對比較短,非常適合用于突發(fā)通信系統(tǒng)。
2 適合802.16d的定時同步算法
IEEE 802.16d定義了一組特殊的訓(xùn)練符號,以用于同步和信道估計。這組特殊的訓(xùn)練符號包括短訓(xùn)練序列和長訓(xùn)練序列兩部分,其中短訓(xùn)練序列包括4個重復(fù)的64點(diǎn)數(shù)據(jù)加上循環(huán)前綴(CP);長訓(xùn)練序列包括兩個重復(fù)的128點(diǎn)數(shù)據(jù)加上循環(huán)前綴。在發(fā)射端,若干OFDM符號再加上短訓(xùn)練序列和長訓(xùn)練序列,所構(gòu)成的幀頭經(jīng)過發(fā)送濾波器和A/D轉(zhuǎn)換,再通過上變頻后,即可發(fā)送到信道中。而在接收端,則利用幀頭的訓(xùn)練序列來進(jìn)行同步。為了使定時同步不受頻偏的影響,同時可以在較短時間內(nèi)完成,本文采用SCA算法。該算法又可細(xì)分為延時自相關(guān)算法和本地序列互相關(guān)算法兩類。
2.1 延時自相關(guān)法
通常選用短訓(xùn)練序列來進(jìn)行定時同步。假設(shè)接收到的基帶數(shù)字序列為rn,n是該序列的序號,然后將接收序列經(jīng)過兩個滑動窗口R和P,其中R是接收信號和接收信號延時的互相關(guān)系數(shù),P是互相關(guān)系數(shù)窗口期間接收信號的能量,此窗口的值可用于判決的歸一化,它和接收功率的絕對值是獨(dú)立的,其公式如下:
式中,N為窗口長度,N=64,即短訓(xùn)練序列的周期,d在窗內(nèi)滑動時,可同時計算M(n)的值。當(dāng)沒有包含前導(dǎo)字結(jié)構(gòu)的信號出現(xiàn)時,得到的M(n)值通常非常小(遠(yuǎn)小于1),而當(dāng)有前導(dǎo)字結(jié)構(gòu)的信號出現(xiàn)時,相應(yīng)的M(n)值迅速升高,并將出現(xiàn)一個臺階,對應(yīng)的峰值接近于1。由于M(n)值升高需要一個時間范圍,因此該算法并不能精確定時,只適合粗略的檢測幀是否到達(dá)。圖1所示的虛線即表示信號出現(xiàn)時M(n)曲線的變化情況。
2.2 互相關(guān)法
由于IEEE 802.16d協(xié)議中的前導(dǎo)字具有良好的互相關(guān)特性,故可用已知的訓(xùn)練序列和接收序列做滑動互相關(guān)。當(dāng)已知的訓(xùn)練序列和接收的訓(xùn)練序列恰好對齊時,便會產(chǎn)生一個峰值,峰值對準(zhǔn)的位置正是訓(xùn)練符號的起始點(diǎn)。因此,可以通過尋找互相關(guān)的峰值位置來做精確的定時同步。算法公式如下:
式中,c(n)為短訓(xùn)練符號在本地的復(fù)制樣本,N為短訓(xùn)練符號的樣值點(diǎn)數(shù)。當(dāng)已知的訓(xùn)練序列和接收訓(xùn)練序列恰好對齊時,也會產(chǎn)生一個峰值,其仿真曲線如圖1中的實(shí)曲線所示。該算法的缺點(diǎn)是易受頻偏的影響。
根據(jù)以上分析,并從算法性能上考慮,若采用延遲自相關(guān)法,幀到達(dá)時會出現(xiàn)一個峰值平臺,該方法并不能確定幀到達(dá)的準(zhǔn)確時刻;而采用與本地序列互相關(guān)算法又容易受到頻偏的影響而導(dǎo)致定時偏差。
3 算法改進(jìn)
針對上述算法的不足,可對其加以改進(jìn),以保證同時具有良好的性能和硬件實(shí)現(xiàn)的可行性。改進(jìn)算法是將兩種算法結(jié)合起來進(jìn)行聯(lián)合估計,首先確定一個幀到達(dá)的大致平臺,再在這個平臺內(nèi)找到互相關(guān)峰值,如果各個峰值間隔相等,那么可根據(jù)最后一個峰值來判斷下一個符號的開始。這種聯(lián)合估計的辦法在軟件仿真時具有良好的性能,但若要在硬件上實(shí)現(xiàn)則比較困難。因?yàn)樵谘訒r自相關(guān)算法中,計算M(n)的值雖然可采用迭代算法,每次計算只需1次復(fù)數(shù)運(yùn)算和若干加法運(yùn)算;但在自相關(guān)計算中,假設(shè)接收信號被定點(diǎn)化為16位整數(shù),那么計算一次自相關(guān)的值需要16位數(shù)據(jù)的64次復(fù)數(shù)乘法,顯然,所需要的硬件資源開銷非常大,而且會影響系統(tǒng)的運(yùn)行速度。這在硬件上,因資源消耗太大而無法實(shí)現(xiàn)。為了兼顧算法的估計精度和實(shí)現(xiàn)的復(fù)雜性,有必要將算法做進(jìn)一步改進(jìn)。即對接收數(shù)據(jù)進(jìn)行二階量化以得到d[n]=Q[r(n)],其中Q表示復(fù)數(shù)量化器,見下式:
利用這種改進(jìn)的自相關(guān)算法和延時自相關(guān)算法進(jìn)行聯(lián)合估計的仿真曲線如圖2所示。
將圖1和圖2進(jìn)行對比可知,這種對接收數(shù)據(jù)二階量化的方法會損耗算法的性能,但是,由于幀的大致位置已被限制在一定范圍之內(nèi),因此,只需根據(jù)峰值就可以確定下一個OFDM符號的準(zhǔn)確位置。這種方法既能保證估計精度,又能滿足硬件資源利用率的要求。
4 基于FPGA的實(shí)現(xiàn)
4.1 自相關(guān)延時模塊的FPGA實(shí)現(xiàn)
為了進(jìn)一步簡化運(yùn)算,也可以不進(jìn)行算法中的歸一化運(yùn)算,而直接計算R(n)的值,并將公式簡化為:
圖3所示是自相關(guān)延時模塊的硬件組成結(jié)構(gòu)。它主要由FIFO延時單元、復(fù)數(shù)運(yùn)算器、加法器、取模模塊組成。其中復(fù)數(shù)乘法器可直接使用IP核來實(shí)現(xiàn),這比直接使用四個實(shí)數(shù)乘法器和兩個加法器更節(jié)省資源。
將接收端經(jīng)過下變頻的I路和Q路數(shù)據(jù)分為兩路送入模塊,I路比Q路數(shù)據(jù)應(yīng)多延時一個時鐘周期,這是為了和Q路數(shù)據(jù)保持相同的時延,此后再進(jìn)入FIFO經(jīng)過64個時鐘周期的延時。Q路數(shù)據(jù)首先進(jìn)行取相反數(shù)運(yùn)算。這是因?yàn)閺?fù)數(shù)共軛運(yùn)算相當(dāng)于先取相反數(shù)再做復(fù)數(shù)乘法。把相減的結(jié)果送入FIFO進(jìn)行延時,并將送入系統(tǒng)的復(fù)數(shù)與做減法和延時64個時鐘周期的復(fù)數(shù)進(jìn)行復(fù)數(shù)乘法運(yùn)算。由于兩路數(shù)據(jù)都是16位定點(diǎn)化整數(shù),經(jīng)過運(yùn)算后會成為33位,為了節(jié)省資源,可將所得結(jié)果的高5位和低12位截去,而這并不會影響運(yùn)算的精度。經(jīng)過復(fù)數(shù)乘法運(yùn)算的實(shí)部和虛部再分別經(jīng)過64個時鐘周期的FIFO延時,并將延時前后的數(shù)據(jù)做減法運(yùn)算,然后對計算的結(jié)果做累加運(yùn)算。累加器輸出的結(jié)果經(jīng)過取模模塊后,即可得到實(shí)部和虛部的絕對值,然后將兩部分結(jié)果相加,再將相加結(jié)果與門限值比較,超過門限則將標(biāo)志位置高。但應(yīng)注意門限值的選取會影響幀檢測的范圍,由于采用的是聯(lián)合檢測方法,應(yīng)適當(dāng)擴(kuò)大門限范圍,本設(shè)計設(shè)定的門限值為峰值的1/4。
4.2 互相關(guān)模塊的FPGA實(shí)現(xiàn)
互相關(guān)模塊主要由匹配運(yùn)算單元、取模器和加法器組成。改進(jìn)的算法只對輸入數(shù)據(jù)的符號位與本地序列的符號位進(jìn)行相關(guān)運(yùn)算,并規(guī)定輸入符號為正取值為1,輸入符號為負(fù)取值為-1,接著根據(jù)輸入數(shù)據(jù)的符號和本地序列的符號構(gòu)成的16種輸入做全排列,將所有可能的相關(guān)運(yùn)算值算好存放在運(yùn)算模塊中,這樣就可以根據(jù)輸入數(shù)據(jù)的符號來選擇相關(guān)運(yùn)算的結(jié)果。這等效于把復(fù)數(shù)相關(guān)運(yùn)算簡化為數(shù)據(jù)選擇器來實(shí)現(xiàn)。
圖4所示為互相關(guān)模塊的FPGA實(shí)現(xiàn)框圖,其中I、Q兩路數(shù)據(jù)進(jìn)入模塊后,可取出其最高位存入移位寄存器,然后與本地序列做匹配運(yùn)算。匹配運(yùn)算模塊由64個數(shù)據(jù)選擇器和126個加法器組成,加法運(yùn)算采用6級流水線來實(shí)現(xiàn),這樣,可使系統(tǒng)的運(yùn)算速率更高。
4.3 仿真結(jié)果分析
系統(tǒng)中的各模塊可采用Verilog HDL語言設(shè)計,并可使用Xilinx公司集成設(shè)計環(huán)境ISE中的ModelSim SE 6.0來完成仿真,仿真結(jié)果如圖5所示。其中frame_re_dout和frame_im_dout為送入系統(tǒng)的實(shí)部和虛部數(shù)據(jù),abs_out為延時自相關(guān)算法中取模相加的結(jié)果,frame_head為采用延時自相關(guān)算法使數(shù)據(jù)升高時得到的一個峰值平臺,top_flag為改進(jìn)自相關(guān)算法計算所得的峰值。圖中的自相關(guān)平臺內(nèi)有5個峰值,這與MATLAB仿真結(jié)果相符。最后采用Xilinx公司VirtexⅡpro系列xc2vp30器件進(jìn)行實(shí)現(xiàn)??偣策壿媶卧褂寐蕿?%,系統(tǒng)最高工作頻率為236.373 MHz 。
5 結(jié)束語
本文在研究基于802.16d的OFDM定時同步算法的基礎(chǔ)上提出了一種改進(jìn)的算法,并在FPGA上完成了其硬件電路設(shè)計。仿真結(jié)果表明該算法在保持了原算法優(yōu)秀性能的同時,可節(jié)省硬件資源,有利于把同步模塊和接收部分其他模塊集成在單芯片中。同時,該算法也可推廣到具有相似前導(dǎo)字結(jié)構(gòu)的802.1 1a等協(xié)議中。
北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...
關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心東京2022年10月18日 /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團(tuán)公司上海通運(yùn)國際物流有限公司(Nipp...
關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP要問機(jī)器人公司哪家強(qiáng),波士頓動力絕對是其中的佼佼者。近來年該公司在機(jī)器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機(jī)器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機(jī)器人組團(tuán)跳男團(tuán)舞的新視頻,表演的機(jī)器人包括...
關(guān)鍵字: 機(jī)器人 BSP 工業(yè)機(jī)器人 現(xiàn)代汽車