TD-SCDMA中CRC的DSP實(shí)現
摘要:針對生成CRC多采用移位寄存器不易于DSP實(shí)現和實(shí)時(shí)性差的問(wèn)題,提出固定寄存器的實(shí)現方法。該方法由標志位和移位算法組成,利用高性能DSP特殊指令實(shí)現,具有程序小,速度快的優(yōu)點(diǎn),可應用于3G、4G通信系統中。
本文引用地址:http://dyxdggzs.com/article/147854.htm引言
TD-SCDMA系統多采用FPGA+ARM+DSP的方案,其中DSP用于實(shí)現物理層信號處理。物理層信號處理一般流程,如圖1所示。流程包括給每個(gè)傳輸模加CRC、傳輸塊級連/碼塊分段、信道編碼、無(wú)線(xiàn)幀尺寸均衡、交織(分兩步)、無(wú)線(xiàn)幀分段、速率匹配、傳輸信道復用、比特加擾、物理信道分段、子幀分段、映射到物理信道、調制、擴頻,最后生成TD-SCDMA的基帶信號[1,2]。

本文重點(diǎn)研究TD-SCDMA中CRC實(shí)現的DSP算法。CRC實(shí)現分為直接和查表兩種。查表實(shí)現用于存儲空間大,且對實(shí)時(shí)性要求高的場(chǎng)合。直接實(shí)現則不需要過(guò)大的存儲空間,通常采用移位寄存器,不能獲得很高的實(shí)時(shí)性。為了保證實(shí)時(shí)性,本文提出了基于標志與移位算法的固定寄存器實(shí)現方法。寄存器用DSP內存空間實(shí)現,標志用指針實(shí)現,其關(guān)鍵是移位算法的實(shí)現。該方法具有占用內存空間小,運算速度快的優(yōu)點(diǎn),滿(mǎn)足TD-SCDMA系統的要求。
CRC原理
CRC(循環(huán)冗余校驗碼)是一種系統的縮短循環(huán)碼,具有編碼及錯誤檢測簡(jiǎn)單,容易實(shí)現且誤判概率低、檢錯能力強等優(yōu)點(diǎn),廣泛應用于幀校驗,其中包括TD-SCDMA。TD-SCDMA物理信道復用與編碼的第一步是附加CRC,是利用CRC校驗校驗功能實(shí)現傳輸塊的差錯檢測。CRC校驗的基本思想是利用線(xiàn)性編碼理論,在發(fā)送端根據要傳送的A位傳輸塊,以一定的規則產(chǎn)生一個(gè)校驗用的監督碼(既CRC碼)M位,并附在傳輸塊后,構成一個(gè)新的(A+M)位傳輸塊,進(jìn)行后續信道處理,最后發(fā)送出去;在接收端,則根據信息碼和CRC碼之間所遵循的規則進(jìn)行檢驗,以確定傳送中是否出錯。這里的規則是指CRC生成多項式。根據3GPP相關(guān)協(xié)議TD-SCDMA中采用生成多項式如下[3]:

TD-SCDMA中CRC多項式的選擇是由高層信令決定的,但是利用他們生成CRC的原理是一樣的[4]。生成CRC碼所采用運算是模二加減運算法則,既是不帶進(jìn)位和借位的按位加減。這種加減運算實(shí)際上就是邏輯上的異或運算,加法和減法等價(jià),乘法和除法運算與普通代數式的乘除法運算是一樣,符合同樣的規律。移位寄存器實(shí)現CRC的步驟如下:
(1)建立移位寄存器,長(cháng)度等于CRC長(cháng)度加1;
(2)移位寄存器的初始值清零;
(3)給輸入數據后補零,補零長(cháng)度等于CRC長(cháng)度;
(4)輸入數據從低位移入寄存器中,每次移一位;
(5)把寄存器值與生成多項式值做模二運算,結果存儲在寄存器中;
(6)如果最高位為零,則移位寄存器向前移位一次,輸入數據也移進(jìn)一位,跳轉到步驟5;如果不為零,則直接跳轉到步驟5。
(7)如果輸入數據(不包括補的零)全部移出寄存器,此時(shí)寄存器的值就是CRC值。
評論