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