<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 基于CMMB數(shù)據(jù)廣播平臺的數(shù)據(jù)接收程序設(shè)計

          基于CMMB數(shù)據(jù)廣播平臺的數(shù)據(jù)接收程序設(shè)計

          作者: 時間:2011-04-06 來源:網(wǎng)絡(luò) 收藏

          XPE包頭有7個比特是保留的,在這里可以將它進行自定義以便傳送不同服務(wù)類型的,其中2個比特用來標識的格式,如文本、圖片、網(wǎng)頁等,另外的5個比特則用來定義服務(wù)類型,具體定義方式如表1和表2所示。

          本文引用地址:http://www.ex-cimer.com/article/156480.htm

          a.JPG

          c.JPG

          2 解析業(yè)務(wù)數(shù)據(jù)的軟件實現(xiàn)
          解析數(shù)據(jù)業(yè)務(wù)數(shù)據(jù)主要就是解析復用幀碼流。它的解析過程可分為以下幾個模塊:復用幀流提取、CRC檢測、控制信息解復用、業(yè)務(wù)信息解復用。首先要對控制信息進行解復用,然后再根據(jù)控制信息中的關(guān)鍵信息來解析業(yè)務(wù)信息。
          2.1 控制信息的解復用
          解復用控制信息時首先要解析的是復用幀頭,在這里可以定義一個結(jié)構(gòu)體來保存相關(guān)的信息,同樣的為了保存各個表的參數(shù)信息以便解復用業(yè)務(wù)信息時使用,將控制信息中的每個表和緊急也都對應(yīng)地定義一個結(jié)構(gòu)體,其中CMCT和SMCT的構(gòu)造相同可共用一個結(jié)構(gòu)體,CSCT和SSCT也可共用一個結(jié)構(gòu)體。在結(jié)構(gòu)體中定義好各個表對應(yīng)的參數(shù),在讀取碼流時,先保存復用幀頭的相關(guān)參數(shù)信息,然后再保存控制信息表的信息,具體做法是根據(jù)表標識號來判斷表的類型,確定類型后將碼流里對應(yīng)的參數(shù)存入到定義好的結(jié)構(gòu)體參數(shù)中。然后對各表進行分析,最終獲得頻點編號、中心頻率、復用幀所占用的時隙號以及子幀與業(yè)務(wù)ID之間的對應(yīng)關(guān)系等信息,以方便用戶所選的業(yè)務(wù)數(shù)據(jù)。
          2.2 業(yè)務(wù)信息的解復用
          業(yè)務(wù)信息處理模塊如圖4所示。首先是模塊的初始化,這時讀線程函數(shù)也被開啟了,接著就進入了處理數(shù)據(jù)的循環(huán),先判斷業(yè)務(wù)數(shù)據(jù)是否處理完畢(這里定義了一個布爾變量來標記),如果處理完則將分類好的音視頻數(shù)據(jù)和其他數(shù)據(jù)做相應(yīng)的處理。如果未處理完畢,則讀取下一個幀的數(shù)據(jù),倘若此時沒有數(shù)據(jù)則阻塞等待,直到有數(shù)據(jù)到來,接著對這一幀數(shù)據(jù)進行解復用,得到業(yè)務(wù)數(shù)據(jù)流,將數(shù)據(jù)歸類,放在不同的緩沖區(qū)。

          d.JPG


          解析一個幀的數(shù)據(jù)步驟如下:
          第一步:解析復用幀頭。首先讀取碼流中的復用幀幀頭,并將相關(guān)參數(shù)保存到已定義好的結(jié)構(gòu)體中。
          第二步:解析復用子幀。由于復用子幀的個數(shù)不止一個,所以可以用一個循環(huán)來處理,同業(yè)務(wù)數(shù)據(jù)處理的總框圖類似,設(shè)置一個布爾變量來標識復用子幀是否處理完畢,先解析子幀的幀頭,提取視頻段、音頻段和數(shù)據(jù)段數(shù)據(jù),然后判斷復用子幀是否處理完畢,如果處理完則跳出循環(huán)往下執(zhí)行,如果沒處理完則繼續(xù)處理,處理完畢后提取出視頻段、音頻段和數(shù)據(jù)段數(shù)據(jù)。
          第三步:解析視頻段、音頻段和數(shù)據(jù)段。由于采用的是數(shù)據(jù)廣播來傳送,因此這里只對數(shù)據(jù)段進行解析,先根據(jù)子幀頭中的信息將數(shù)據(jù)段提取出來,這里數(shù)據(jù)單元的內(nèi)容即為XPE包。
          第四步:解析XPE包。仍然需要先解讀包頭信息,另外要注意的是首包包頭還額外攜帶了數(shù)據(jù)包總長度,業(yè)務(wù)模式指示等信息,接到首包時要記錄下來,然后根據(jù)包頭信息對業(yè)務(wù)數(shù)據(jù)進行組裝。

          3 結(jié)論
          經(jīng)過以上對復用幀和XPE包結(jié)構(gòu)的剖析,用VC++編寫了解析數(shù)據(jù)廣播業(yè)務(wù)數(shù)據(jù)的程序。實驗輸入測試用的是離線MFS流,顯示了一些測試數(shù)據(jù),該軟件可以植入應(yīng)用系統(tǒng)中來所需要的數(shù)據(jù)和圖片,靈活方便,另外采用軟件編寫降低了硬件的成本,而且可擴展性強。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();