引言
隨著通信系統(tǒng)的進(jìn)步,射頻模塊和基帶之間的數(shù)據(jù)速率大幅度提高[1],控制射頻模塊的基帶信號(hào)包含AGC(自動(dòng)增益調(diào)節(jié))、APC(自動(dòng)功率調(diào)節(jié))和AFC(自動(dòng)頻率調(diào)節(jié))等信息。上述的增益、功率和頻率信息都是低誤碼率通信的基礎(chǔ)。
傳統(tǒng)解決誤碼率主要為兩種方式:前向糾錯(cuò)碼(FEC)或自動(dòng)重傳請(qǐng)求算法(ARQ),F(xiàn)EC算法會(huì)占用相當(dāng)大的帶寬;ARQ算法不會(huì)占用額外帶寬,但是會(huì)因?yàn)閿?shù)據(jù)重傳請(qǐng)求及響應(yīng)過(guò)程造成較大的時(shí)延[2]。其他算法,包括CRC校驗(yàn)算法[7]等,也有較為廣泛的應(yīng)用。
一個(gè)無(wú)線終端系統(tǒng)可分為3個(gè)部分:通信基帶模塊(以下簡(jiǎn)稱(chēng) CBM),射頻模塊控制電路(以下簡(jiǎn)稱(chēng)CRMCC)和通信射頻模塊(以下簡(jiǎn)稱(chēng)CRM)。如圖1所示,CBM負(fù)責(zé)信源編碼和信源解碼,CRMCC接收CBM的基帶控制信號(hào)(以下簡(jiǎn)稱(chēng)BCS),生成射頻模塊控制信號(hào)(以下簡(jiǎn)稱(chēng)RFCS),以RFCS控制通信射頻模塊(CRM),并且向CBM返回信號(hào)接收回饋信息(以下簡(jiǎn)稱(chēng)SRCFM)。而射頻模塊(包括天線)在RMCS的控制下,接收基帶傳輸?shù)耐ㄐ艛?shù)據(jù),負(fù)責(zé)信道編碼與信道解碼。
BCS信號(hào)的錯(cuò)誤模型分析及常見(jiàn)糾錯(cuò)算法
一個(gè)標(biāo)準(zhǔn)的SPI時(shí)序信號(hào)[3~7]如圖2上半部分“正常SPI信號(hào)示意”所示,其中的DATA信號(hào)為最高有效位(以下簡(jiǎn)稱(chēng)MSB)優(yōu)先傳輸,其中“原始DATA信號(hào)”電平所傳輸信號(hào)為8位二進(jìn)制數(shù)據(jù)0b00101011(以十六進(jìn)制表示為0x2B,以十進(jìn)制表示為43)。
如圖2下半部所示,相對(duì)于同樣質(zhì)量的DATA信號(hào),由于CLK信號(hào)和~CS信號(hào)的錯(cuò)位(相對(duì)DATA信號(hào)),最高位的“0”沒(méi)有被采樣,由于DATA信號(hào)在其他時(shí)間保持在高電平,最后的采樣結(jié)果為8位二進(jìn)制數(shù)據(jù)0b01010111(以十六進(jìn)制表示為0x57,以十進(jìn)制表示為87)。如果此數(shù)據(jù)用來(lái)控制射頻信號(hào)增益(功率),則數(shù)據(jù)從43誤傳為87,對(duì)于功率信號(hào),其增益將增加約15848倍(
),這將對(duì)通信系統(tǒng)將造成非常嚴(yán)重的影響。
由于移動(dòng)通信尤其是高速移動(dòng)通信的特點(diǎn),隨著終端和基站之間的距離和噪音因素的快速變換(進(jìn)出樹(shù)木或水泥建筑),AGC、APC和AFC參數(shù)都需要高頻率的修正設(shè)置。對(duì)于上述出現(xiàn)的傳輸錯(cuò)誤和信號(hào)數(shù)值跳變,CRMCC必須做出及時(shí)而正確的反應(yīng)。為解決基帶和射頻模塊之間的誤碼問(wèn)題,當(dāng)前主要采用兩種算法:FEC算法[1~4]與ARQ算法[2]。
ARQ算法有三種典型技術(shù):停止等待方式(SW-ARQ)、回退N步方式(GBN-ARQ)以及選擇重傳方式(SRARQ)等。其中GBN-ARQ及SR-ARQ在一般環(huán)境下工作得相當(dāng)好,但應(yīng)用于射頻控制模塊尤其是下一代移動(dòng)通信中時(shí),收發(fā)切換的小時(shí)間間隔(LTE系統(tǒng)中為5ms)使得等待回傳數(shù)據(jù)很難實(shí)現(xiàn),也限制了ARQ算法在未來(lái)應(yīng)用中的實(shí)現(xiàn)[5]。
常見(jiàn)的FEC算法包括卷積碼、Turbo碼、LDPC碼和RS碼等。上述FEC碼在實(shí)際實(shí)現(xiàn)中使用的碼率通常為1/2、3/4等,也即其碼率為原始碼率的200%和133%,都需要占有大量額外的帶寬,對(duì)于信道有限的通信射頻控制模塊,亦較難實(shí)現(xiàn)[5]。
一種帶有自適應(yīng)糾錯(cuò)功能的通信射頻模塊控制電路
為解決上述射頻通信控制電路的誤碼問(wèn)題,我們提出了一種帶有自糾錯(cuò)功能的通信射頻模塊控制電路(CRMCC)。如圖3所示,本文提出的CRMCC在結(jié)構(gòu)上包括:信號(hào)接收單元(以下簡(jiǎn)稱(chēng)SRU)、信號(hào)接收情況反饋單元(以下簡(jiǎn)稱(chēng)SRSFU)、信號(hào)閾值控制單元(以下簡(jiǎn)稱(chēng)STCU)、信號(hào)數(shù)值濾波單元(以下簡(jiǎn)稱(chēng)SVFU)、控制數(shù)值存儲(chǔ)單元(以下簡(jiǎn)稱(chēng)CVSU)、控制信號(hào)生成使能單元(以下簡(jiǎn)稱(chēng)CSGEU)和控制信號(hào)生成單元(以下簡(jiǎn)稱(chēng)CSGU)。
在下文中,我們將首先介紹本文提出的CMRCC架構(gòu)中的各組成部分,然后對(duì)本文所提架構(gòu)的處理流程做出介紹。
信號(hào)接收單元(SRU)內(nèi)部包含相應(yīng)基帶控制信號(hào)相應(yīng)波形的解碼電路,對(duì)輸入的基帶控制信號(hào)進(jìn)行接收并傳遞給SRSFU。信號(hào)接收情況反饋單元(SRSFU)對(duì)信號(hào)接收單元的接收情況進(jìn)行監(jiān)控,并將信號(hào)數(shù)值傳送給STCU,SRSFU同時(shí)接收來(lái)自STCU的信息(數(shù)值超出閾值信息)并反饋給基帶。
信號(hào)閾值控制單元(STCU)接收來(lái)自SRSFU的信號(hào)數(shù)值,單元內(nèi)有初始化的閾值信息(包括信號(hào)數(shù)值比較閾值和信號(hào)誤差計(jì)數(shù)閾值)、信號(hào)誤差計(jì)數(shù)寄存器和數(shù)值緩存寄存器和比較單元。STCU在每次接收到有效數(shù)據(jù)后都會(huì)判斷當(dāng)前數(shù)據(jù)是否使能,并通知CSGEU。此外,信號(hào)閾值控制單元還接收從SVFU寫(xiě)入的濾波后數(shù)據(jù)存入緩存,以待下一次收到有效信號(hào)時(shí)與之對(duì)比。
數(shù)值信號(hào)濾波單元(SVFU)接收STCU傳送的數(shù)據(jù),單元內(nèi)部有濾波器單元。濾波器單元包括固定或可配置的系數(shù)單元。每次STCU接收到有效信號(hào)并傳輸至SCFU后,SVFU將讀取CVSU中的數(shù)據(jù)并逐個(gè)乘以對(duì)應(yīng)系數(shù)并計(jì)算出濾波結(jié)果。信號(hào)數(shù)值濾波單元計(jì)算濾波結(jié)果后將數(shù)值存在CVSU中。
控制數(shù)值存儲(chǔ)單元(CVSU)提供了兩個(gè)讀寫(xiě)端口,同時(shí)可供SVFU和CSGEU寫(xiě)入和讀取數(shù)據(jù)。CVSU同時(shí)根據(jù)信號(hào)接收SRSFU的標(biāo)示情況修正數(shù)值的存儲(chǔ)。控制信號(hào)生成使能單元(CSGEU)接收STCU給出的通知信號(hào),若STCU通知當(dāng)前信號(hào)使能,則CSGEU生成使能信號(hào),反之則不生成使能信號(hào)。
控制信號(hào)生成單元(CSGU)包含相應(yīng)通信射頻模塊所需控制信號(hào)生成電路,CSGU在每一周期讀取CVSU和CSGEU的信息,若CSGEU給出使能信號(hào),則CSGU讀取CVSU中的相應(yīng)數(shù)據(jù)并生成相應(yīng)射頻控制信號(hào)。
綜上所述,CRMCC應(yīng)該對(duì)數(shù)據(jù)錯(cuò)誤和有效的數(shù)據(jù)跳變做出有效的區(qū)分和處理。在本文所提出架構(gòu)中,上述處理主要是由SRSFU和STCU完成的。
本文提出的CRMCC處理流程分為四種:普通信號(hào)流程(簡(jiǎn)稱(chēng)流程A),錯(cuò)誤信號(hào)流程(簡(jiǎn)稱(chēng)流程B),無(wú)效信號(hào)流程(簡(jiǎn)稱(chēng)流程C)和有效信號(hào)跳變流程(簡(jiǎn)稱(chēng)流程D)。流程B反映并處理了圖2所示的應(yīng)被濾波的錯(cuò)誤,流程D則反映了有效并應(yīng)被迅速反映的數(shù)據(jù)跳變。本文所提的CRMCC判斷流程如圖4所示:SRSFU將首先判斷當(dāng)前信號(hào)是否為有效信號(hào),若無(wú)效則進(jìn)入流程C;若當(dāng)前信號(hào)有效,則檢查其當(dāng)前數(shù)值(以下簡(jiǎn)稱(chēng)Curr_ V)、STCU中的緩存值(簡(jiǎn)稱(chēng)Buff_V)和STCU中的信號(hào)數(shù)值比較閾值(簡(jiǎn)稱(chēng)Tv),若|Curr_V- Buff_V|≤Tv,則進(jìn)入流程A,反之,則檢查信號(hào)誤差計(jì)數(shù)寄存器(簡(jiǎn)稱(chēng)STER)和STCU中的信號(hào)誤差計(jì)數(shù)閾值(簡(jiǎn)稱(chēng)Tsec),若STER>Tsec,則進(jìn)入流程D,反之使用流程B。
新架構(gòu)CRMCC的處理結(jié)果如圖5和圖6所示,其中流程A、流程B和流程C如圖5所示。從圖5中可以看出,本文提出的CRMCC架構(gòu)對(duì)錯(cuò)誤的數(shù)據(jù)跳變(流程B)可以進(jìn)行有效的濾波。若出現(xiàn)了錯(cuò)誤的數(shù)據(jù)跳變(流程B)和無(wú)效數(shù)據(jù)(流程C),CSGU都將被置于空閑狀態(tài)(如圖中所示IDLE),不生成任何信號(hào),保證了所控射頻模塊正常運(yùn)行。
流程D如圖6所示。從圖6中可以看出,本文提出的CRMCC架構(gòu)對(duì)有效數(shù)據(jù)跳變可以做出有效的辨認(rèn)(如圖中D1~D7所示),3~5個(gè)周期后即可對(duì)數(shù)據(jù)做出反應(yīng)。
濾波器參數(shù)的自適應(yīng)修正算法
CRMCC中的濾波器可被描述為:
F_result = a1 ×Cu_value + a2 ×buf1 + a3 × buf2 (1)
在(1)式中,F(xiàn)_result為濾波結(jié)果,Cu_value為當(dāng)前數(shù)值,buff1為較新緩存,buff2為較早緩存。對(duì)濾波器的選擇代表了在濾波力度和數(shù)據(jù)更新率上的傾向性:若選擇a1更大,當(dāng)前數(shù)值(Cu_value)將在濾波結(jié)果中占有更大權(quán)重,也即濾波器傾向于獲得更大的數(shù)據(jù)更新率;若選擇更大的a2和a3,buff1和buff2將在濾波結(jié)果中擁有更大權(quán)重,也即濾波器傾向于更大的濾波力度。
基于前述思路,本文提出了一種濾波器參數(shù)的自適應(yīng)更新算法:首先設(shè)定統(tǒng)計(jì)周期(如40000個(gè)數(shù)據(jù)塊,長(zhǎng)度5秒)、有效數(shù)據(jù)跳變技術(shù)錯(cuò)誤率閾值(以下簡(jiǎn)稱(chēng)VERT)、初始值和各參數(shù)的修正步距。
有效數(shù)據(jù)的跳變(每個(gè)流程D計(jì)數(shù),以下簡(jiǎn)稱(chēng)為C_VJ)和錯(cuò)誤數(shù)據(jù)跳變(每個(gè)流程B計(jì)數(shù),以下簡(jiǎn)稱(chēng)為C_ EJ)在統(tǒng)計(jì)周期中都將被計(jì)數(shù)。在每一個(gè)統(tǒng)計(jì)周期結(jié)束之后,濾波器參數(shù)將依照C_VJ和C_EJ的計(jì)數(shù)結(jié)果而得到修正[6]。
若(C_VJ / C_EJ 硬件消耗與性能比較 本文所提的新CRMCC架構(gòu)與ARQ、FEC算法實(shí)現(xiàn)的性能與硬件消耗比較如表1所示。從表1可以得出:雖然本文提出的新CRMCC架構(gòu)在理論誤碼糾錯(cuò)率上無(wú)法接近100%(當(dāng)Cu_value,buff1和buff2數(shù)值不同時(shí),根據(jù)前述(1)式,濾波結(jié)果與Cu_value將會(huì)不同),新CRMCC架構(gòu)在零響應(yīng)時(shí)間,不需要額外帶寬的條件下,達(dá)到了較好的射頻模塊控制性能。本文所提CRMCC架構(gòu)因其算法精簡(jiǎn),在硬件消耗上優(yōu)于FEC算法,并在帶寬消耗上優(yōu)于ARQ算法。 結(jié)語(yǔ) 本文提出了一種新的應(yīng)用于無(wú)線通信的射頻模塊控制電路(CRMCC)架構(gòu),新CRMCC架構(gòu)可以對(duì)有效數(shù)據(jù)跳變和錯(cuò)誤數(shù)據(jù)跳變進(jìn)行有效區(qū)分,對(duì)AGC、APC和AFC均能作出有效響應(yīng)。CRMCC架構(gòu)在0響應(yīng)時(shí)間,不需要額外帶寬的情況下,達(dá)到了較好的射頻模塊控制性能。 文中所述的濾波器模塊(SVFU)為CRMCC電路中的關(guān)鍵模塊,其參數(shù)的自適應(yīng)修正算法將是未來(lái)研究中的重點(diǎn)。 參考文獻(xiàn): [1] 黎鎖平,劉存明,何志鵬.無(wú)線數(shù)據(jù)傳輸?shù)腉BN-ARQ和SR-ARQ系統(tǒng)試驗(yàn)性能研究[J].信號(hào)處理,2009,25(3):384-388 [2] 胡建軍,阮文惠.一種混合ARQ模式性能分析[J].大連交通大學(xué)學(xué)報(bào),2011,32(1):98-101 [3] 李忠橋,游小杰,鄭瓊林.單片機(jī)SPI通信中數(shù)據(jù)流的同步問(wèn)題研究[J].單片機(jī)與嵌入式系統(tǒng),2007,1:11–13 [4] 李鴻林,王偉利.基于卷積碼、LDPC碼、Turbo碼的BICM-ID性能的研究[J].應(yīng)用科技,2009,36(12):13-16 [5] 白光偉,靳勇,張芃.基于Kalman濾波的無(wú)線流媒體自適應(yīng)混合FEC/ARQ控制策略[J].計(jì)算機(jī)科學(xué),2010,37(3):94-98 [6] 劉振宇,周莉,陳杰.一種基于運(yùn)動(dòng)檢測(cè)的碼率控制算法[J].科學(xué)技術(shù)與工程,2010,10(20):4940-4948 [7] 高振,羅秋鳳.SPI接口與CRC算法在雙DSP數(shù)據(jù)通信中的應(yīng)用[J].電子產(chǎn)品世界,2011,1-2月合刊:46-48