日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導讀]Turbo碼接近Shannon理論極限的優(yōu)越性能使其在衛(wèi)星通信、深空通信、多媒體通信等領(lǐng)域具有非常大的誘惑力,因此自提出以來一直受到廣泛而持續(xù)的關(guān)注

1 引 言
Turbo碼接近Shannon理論極限的優(yōu)越性能使其在衛(wèi)星通信、深空通信、多媒體通信等領(lǐng)域具有非常大的誘惑力,因此自提出以來一直受到廣泛而持續(xù)的關(guān)注。

Turbo碼的工程應用與實現(xiàn)是近年來研究工作的熱點。Turbo碼采用反饋迭代譯碼結(jié)構(gòu),成員譯碼器使用最大后驗概率(MAP)譯碼算法譯碼,由于MAP算法含有大量的指數(shù)運算與對數(shù)運算,給實現(xiàn)帶來極大的困難,在工程應用中,通常采用其對數(shù)域的簡化算法——Log-MAP和Max-Log-MAP算法。相對于Log-MAP算法,Max-Log-MAP雖然損失0.5 dB的增益,但由于其大大簡化了復雜度,在應用與實現(xiàn)中倍受關(guān)注。本文基于TMS320C6000系列DSP芯片討論了Max-Log-MAP算法的實現(xiàn)與優(yōu)化。

2 Turbo碼的反饋迭代譯碼結(jié)構(gòu)與Max-Log-MAP譯碼算法

Turbo碼又稱為并行級聯(lián)卷積碼(PCCC),編碼器由兩個RSC成員碼通過交織器并行級聯(lián)。與之對應,在譯碼端Turbo碼則采用兩個成員譯碼器串聯(lián)構(gòu)成的反饋迭代結(jié)構(gòu),如圖1所示,其中DEC1與DEC2表示兩個軟輸入軟輸出(SISO)的成員譯碼器,假設(shè)編碼輸出采用BPSK調(diào)制方式,xk,yk為解調(diào)器輸出的受噪聲污染的信息比特與校驗比特,zk(zn)表示從另一個譯碼器經(jīng)過解交織(交織)后得到的外信息。每個成員譯碼器有兩個輸出端口,分別輸出信息比特的對數(shù)似然比LLR(L1(ak),L2(an))及被另一個成員譯碼器使用的外信息叫ω1k,ω2k,經(jīng)過若干次迭代和兩個成員譯碼器的外信息交換,對信息比特的對數(shù)似然比進行硬判決即可完成Turbo碼的譯碼。


Max-Log-MAP算法下的對數(shù)似然比可以表示如下:

其中m′,m分別對應k-1和k時刻的編碼器狀態(tài),αk(m),βk(m)分別稱為前向和后向狀態(tài)度量,可以根據(jù)RSC碼的網(wǎng)格圖由分支度量rk(i,m′,m)(i=±1)遞推計算:

外信息若采用Robertson使用方式,AWGN信道下碼率為1/2的RSC碼分支度量rk(i,m′,m)計算公式可以表示為:

式中j=±1,表示對應信息比特ak=i編碼應輸出的雙極性校驗比特,Lc=4Es/N0定義為信道可信度值。外信息與對數(shù)似然比的關(guān)系為:

3 Max-Log-MAP譯碼算法的C語言軟件編程與實現(xiàn)

分析可知,Max-Log-MAP算法需要根據(jù)每時刻的接收信息計算幾種度量值:分支度量rk(i,m ′,m),前向狀態(tài)度量αk(m)和后向狀態(tài)度量βk(m),最后由3個度量值計算該時刻的對數(shù)似然比L(ak),從而得到另一個成員譯碼器需要的外信息ωk。因此算法可以大致分為幾個模塊:分支度量模塊,前、后向狀態(tài)度量模塊及對數(shù)似然比模塊,各個模塊的計算均是基于網(wǎng)格圖的遞推完成,故均可以使用C語言中的for循環(huán)語句實現(xiàn),這里以八狀態(tài)(13,15)RSC碼為例逐一分析。

3.1 分支度量模塊(BMU)

狀態(tài)度量的遞推是在分支度量的基礎(chǔ)上進行的,因此分支度量是算法的基本量度,由式(4)可知,分支度量實際上是由接收信息與網(wǎng)格圖上轉(zhuǎn)移路徑對應輸出的相關(guān)運算。對于八狀態(tài)(13,15)RSC碼,網(wǎng)格圖上兩個相鄰時刻的狀態(tài)轉(zhuǎn)移路徑共有16條,考慮到(i,j)組合的取值只有4種,且(-1,-1)與(+1,+1),(-1,+1)與(+1,-1)條件下的分支度量值互為相反數(shù),故為了減少數(shù)據(jù)的存儲,每一時刻只需計算兩個分支度量值即可,不妨設(shè)為BM11與BM10,BMU的算法實現(xiàn)結(jié)構(gòu)為:

這里Lx和Ly分別表示經(jīng)過信道可信度值處理過的接收信息比特與校驗比特軟信息,z表示來自另外一個成員譯碼器的外信息,N為Turbo碼的信息幀長度。


3.2 狀態(tài)度量模塊(SMU)

前向狀態(tài)度量的遞推與后向狀態(tài)度量的遞推在算法上是相似的,我們以前向狀態(tài)度量為例說明狀態(tài)度量模塊(SMU)的算法編程實現(xiàn),用FSMj表示基于RSC(13,15)碼網(wǎng)格圖j狀態(tài)的前向狀態(tài)度量累加值(j=0,1,…,7),前向狀態(tài)度量的遞推循環(huán)語句結(jié)構(gòu)為(其中語句中的temp1,temp2表示臨時變量):

事實上,SMU完成在每一個網(wǎng)格圖狀態(tài)將轉(zhuǎn)移至該狀態(tài)的分支度量進行“累加”、“選大”的功能即所謂的ASC操作。

3.3 對數(shù)似然比模塊(LLRU)

對數(shù)似然比模塊(LLRU)根據(jù)分支度量與狀態(tài)度量值計算對數(shù)似然比與外信息,其基本運算也是類似SMU中的加比選(ACS)操作,相應的算法結(jié)構(gòu)如下(轉(zhuǎn)移路徑按輸入分別為0和1分為兩組,狀態(tài)從0~7排列):

語句中的BSM表示后向狀態(tài)度量,LLR表示對數(shù)似然比,ω為輸入至另外一個成員譯碼器的外信息,其他均為臨時變量。

4 基于DSP的Max-Log-MAP譯碼算法代碼優(yōu)化

基于C語言的DSP開發(fā)關(guān)鍵在于代碼的精簡優(yōu)化,TI公司CCS開發(fā)軟件中的C編譯器提供了對代碼的優(yōu)化功能,人們可以通過選項設(shè)置、循環(huán)展開、加注關(guān)鍵字、使用內(nèi)聯(lián)函數(shù)(intrinsic)等操作完成對C代碼的優(yōu)化。本文主要針對TMS320C6000系列芯片的結(jié)構(gòu)與特點討論Max-Log-MAP譯碼算法代碼的優(yōu)化設(shè)計,包括軟件流水、數(shù)據(jù)存取優(yōu)化等,以達到充分利用DSP芯片的硬件資源,獲得高效處理性能的目的。


4.1 C6000系列芯片的結(jié)構(gòu)與特點

TMS320C6000系列DSP是TI公司推出的一種基于VLIW技術(shù),具有8個功能單元的數(shù)字信號處理器,其CPU采用哈佛結(jié)構(gòu),程序總線與數(shù)據(jù)總線分開,取指令與執(zhí)行指令可以并行運行,VLIW技術(shù)的使用可以使指令獲取、指令分配、指令執(zhí)行和數(shù)據(jù)存儲等操作形成多級流水,在同一時鐘周期多條指令交迭地在不同功能單元內(nèi)處理。C6000系列芯片在每個時鐘周期內(nèi)可以同時執(zhí)行8條指令。

4.2 基于DSP的各算法模塊代碼優(yōu)化

4.2.1 BMU模塊

BMU算法模塊為單循環(huán)語句,由于循環(huán)體內(nèi)的指令較少,為了更多地同時利用CPU資源,一個有效的做法即是將循環(huán)展開,這樣在減少循環(huán)次數(shù)的同時可以使更多的操作形成流水(pipeline),充分發(fā)揮多個功能單元的并行處理能力。優(yōu)化后的代碼如下:

4.2.2 SMU模塊

由于狀態(tài)度量的遞推具有遞歸性,即本時刻遞推得到的數(shù)值將用作下一時刻的遞推初值,因此對于該算法模塊的數(shù)據(jù)讀入讀出操作是一個值得考慮的問題。從3.2節(jié)SMU的程序分析可知,F(xiàn)SM的讀寫致使CPU寄存器與數(shù)據(jù)存儲器之間頻繁的進行l(wèi)oad與store操作,為了減少該操作的指令消耗,我們引入3組臨時變量FSM_tempj,F(xiàn)SMj_old和FSMj_new(j=0,1,…,7)用來存儲FSM的計算結(jié)果,這樣在下次遞推時CPU可以直接從內(nèi)部的寄存器讀取數(shù)據(jù),避免了從數(shù)據(jù)存儲器的load操作。優(yōu)化后的代碼結(jié)構(gòu)如下:

與先前只采用兩個臨時變量sum1和sum2相比,優(yōu)化后的代碼采用更多的變量,這樣可以保持數(shù)據(jù)的獨立性,避免造成CPU寄存器的關(guān)聯(lián),使代碼更易于流水線操作。

4.2.3 LLRU模塊

對于LLRU算法模塊的代碼優(yōu)化主要從減少加減操作指令入手,這涉及到對算法的改進。前文提到每一時刻的轉(zhuǎn)移路徑有16條,如果采用3.3節(jié)的程序結(jié)構(gòu),對分支度量要進行16次加減操作。考慮到分支度量只有4種取值,結(jié)合RSC(13,15)網(wǎng)格圖的映射關(guān)系,按照分支度量的取值將轉(zhuǎn)移路徑分為4組,這4組分別對于分支度量的加減操作先不予處理,即先選最大后再進行相應的分支度量加減操作,這樣每一次循環(huán)可以將分支度量的加減操作由原來的16次減少至4次,故可以大大降低CPU資源的消耗。相應的優(yōu)化代碼結(jié)構(gòu)如下:

4.3 代碼優(yōu)化前后消耗的指令周期對比

我們使用合眾達公司的SEED—C6416仿真開發(fā)板,采用C6416-T系列DSP芯片在CCS 3.1編譯環(huán)境下對各個算法模塊及整個Max-Log-MAP算法進行了編譯與硬件仿真,Turbo碼的信息幀長選為144 b,代碼的數(shù)據(jù)類型定義為int型,編譯選項設(shè)置為-03-mt-pm。使用CCS附帶的定時器(Timer)功能,對優(yōu)化前后代碼消耗的指令周期進行了測試,結(jié)果如表1所示。

可見,優(yōu)化后的代碼大大降低了CPU指令周期的消耗,提高了DSP的工作效率。值得提出的是,在代碼優(yōu)化時主要針對算法本身的指令操作與數(shù)據(jù)存儲等方面進行了改進,事實上,在具體的開發(fā)過程中還可以根據(jù)實際的數(shù)據(jù)寬度采用內(nèi)聯(lián)函數(shù)(intrinsics),數(shù)據(jù)封裝處理(packeddata processing)等措施對代碼進行進一步優(yōu)化,以獲得更高效的性能。

5 結(jié) 語

本文研究了基于標準C語言的Turbo碼Max-Log-MAP譯碼算法的軟件編程與實現(xiàn)方法,并結(jié)合TMS320C6000系列DSP芯片的結(jié)構(gòu)與特點深入探討了代碼的優(yōu)化設(shè)計,通過循環(huán)展開、數(shù)據(jù)存取優(yōu)化、算法的改進等措施提高代碼的效率,測試結(jié)果表明,經(jīng)過優(yōu)化的代碼可以大大降低CPU的指令周期消耗,從而獲得了比較高效的處理性能。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉