張 峰,田 園,2
(1.中國科學研究院自動化所,北京100190;2.中國地質大學(北京)地球物理與信息技術學院,北京 100083)
中國移動多媒體廣播(CMMB)系統物理層調制方式采用正交頻分復用(OFDM)技術[1],把整個信道分成互相正交的子信道,具有頻譜利用率高且抗多徑衰落能力強的特點。但由于解調時子載波間必須保持嚴格的正交性,所以OFDM系統對定時誤差和載波頻偏的敏感程度比單載波高得多[2],CMMB接收機中同步算法的選擇對系統性能有較大影響。
CMMB數據時隙結構如圖1所示[1]。每一時隙的起始位置有兩個完全相同的同步信號,這兩個同步信號是具有很強相關性的偽隨機序列。由文獻[3-6]可知,如果將這兩個同步信號互相關,會得到一個很大的相關值;而如果同步信號與相鄰的OFDM符號互相關,其相關值會有明顯降低。粗同步模塊中通過檢測相關值的峰值來捕獲CMMB時隙并給出FFT開窗定時信息。

圖1 CMMB數據時隙結構
利用同步信號具有強相關性這一特點,CMMB接收機的粗同步模塊采用最大相關算法(MC算法)[7-8],其原理為:從接收數據中存儲一段數據,從數據頭開始取4096點的滑動窗,將滑動窗內前2048點與后2048點分別互相關并求和,相關和達到峰值時對應的滑動窗的位置即為同步信號出現的位置。檢測到同步信號位置后,可推算得到CMMB數據幀中其他符號的位置。圖2為CMMB定時粗同步模塊的基本框圖。

圖2 CMMB定時粗同步框圖
圖2中,設存儲的數據段長度為N,滑動窗中相關和的表達式為

由于相鄰兩個滑動窗求相關和時只相差一組數據,為降低運算量,r(t)可以遞歸表示為

相關和取最大值時,滑動窗中的4096點即為同步信號,同步信號偏移位置(即第1個同步信號的第1點)d由式(3)求出

在8 MHz模式下,1個CMMB時隙包含25萬個數據[1],粗同步算法中,如果處理的數據段長度僅等于250000,可能會出現同步信號分布在數據段兩端的情況而無法得到相關和的峰值。為保證提取的數據段中包含1個完整的同步信號,數據段的長度需滿足N≥254095。如圖3所示,滑動窗在最后4096點處可包含1個完整的同步信號。

圖3 數據段中同步信號分布情況
傳統的CMMB接收機大多采用硬件電路實現。硬件電路具有結構簡單、易實現的特點,但其結構固定不可修改,因此也帶來環境適應性差、無法兼容其他標準等缺點。
采用DSP實現CMMB接收機,一方面可以通過檢測到的信道環境實時調整軟件中算法的實現方式,從而實現接收性能和運算量的最優結合,另一方面由于基于OFDM技術的通信系統(如LTE,CMMB)的同步算法原理相同,在不改動系統硬件的基礎上可通過修改軟件中的算法實現多標準通信系統間的轉換,從而降低系統的整體成本。
在DSP中實現粗同步算法時,需要先將數據存儲下來,再進行同步頭搜索。第1節介紹的粗同步算法中需要一次存儲254095個16 bit復數,占用約8 Mbit空間,由于手持設備的功耗和面積的限制,無法配置如此巨大的存儲器空間,因此必須對算法進行優化并減小需要的存儲器空間。筆者針對DSP片內存儲器小的限制,提出了一種基于分段搜索的并且在DSP上實現的粗同步改進算法。
由CMMB時隙結構可知,每個時隙開頭都有2個已知的同步信號,也就是說,不同時隙中所包含的同步信號相同。又由于每個時隙持續25 ms,且在接收到的信號中同步信號位置是未知的,則同步信號可描述為位置未知且每隔25 ms出現1次的周期信號。在存儲空間足夠大的情況下,需連續存儲254095個數據,且檢測到同步信號的最小時長為25.4095 ms。
為節省存儲空間,分段搜索算法的主要思想為:將一次處理的數據段長度從一個時隙減小到較短的數據段,利用同步信號出現的周期性,通過對多個數據段分別搜索得到同步頭位置。實現時將一個時隙數據分為若干段,這些數據段在時隙中取不同位置,相鄰兩個數據段邊緣互相重合,所有數據段聯合起來組成一個完整的時隙,如圖4所示。每次僅存儲其中的一段數據,之后空出一定的時間對這段數據處理,處理時應用式(1)~(3)。粗同步模塊中循環進行“存儲—處理”的操作直到檢測到同步信號,流程圖如圖5所示。

圖4 算法中提取數據段的分布

圖5 基于DSP的粗同步算法流程圖
其中規定數據段的存儲長度為N,數據段處理時間等效數據點數P。由于DSP處理器處理時長P大于數據存儲長度N,在進行數據處理的同時不保存新的數據,因此,這部分信號將丟失,考慮到同步信號的周期性及分段數據的覆蓋性,此部分信號在其后的時隙中就進行檢測。最長檢測時間由數據段的存儲長度N和數據段處理時間P決定。
不同時隙中時域上相鄰的兩段數據間應有M≥4095點相互重合的數據,以避免同步信號正好位于兩段數據之間的情況。
實際參數N和P是通過綜合考慮DSP的存儲能力和運算處理時間來確定,減小N是以檢測時間變長且檢測時隙增多為代價的,正如第3節中所述,檢測時間延長尚對系統性能無影響。
圖4中,設定存儲長度N=35000點、處理長度P=50000點、重合數據M=5000點,數據處理流程如下:每個“存儲—處理”周期占用85000個點。先存儲35000個點,利用接收其后50000個點的時間對存儲的350000個點進行處理,檢測這350000點的相關和的峰值并將其與本地產生的模板進行模板匹配,匹配成功則說明這段數據中包含同步信息,這時給出同步定時位置并退出粗同步模塊;匹配失敗說明這段數據中不包含同步信息,還需要在下一數據段中進行檢測匹配。
圖4給出了需要檢測的數據段的位置在3個時隙中的分布情況,圖中第4行表示將所有數據段聯合起來的情況,可以看出9個數據段可以覆蓋一個完整的時隙。由于在接收到的時隙中同步信號的位置是未知的,如果同步信號在數據段1中,那么在第1個時隙的第1個數據段就可匹配成功,檢測時間最短,運算量最少;如果同步信號包含在數據段9中,這時需要檢測的時間最長,需要到第3個時隙的最后1個數據段才能匹配到同步頭,同時運算量也最多。
按照以上參數在AD公司TS101S處理器上進行測試。設定工作頻率為150 MHz(實際手持設備中芯片處理能力和工作頻率受限,以上參數需要重新設定),實測處理1個數據段的時間為4.3092 ms,小于數據段處理時間5 ms,滿足設計要求。
綜合以上分析,利用本文介紹的粗同步算法,以N=35000點,P=50000點為例,最多在3個時隙內就可以檢測到定時信息。
由于基于硬件實現的粗同步模塊和基于DSP實現的粗同步模塊都采用式(1)~(3)的運算過程,所以兩種方法在不同信道環境下表現出的性能是相同的。本文提出的基于DSP的分段存儲的改進算法優點在于:在不改變算法性能的前提下,解決了數據存儲空間過大導致無法在DSP內實現的缺點,從而進一步提高了數據處理速度。表1中分析比較了存儲一個時隙數據和分段存儲數據兩種算法的性能。

表1 性能參數比較
對兩種算法的參數進行分析:
1)對比兩種算法需要的存儲空間,傳統算法需要8 Mbit內存,改進后的算法則僅需要1 Mbit左右,有利于DSP實現。
2)對比兩種算法的檢測時間,分析圖4可知,當同步信號的位置出現在前2個時隙的數據段中時,也就是說,如果在前2個時隙就能檢測到同步頭,改進算法在檢測時間和運算量方面都是優于傳統算法的;只有當同步信號處在第3個時隙的數據段中時(數據段3,6,9),傳統算法的檢測時間比改進算法的檢測時間短。計算得知:改進算法檢測到同步頭最慢的情況(同步頭在數據段9中時)會比傳統算法的時間長31.3 ms,僅略長于一幀數據,對系統性能影響很小。
3)對比兩種算法的運算量,與檢測時間相似,觀察表1及圖4可知,只有當同步信息在數據段9中時,改進算法的運算量才大于傳統算法,比傳統算法多做了24536次滑動相關運算;其他情況下,改進算法的運算量均小于傳統算法。同時,運算量的減小也減少了電池電量的消耗。
這里介紹了一種基于DSP的粗同步算法,該算法降低了數據存儲量,并且可以將數據存儲在DSP片內。仿真結果表明:在不降低算法性能的前提下,該算法實現了降低存儲空間并準確定時的目的。對于手持設備來說,這樣既提高了數據處理速度又減小了手持設備的體積。這種算法不僅為CMMB接收機模塊提供了一種在DSP片內存儲數據的方案,對基于DSP的其他通信系統中定時同步算法的設計也具有參考意義。
[1]國家廣播電影電視總局廣播科學研究院.GY-T 220.1—2006,移動多媒體廣播第1部分:廣播信道幀結構、信道編碼和調制[S].2006.
[2]佟學儉,羅濤.OFDM移動通信技術理論與應用[M].北京:人民郵電出版社,2003.
[3]李洋,楊波.CMMB接收機符號同步與載波同步算法設計[J].電視技術,2009,33(S2):9-11.
[4]黃謝學,林平分.CMMB接收機中的粗載波頻偏估計[J].電視技術,2009,33(S2):14-16.
[5]劉仁品,張振冬,林平分.CMMB系統中的時鐘同步算法[J].電視技術,2009,33(S2):7-8.
[6]董斌,王匡,仇佩亮.OFDM系統在多徑衰落信道下的時鐘同步[J].浙江大學學報:工學版,2005(7):935-938.
[7]毛劍慧,黑勇,喬樹山.基于CMMB系統的同步設計與實現[J].電子技術應用,2009(2):104-107.
[8]包晗.基于CMMB信號同步算法的研究[J].現代電子技術,2010(11):82-85.