TD-SCDMA中CRC的DSP實現(xiàn)
摘要:針對生成CRC多采用移位寄存器不易于DSP實現(xiàn)和實時性差的問題,提出固定寄存器的實現(xiàn)方法。該方法由標(biāo)志位和移位算法組成,利用高性能DSP特殊指令實現(xiàn),具有程序小,速度快的優(yōu)點,可應(yīng)用于3G、4G通信系統(tǒng)中。
本文引用地址:http://www.ex-cimer.com/article/147854.htm引言
TD-SCDMA系統(tǒng)多采用FPGA+ARM+DSP的方案,其中DSP用于實現(xiàn)物理層信號處理。物理層信號處理一般流程,如圖1所示。流程包括給每個傳輸模加CRC、傳輸塊級連/碼塊分段、信道編碼、無線幀尺寸均衡、交織(分兩步)、無線幀分段、速率匹配、傳輸信道復(fù)用、比特加擾、物理信道分段、子幀分段、映射到物理信道、調(diào)制、擴頻,最后生成TD-SCDMA的基帶信號[1,2]。
本文重點研究TD-SCDMA中CRC實現(xiàn)的DSP算法。CRC實現(xiàn)分為直接和查表兩種。查表實現(xiàn)用于存儲空間大,且對實時性要求高的場合。直接實現(xiàn)則不需要過大的存儲空間,通常采用移位寄存器,不能獲得很高的實時性。為了保證實時性,本文提出了基于標(biāo)志與移位算法的固定寄存器實現(xiàn)方法。寄存器用DSP內(nèi)存空間實現(xiàn),標(biāo)志用指針實現(xiàn),其關(guān)鍵是移位算法的實現(xiàn)。該方法具有占用內(nèi)存空間小,運算速度快的優(yōu)點,滿足TD-SCDMA系統(tǒng)的要求。
CRC原理
CRC(循環(huán)冗余校驗碼)是一種系統(tǒng)的縮短循環(huán)碼,具有編碼及錯誤檢測簡單,容易實現(xiàn)且誤判概率低、檢錯能力強等優(yōu)點,廣泛應(yīng)用于幀校驗,其中包括TD-SCDMA。TD-SCDMA物理信道復(fù)用與編碼的第一步是附加CRC,是利用CRC校驗校驗功能實現(xiàn)傳輸塊的差錯檢測。CRC校驗的基本思想是利用線性編碼理論,在發(fā)送端根據(jù)要傳送的A位傳輸塊,以一定的規(guī)則產(chǎn)生一個校驗用的監(jiān)督碼(既CRC碼)M位,并附在傳輸塊后,構(gòu)成一個新的(A+M)位傳輸塊,進行后續(xù)信道處理,最后發(fā)送出去;在接收端,則根據(jù)信息碼和CRC碼之間所遵循的規(guī)則進行檢驗,以確定傳送中是否出錯。這里的規(guī)則是指CRC生成多項式。根據(jù)3GPP相關(guān)協(xié)議TD-SCDMA中采用生成多項式如下[3]:
TD-SCDMA中CRC多項式的選擇是由高層信令決定的,但是利用他們生成CRC的原理是一樣的[4]。生成CRC碼所采用運算是模二加減運算法則,既是不帶進位和借位的按位加減。這種加減運算實際上就是邏輯上的異或運算,加法和減法等價,乘法和除法運算與普通代數(shù)式的乘除法運算是一樣,符合同樣的規(guī)律。移位寄存器實現(xiàn)CRC的步驟如下:
(1)建立移位寄存器,長度等于CRC長度加1;
(2)移位寄存器的初始值清零;
(3)給輸入數(shù)據(jù)后補零,補零長度等于CRC長度;
(4)輸入數(shù)據(jù)從低位移入寄存器中,每次移一位;
(5)把寄存器值與生成多項式值做模二運算,結(jié)果存儲在寄存器中;
(6)如果最高位為零,則移位寄存器向前移位一次,輸入數(shù)據(jù)也移進一位,跳轉(zhuǎn)到步驟5;如果不為零,則直接跳轉(zhuǎn)到步驟5。
(7)如果輸入數(shù)據(jù)(不包括補的零)全部移出寄存器,此時寄存器的值就是CRC值。
評論