男女午夜激情_www.天堂av.com_亚洲综合小说区_亚洲欧美自拍视频_成年精品_久久www免费人成—看片_激情综合五月天_久久高潮视频_最新国产成人ab网站_国产精品卡一

機電之家資源網
單片機首頁|單片機基礎|單片機應用|單片機開發|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發
   位置: 機電之家下載站 >> 單片機技術網 >> 單片機開發 >> DSP >> 正文
培訓信息
贊助商
基于TMS320C64X協處理器TCP的Turbo譯碼實現
基于TMS320C64X協處理器TCP的Turbo譯碼實現
 更新時間:2009-6-5 8:58:04  點擊數:1
【字體: 字體顏色
摘要:介紹了TMS320C64X系列DSP內部Turbo碼協處理器(TCP)的結構和算法。給出了使用TCP實現符合3GPP協議的Turbo譯碼的程序流程,實現了一種使用中斷服務程序控制的高效處理流程,最后給出了TCP譯碼性能與處理時延的硬件實現結果,并做出了一定的析。 關鍵詞:TMS320C64X TCP Turbo Decoding 性能 自1993年Turbo編碼理論提出以事,有關Turbo碼設計及其性能的研究已經成為國際信息與編碼理論界最為重要的研究課題之一。Turbo碼在低信噪比下所表現出的近Shannon限的性能使得它在深空通信、移動通信等領域中有著廣闊的應用前景。由于Turbo碼編碼方式靈活、譯碼算法復雜,不適合在傳統硬件電路如FPGA上實現。TMS320C64X是TI公司推出的高性能定點DSP系列,片上除了高性能的C64x數字信號處理內核外,還集成了Turbo碼協處理器(TCP,Turbo Coprocessor),用于對符合3GPP協議以及IS2000議的Turbo編碼進行高速譯碼。 圖1 1 TCP的基本結構 TMS320C64X是TI公司最新推出的處理能力高達4800MIPS的高性能DSP,內部嵌入了Turbo譯碼協處理器(TCP)和Viterbi譯碼協處理器(VCP),專門用于無線通信中的高速數據處理。片上的TCP能夠對多達36路的384kbps或6路2Mbps的Turbo編碼信道在迭代6次的情況下進行譯碼,其高速并行結構能夠在小于2ms的時間內完成3GPP協議中的2Mbps業務迭代譯碼,并且能夠通過編程控制性能進一步減少處理時延。 TCP通過EDMA(增強型DMA)同L2存儲器(二級內部存儲單元)進行數據交換,其基本結構如圖1所示。TCP控制寄存器控制整體工作狀態,包含相關編碼信息、DSP總線傳輸能力、譯碼性能等信息;EDMA輸入/輸出單元控制EDMA總線實現二級內部存儲單元同TCP之間的數據交換;同步事件產生模塊產生EDMA讀/寫同步事件;內部存儲模塊和譯碼處理單元負責數據存儲與譯碼計算。 TCP有兩種工作方式:Standalong(SA)模式與Shared Processing(SP)模式。在SA模式下,TCP完成編程規定次數的迭代譯碼并輸出硬判決如果;在SP模式下,TCP僅完成一次MAP算法并輸出供下一次譯碼使用的先驗信息。表1示出了兩種工作方式的區號。 表1 兩種TCP工作模式的比較 SA模式 SP模式 處理幀長度F≤5114bit的數據 處理幀長度F>5114bit的數據 DSP核將控制參數、譯碼數據以及交織矩陣送入TCP,根據定義的迭代譯碼次數以及性能要求進行譯碼。 DSP核將需要譯碼的數據送入TCP,TCP僅執行一次MAP譯碼,并輸出供下一次譯碼使用的先驗信息 TCP獨立于DSP核工作,輸入數據的解復用、解交織以及硬判決輸出通過DSP核完成 3GPP協議中支持Turbo碼的信道最大編碼塊的大小為5114bit,所以在實現上選擇TCP工作在SA模式。 2 TCP的譯碼算法 MAP算法[1]是一種對具有有限狀態馬爾可夫特性的碼及離散無記憶特性的信道提供逐符號或逐比特似然值的最優算法。Log-MAP算法[2]將標準算法中的似然值全部用對數似然值表示。這種乘法運算就變成了加法,加法變成了ea+eb=emax{a,b}+1n[1+exp(-|a-b]|)],這里的對數項可通過一次查表和一次加運河運算實現。Max-Log-Map算法[2]在上述對數域的算法中,將似然值加法表示式中的對數分量忽略掉,使似然加法完全變成求最大值運算。 圖3 由于Turbo碼編碼方式靈活、譯碼算法復雜,所以在傳統硬件電路上實現Turbo譯碼比較復雜。 TCP很好寺解決了算法實現中存在的問題。TCP使用滑運窗譯碼算法[5]將接收序列分割成子塊(Sub block)送入結構相同的多個并行譯碼器進行處理,分割數量的原則是保證多個譯碼器并行度達到最大。每個子塊通過多個滑運窗使用Max-log-MAP算法進行譯碼,譯碼過程中產生的臨時數據α和β保存在內部存儲模塊的α單元和β單元中,需要時在通過計算得到先驗信息或譯碼結果。滑動窗譯碼算法的原理如圖2所示。 Turbo碼編碼時,編碼器的狀態轉換關系是連續的馬爾科夫過程。在譯碼時,需要確定編碼器的初始狀態和終止狀態及狀態之間的轉換關系。接收序列被分割為多個子塊之后,狀態的連續性被打斷。這樣,對于輸入到一個譯碼器的子塊就不能確定其初始狀態和終止狀態。因此,把一個子塊分為三個部分:頭延伸(Head Prolo)、可信部分(Reliability)和尾延伸(Tail Prolog)。Head Prolog初始狀態和Tail Prolog終止狀態都設為等概率,然后根據接收序列以及編碼器狀態轉換規律逐步計算Reliability。在Reliability部分、起始時刻值和終止時刻近似調整為分割前的狀態時,Head Prolog和Tail Prolog為冗余重疊的部分,此時計算譯碼輸出只需考慮Reliability部分,所以算法在譯碼性能上沒有什么影響,但是能夠極大地減少處理時延。另外,TCP還提供停止迭代譯碼標準Stopping Criteria,可通過對外信息信噪比(SNR)的估計來判斷是否需要繼續進行迭代。如果當前信息已經不能在提編碼增益,則立刻輸出硬判決結果而不考慮剩余的迭代次數。 3 TCP的編程實現 3.1 輸入數據的量化 TCP要求輸入數據為8bit的有符號數,并認為其格式為:SIIII.FFF(S為符號位,1為整數位,F為小數位)。假設接收信號可以表示為: ui+ni。其中,ui=%26;#177;1;ni為發送端經過BPSK映射的原始數據;Esymbol是發送端符號能量,數據量化時需要掉去這個能量,同時將數據恢復成BPSK映射之前的形式。而一個分量譯碼 3.2 控制寄存器的配置 TCP中包含12個控制寄存器,這些寄存器分為三個類:基本參數寄存器、EDMA接口寄存器以及尾比特寄存器。 基本參數:控制編碼信息以信譯碼的相關標準; EDMA接口參數:EDMA通道的相關參數; 尾比特:確定編碼器最終狀態的信息。 3.3 EDMA配置以及DSP核同TCP之間的數據交換 EDMA是C6000系列DSP中的一個重要單元,負責二級內存(LC)存儲器)同各個外設之間的數據交換[7-8]。 C64X系列DSP的EDMA通道共有64條,其中31/30(讀/寫)專門用于DSP核同TCP之間的數據交換。EDMA完成參數配置并啟動之后,EDMA通道進行使能狀態等待觸發。TCP啟動后,產生相應的讀/寫同步事件TCPXEVT/TCPREVT觸發EDMA通道進行數據傳輸。一次簡單譯碼處理中的完整觸發過程如圖3所示。 結合TCP控制寄存器中的EDMA接口參數使用提供的API函數[9]配置EDMA的通道傳輸參數[7]。 結合TCP控制寄存器中的EDMA接口參數使用提供的API函數[9]配置EDMA通道傳輸參數[7]。 3.4 高效的TCP處理模式 通常情況下并不滿足于一段編碼數據實現譯碼,而是希望DSP滿負荷地工作,對連續到達的各種編碼格式(已知)的數據完成譯碼。在這里設計了一種奇偶交替的譯碼模式:將譯碼數據按照到達順序分為奇數組和偶數組,生成滿足編碼格式的TCP控制寄存器參數以及相應的EDMA配置參數。TCP進行第N個編碼數據譯碼處理的同時,EDMA寫通道向TCP傳輸第N+1個編碼數據控制參數和譯碼數據,EDMA讀通道將第N-1個編碼數據的譯碼結果輸出,同時利用譯碼完成產生的中斷服務程序處理第N+2上數據的相關參數配置以及數據量化。EDMA的RAM中的參數存放格式如圖4所示。 3.5 TCP程序實現流程 總之,TCP程序實現應包括以下步驟: (1) 數據量化; (2) 構造TCP控制參數以及EDMA配置參數; (3) 啟動并配置EDMA通道; (4) 啟動TCP產生同步事件觸發EDMA通道; (5) 接收硬判決結果。 (因本文篇幅偏長,本刊刪去了“TCP程序實現流程圖”。如讀者感興趣,可向作者索取。) 4 TCP譯碼性能硬件實現與分析 4.1 TCP譯碼性能 使用TMS320C6416 7E3(CPU時鐘為705.6MHz),對原始長度為336bit和3840bit的符合3GPP協議的碼率為1/3的Turbo編碼數據進行譯碼。譯碼性能如圖5和圖6所示。 4.2 TCP譯碼處理時延 使用TMS320C6416 7E3(CPU時鐘為705.6MHz),對原始長度為336bit和3840bit的符合3GPP協議的碼率為1/3的Tubro編碼數據進行譯碼。考慮迭代次數I=6、8、16;Prolog長度P=24(未經速率適配)、48(經過速率適配)時得到的處理時延結果如表2和表3所示(只考慮譯碼處理時延,參數配置以及EDMA通道進行數據傳輸所有時間不在計算在內)。 表2 336bit幀處理時延   Prolog長度P=24 Prolog長度P=48  指令周期 處理時延 指令周期 處理時延 迭代次數I=6 15936 22.6μs 19407 27.5μs 迭代次數I=8 34416 48.87μs 42060 59.6μs 表3 3840bit幀處理時延   Prolog長度P=24 Prolog長度P=48  指令周期 處理時延 指令周期 處理時延 迭代次數I=8 211056 299μs 245616 348μs 迭代次數I=16 394496 559μs 433616 657μs 通常情況下,Turbo碼的性能同交織長度有很大關系,交織長度越大,性能越好,但所需處理時延也就越高。使用TCP譯碼,長度為336bit的短數據幀經過8次迭代,在信噪比(SNR)為2dB下誤碼率(BER)達到10-7量級,所需處理時延大概為50"60μs;長度為3840bit的數據幀,經過8次迭代,在信噪比為0.8dB下誤碼率達到10-8量級,處理時延大約為300"350μs。可以認為TCP在譯碼性能與處理時延兩個方面都能夠比較好地滿足3G系統對于譯碼模塊的要求。TCP作為C64X系列DSP的一個協處理器,相關的速率適配、數據量化等一系列工作都可以通過DSP核完成,較傳統的硬件電路有很大優勢。
<!--插入廣告JS代碼-->
  • 上一篇: 基于DSP的SPWM變頻電源數字控制
  • 下一篇: DSP和Flash接口技術的實現
  • 發表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網友評論:(只顯示最新5條。)
    關于我們 | 聯系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發消息66821730(技術支持)點擊這里給我發消息66821730(廣告投放) 點擊這里給我發消息41031197(編輯) 點擊這里給我發消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業自行提供,該企業負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(濱江)機電一體化學會
    中國行業電子商務100強網站

    網站經營許可證:浙B2-20080178-1
    主站蜘蛛池模板: 永吉县| 图片| 四子王旗| 虎林市| 远安县| 阿拉善左旗| 湖北省| 平罗县| 图们市| 灵武市| 龙南县| 平潭县| 汉中市| 淮北市| 财经| 东阳市| 平江县| 淳安县| 扎赉特旗| 安塞县| 巫溪县| 兴隆县| 石泉县| 东乌珠穆沁旗| 黑山县| 新邵县| 万山特区| 鹤峰县| 自治县| 岑巩县| 乡宁县| 建湖县| 壤塘县| 岗巴县| 德化县| 格尔木市| 广昌县| 汝州市| 巨鹿县| 河源市| 夏河县|