999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

CDMA下行同步算法設計與FPGA實現

2013-08-13 05:06:50田增山周啟平
電視技術 2013年5期
關鍵詞:信號

羅 森,田增山,周啟平

(重慶郵電大學無線定位與空間測試重點實驗室,重慶 400065)

在CDMA(Code Division Multiple Access)擴頻通信系統中,同步技術作為碼分多址的三大支撐技術之一,起著至關重要的作用。在CDMA系統下行同步過程中,利用PN短碼良好的相關性,將前向數據與不同相位的PN短碼序列進行相關,找到最高相關峰值對應的相位,從而完成短碼同步。以往CDMA的同步、解擾和解Walsh等相關算法[1]主要是基于DSP實現,但通常需要多塊DSP來共同完成,且CDMA中長碼生成和實時性處理對DSP來說是相當大的挑戰。但隨著FPGA技術的快速發展和數字信號處理IP核的成熟,如FFT,FIR,DDS和ALTMULT_COMPLEX等IP核,基于FPGA的信號處理得到廣泛的應用。基于FPGA的CDMA同步算法實現,主要以滑動相關法為主,該方法雖然實現簡單,但實時性較差。本文針對CDMA下行同步快速高效的要求,完成了CDMA下行同步的算法設計,并以FPGA的思想構建同步模塊,利用Altera的Stratix II系列芯片作為硬件平臺進行板級調速,該方法最終應用到實際項目中。

1 CDMA下行同步算法

1.1 PN序列的自相關特性

CDMA導頻信道中傳輸的數據,是周期為32768個碼片的PN序列。PN序列具有良好的自相關性,只有當序列對齊時,才會產生一個極高的相關峰[2],而如果PN序列未對齊,則理論上相關值趨于0。如圖1所示為PN序列的自相關仿真圖,可以觀察到對齊時有一個極高的相關峰,其余未對齊時刻,相關值很小。

圖1 PN序列的自相關特性

1.2 進行相關運算數據長度的確定

如何選擇適當的數據長度來完成相關運算是一個比較重要的問題。如果選取數據長度過長,會帶來巨大的計算量;而如果選取數據長度過短,則會導致計算結果的精度下降,甚至可能無法正確地完成同步過程。

因此有必要對進行相關運算的數據長度對相關性能的影響進行評估。在此引入一個相關質量指數的概念。定義:相關質量指數=相關結果均值/相關結果峰值。相關質量指數的取值介于0~1,越接近于0,說明相關性能越好;反之,越接近于1,說明相關性能越差。

選取不同長度的實測數據進行相關運算,其對應的相關質量指數如圖2所示。

圖2 數據長度對相關性能的影響圖

圖2中,橫軸值表示進行相關運算的數據長度的冪級(以2為底)。當進行相關運算的數據長度的冪級為11及更大時,即長度為211=2048碼片及以上的時候,已經具有了良好的相關性能,經MATLAB對實測CDMA數據仿真后發現當數據長度為4096時,相關性較好,如圖3所示。從圖中可以看出有2個相關峰值,峰值明顯高于未對齊時所得相關值,該結果完全符合設計要求。

圖3 4096碼片的相關圖

1.3 FPGA實現方案比較和選擇

實現前向信道同步的方法很多,常用的搜索法有滑動相關法和使用FFT快速相關的方法。

1.3.1 滑動相關法

對于滑動相關法,即是將PN短碼序列x(i)進行延遲并與CDMA前向信道數據y(i)進行相關處理,獲得相關峰,從而達到同步的目的。在FPGA中實現時,將序列y(i)保持不變,短序列x(i)不斷向右滑動1個點,同時計算在每個位置上,x(i)與y(i)的相關值。如此滑動1個周期后,一定會出現相關峰,相關峰的所在點即是相關點。

使用情況:適合FPGA芯片資源少、對CDMA同步實時性要求不高的系統。

優缺點:該方法實現簡單,占用FPGA資源少,但達到同步所花費的時間長。

1.3.2 FFT快速相關法

使用FFT實現快速同步的方法,由式(1)知,可用卷積的方式來實現相關,即

但是使用卷積來實現相關計算量非常龐大。因此,實際中使用快速傅里葉變換方式實現相關[3],即

從而能達到快速同步的目的。

其過程如下:

1)選擇L滿足

當設計時,選擇PN序列長度M為32768,數據長度N為4096,L長度為65536。

2)用x(n)表示PN序列;用y(n)表示CDMA的前向信道數據。

3)將序列x(n)與y(n)按如下方式補0,形成長為L的序列即

在后面補L-M個0。

即在前面補M-1個0,在后面補L-(M+N-1)個0。

4)對x(n)與y(n)分別進行FFT運算,結果為X(k)與Y(k)。并將X(k)的復共軛X*(k)與Y(k)相乘,即

5)對Z(k)進行IFFT運算,結果為z(n)。并截取z(n)的從第N個到第M個值(從1開始),再將所得結果倒序。

使用情況:適合FPGA芯片資源較多、對CDMA同步實時性要求較高的系統。

優缺點:算法實現較復雜,占用FPGA資源多,但實現同步所需時間短等特點。

基于對實時性要求較高的考慮,本設計選擇FFT快速相關法,參數:PN碼長度M為32768,數據長度N為4096,FFT變換長度為65536。按此方案進行粗略計算,如果系統時鐘為100 MHz時,當使用滑動相關法時,從系統接收完所需長度(4096)的實時CDMA數據后,至少需要2.51 s才能找到同步位置,可見如此長的時間是很多系統所無法容忍的;當使用FFT快速相關法時,PN碼的FFT變換在上電之后先完成,所以其時間不需要計入同步花費時間內,在接收完所需長度(4096)的CDMA數據后,達到同步所需時間僅為4 ms左右,是滑動相關法所需時間的1/600。由此可見,FFT快速相關法在時間開銷上的優越性。

2 FPGA實現流程

2.1 流程分析

整體設計流程圖如圖4所示,數據由中頻經過14 bit數據I/O口在控制信號下進入基帶數據收發模塊,抽取處理后在IFFT/FFT變換模塊進行FFT變換,變換后數據在數據運算模塊和已經過FFT變換的復共軛PN碼進行點乘,之后傳回IFFT/FFT變換模塊進行IFFT變換,其結果在同步位置判定模塊中進行平方求其最大值。

圖4 整體設計流程框圖

2.2 模塊解析

1)同步控制模塊

通過模塊對同步結果進行分析,判定該結果是否有效。當無效時,則再進行一次同步運算,一直到符合所設參數要求為止。

2)PN碼生成模塊

在CDMA系統中,雙極性PN短碼分為I,Q兩路,由1和-1組成,它們的生成多項式為

在FPGA中實現時,主要以移位和異或相結合的方式來產生PN短碼。

3)基帶數據收發模塊

本文中仿真所使用到的數據均采用了4倍采樣I和Q兩路,由于CDMA的碼片速率為1.2288 Mchip/s(兆碼片/s)[4],則基帶接收數據時鐘CLK應該為9.8304 MHz。基帶數據收發模塊在中頻數據有效信號有效時,在時鐘CLK的同步下4倍抽取中頻傳輸的基帶數據用于同步處理,并存放于異步FIFO中,以達到不同時間域的同步。為記錄數據接收的起始位置,在數據接收時,拉高dump信號一個時鐘周期,作為數據起始的標志位,為以后對數據進行接收的開始標志。同時用一個周期為32768×4(CDMA導頻信道中傳輸的數據周期)的加法器進行循環累加,計完一個周期,拉高一次dump信號。基帶數據傳輸到IFFT/FFT變換模塊時,需要有與數據同步拉高的data_source_valid信號,從而使數據能被正確接收。

4)IFFT/FFT變換模塊

IFFT/FFT變換模塊主要實現對基帶數據和PN碼先后進行FFT變換,并對其點乘后的數據進行IFFT變換。為提高開發效率,減小設計風險,因此選用Altera官方提供的FFT IP核[5]。為節約FPGA片內資源,只調用一個FFT核,其參數為:變換長度(Transform Length)為65536;數據精度(Data Precision)為16 bit;數據流模式(I/O Data Flow)為突發模式(數據吞吐量相比較小但占用資源少);其他選項選擇為默認。從IP核配置界面中可知,此參數配置下,占用Memory Bits為4112384,因此對芯片的資源要求很高。

由于同一時刻,FFT IP核只能處理某段數據流,且考慮到數據的實時性和連續性,所以控制好數據流進入FFT IP核的時機和順序非常重要。因此,本模塊中采用狀態機和握手信號來完成。

由于PN碼由值很小的+1和-1組成,而FFT核對值小的數據處理時,其結果也相對很小,甚至會導致結果出錯,因此,設計中將PN碼的值擴大500倍,即變為+500和-500。經ModelSim仿真,其結果和MATLAB仿真結果幅度變化一致,且幅值符合要求。

5)數據運算模塊

數據運算模塊主要實現復共軛點乘Z(k)=X*(k)Y(k),可以調用 ALTMULT_COMPLEX IP 核[6],其可以穩定快速地完成此運算,運算結果再傳輸到IFFT/FFT變換模塊中進行IFFT反變換。由于X(k)和Y(k)不是同時輸入,因此需要用FIFO暫存X(k)數據,當Y(k)輸入時,再從FIFO中讀取出和Y(k)同步輸入到ALTMULT_COMPLEX IP核中。

6)同步位置判定模塊

同步位置依次判定從模塊IFFT/FFT變換模塊中輸出的IFFT反變換結果,對其進行求平方取模,對模值逐一比較大小,保留最大值的位置和值的大小,再推算出同步的位置。

7)中頻模擬模塊

本模塊獨立于基帶處理模塊,單獨用一塊板子來達到模擬中頻數據源的目的。它通過USB接口接收PC機發送的CDMA數據,FPGA通過控制USB芯片將數據接收放入FIFO中,再通過I/O口傳輸到基帶處理模塊的FPGA中。該模塊選用了Alteral的EP3C25Q240C8的FPGA芯片,該芯片具有很高的性價比,而且資源豐富。同時,還選用CY7C68013的USB芯片以實現USB通信。

3 FPGA實現結果及分析

3.1 功能仿真結果分析

完成Verilog代碼編寫后,運用ModelSim對上述模塊進行仿真,使仿真結果符合設計要求。圖5為PN碼生成模塊產生PN碼的仿真時序圖,shift_reg_i和shift_reg_q為初始相位(0x8000),pn_code_i和pn_code_q分別為I,Q兩路的PN碼(16 bit),其產生結果符合設計要求。在輸出PN碼到IFFT/FFT變換模塊的同時,out_state信號拉高,表明PN短碼有效,作為其他模塊接收該PN碼的同步信號。

圖5 PN碼仿真時序圖(截圖)

圖6為IFFT/FFT變換模塊的時序仿真圖,為簡化控制時序的驗證,FFT長度采用1024,經驗證,時序符合設計要求。輸入信號中,sink_real和sink_imag為FFT模塊輸入的實部和虛部,sink_valid為輸入數據有效信號,inverse置0時,表示FFT模塊執行的是FFT變換,置1時,該模塊執行FFT反變換,而輸出信號source_real和source_imag為FFT核變換后輸出數據,source_valid為輸出數據有效信號。從圖6中可以觀察到有3段進入到FFT核的數據流,分別為PN碼x(n)、CDMA數據y(n)和它們FFT變換點乘后的數據z(n),可以看出時序符合FFT核的要求。

圖6 FFT/IFFT仿真時序圖(截圖)

3.2 數據位寬確定

在數據運算模塊中,將進行數據(16 bit)點乘運算,其結果導致數據位寬將會增大一倍(32 bit),因此有必要進行數據截取。數據位太寬,會占用過多的資源,而數據精度太低時,會影響數據結果,甚至會導致出錯。本文中在16 bit和24 bit數據位寬兩種情況下進行整個同步模塊的ModelSim仿真,并將相關的結果值用MATLAB繪圖,其結果如圖7和圖8,雖然24 bit的數據均值是16 bit的256倍,但MATLAB計算得出兩種位寬的峰均比分別為13.28和13.29,幾近相等。可以知道,由于CDMA PN碼良好的相關性,只要數據位寬足夠,24 bit寬的數據只是在16 bit寬數據的基礎上增大256倍,但并不影響峰值點的確定。如果在相關性沒這么好的GSM系統中進行同步處理時,如果數據位寬不夠,會導致同步位置偏移幾個點,而在CDMA中影響不大。因此,本文中數據位寬選擇16 bit。

3.3 FPGA程序正確性驗證

為驗證用Verilog編程的程序算法思想的正確性,將Verilog編寫的每個模塊所生成的數據和用MATLAB仿真產生數據相對比,判定結果是否一致。圖3為用MATLAB仿真的結果,可以看到有3個相關峰(最大峰值的峰均比為13.30),這是由空中截取的CDMA信號包含了相鄰基站的導頻信息所致。但是由于移動終端一般接入最強導頻的基站,本文以最高相關峰為當前服務基站的同步點。而用ModelSim仿真得到的相關數據用MATLAB繪制結果如圖7和圖8,峰均比為13.28和13.29,且得出的同步點和MATLAB的仿真結果一致。因此,用FPGA實現CDMA的短碼同步是可行的。

經過仿真驗證后,進行了板級調試,并用邏輯分析儀觀察FPGA芯片內部信號和輸出信號。圖9為Cyclone III芯片接收USB芯片發送的CDMA數據,CTLO_FLAGA為信號輸出有效信號,FX2FD為接收的數據,每次接收收據大小512 byte,該大小可以通過程序更改。圖10為Stratix II芯片的調試結果,POS_MAX為最大峰值的相位,可以看出該值和之前仿真的結果一致。

4 小結

本文提出了CDMA下行同步算法,設計了基于Verilog的同步算法模塊,并利用ModelSim對各個模塊進行仿真,并將運算結果和MATLAB仿真結果進行對比,其結果一致。由于PN碼良好的相關性,經過仿真可以得出,在數據位寬為16 bit和24 bit時,雖然得出的數據值不一樣,但最終的峰均值卻幾近相等,因此,為節約FPGA芯片資源,將數據位寬確定為16 bit。最終,經過板級調試和驗證,性能穩定可靠,說明該同步算法是可行的。

[1]徐海燕,田增山,沈建國,等.基于CDMA2000移動目標的探測方法研究[J].重慶郵電大學學報:自然科學版,2008(1):36-38.

[2]OK K M,KANG C G.Generalized window-based PN acquisition scheme in CDMA2000 spread spectrum systems[C]//Proc.Global Telecommunications Conference.[S.l.]:IEEE Press,2005:1530-1534.

[3]殷福亮,宋愛軍.數字信號處理C語言程序集[M].沈陽:遼寧科學技術出版社,1997.

[4]ROSE G,KOIEN G M.Access security in CDMA2000,including a comparison with UMTS access security[J].IEEE Wireless Communications,2004,11(1):19-25.

[5]Altera corporation.FFT MegaCore FunctionuserGuide[EB/OL].[2012-07-10].http://www.altera.com/literature/ug/ug_fft.pdf.2011.

[6]Altera corporation.Integer arithmetic mega functions user guide[DB/OL].[2012-07-10].http://www.altera.com/literature/ug/ug_lpm_alt_mfug.pdf.2010.

猜你喜歡
信號
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
7個信號,警惕寶寶要感冒
媽媽寶寶(2019年10期)2019-10-26 02:45:34
孩子停止長個的信號
《鐵道通信信號》訂閱單
基于FPGA的多功能信號發生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
基于Arduino的聯鎖信號控制接口研究
《鐵道通信信號》訂閱單
基于LabVIEW的力加載信號采集與PID控制
Kisspeptin/GPR54信號通路促使性早熟形成的作用觀察
主站蜘蛛池模板: 欧美精品一二三区| 欧美激情视频在线观看一区| 久久久四虎成人永久免费网站| 97久久人人超碰国产精品| 欧美亚洲国产视频| 白丝美女办公室高潮喷水视频| 日本不卡在线视频| 91久久国产综合精品女同我| 免费一级无码在线网站| 国产在线自乱拍播放| 国产亚洲高清在线精品99| 日韩成人免费网站| 国产香蕉一区二区在线网站| 91网站国产| 最新日本中文字幕| 免费国产好深啊好涨好硬视频| 91网红精品在线观看| 嫩草影院在线观看精品视频| 免费国产好深啊好涨好硬视频| 国产成人高清亚洲一区久久| 亚洲美女视频一区| 亚洲欧美在线精品一区二区| 亚洲欧洲美色一区二区三区| 在线视频亚洲色图| 98超碰在线观看| 日韩大乳视频中文字幕| 一区二区三区四区精品视频| 国产主播在线一区| 亚洲中文字幕在线精品一区| 日韩毛片免费观看| 欧美黄色a| 97视频精品全国在线观看| 九九热这里只有国产精品| 久久这里只有精品2| 日本久久网站| 日本一区二区不卡视频| 中文字幕在线观看日本| 欧美午夜性视频| 欧美国产综合色视频| AV熟女乱| 国产亚洲精| 伊人天堂网| 免费不卡视频| 久久99蜜桃精品久久久久小说| 在线观看精品自拍视频| 高清无码一本到东京热| 亚洲成aⅴ人在线观看| 欧美天堂在线| 婷婷伊人久久| 成人午夜精品一级毛片| 日韩免费中文字幕| 色综合中文字幕| 欧美区一区| 亚洲欧美日韩色图| 91久久精品日日躁夜夜躁欧美| 人人看人人鲁狠狠高清| 日韩A∨精品日韩精品无码| 欧美黄色a| 国产青青草视频| 日日噜噜夜夜狠狠视频| 欧美在线伊人| 十八禁美女裸体网站| 91系列在线观看| 伊人久综合| 亚洲自偷自拍另类小说| 香蕉视频在线观看www| 国产人妖视频一区在线观看| 激情网址在线观看| 日本久久免费| 嫩草影院在线观看精品视频| 天天综合天天综合| 伊人网址在线| 91视频日本| 亚洲女同欧美在线| 亚洲欧美另类色图| 精品三级网站| 在线99视频| 亚洲AⅤ无码国产精品| 国产高潮视频在线观看| 九月婷婷亚洲综合在线| 天天干伊人| 国产成人午夜福利免费无码r|