• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      碼率可配置Turbo譯碼器設(shè)計(jì)與實(shí)現(xiàn)

      2015-12-31 03:16:34宋英杰
      現(xiàn)代導(dǎo)航 2015年4期
      關(guān)鍵詞:存儲(chǔ)模塊譯碼器碼率

      宋英杰

      (中國(guó)電子科技集團(tuán)公司第二十研究所,西安 710068)

      0 引言

      文章[1]提出了一種高速Turbo編譯碼方法,本文圍繞這種譯碼方法介紹碼率可配置Turbo譯碼器的具體設(shè)計(jì)與實(shí)現(xiàn)。譯碼器支持固定迭代次數(shù)譯碼和動(dòng)態(tài)停止迭代譯碼,并可靈活支持1/3、1/6、1/10三種碼率。圖1為設(shè)計(jì)的Turbo譯碼器的總體結(jié)構(gòu)框圖。它主要包含輸入緩存模塊、譯碼邏輯控制模塊、SISO譯碼模塊、交織/解交織模塊、停止迭代判決模塊、硬判決模塊和輸出緩存模塊。

      1 輸入緩存模塊設(shè)計(jì)

      譯碼器需要存儲(chǔ)整塊譯碼數(shù)據(jù)供給譯碼過程使用,所以需要輸入緩存模塊。此緩存器采用四個(gè)雙口RAM分別供給SISO譯碼器A1、A2、B1、B2使用。此處Turbo譯碼采用(6,2)量化方式,每個(gè)雙口RAM深度為256,數(shù)據(jù)位寬為60bit,(對(duì)于1/3碼率來(lái)說,每個(gè)地址中的數(shù)據(jù)包含3個(gè)編碼符號(hào)即低18bit有效對(duì)于1/6碼率來(lái)說,每個(gè)地址中的數(shù)據(jù)包含6個(gè)編碼符號(hào)即低36bit有效;對(duì)于1/10碼率來(lái)說,每個(gè)地址中的數(shù)據(jù)包含10個(gè)編碼符號(hào)即60bit有效)。這樣設(shè)計(jì)保證了1/3、1/6、1/10三種碼率數(shù)據(jù)存儲(chǔ)深度相同,方便譯碼邏輯控制模塊對(duì)整個(gè)譯碼流程的控制。

      2 SISO譯碼模塊

      圖1 Turbo譯碼器的總體結(jié)構(gòu)框圖

      采用子塊整體法進(jìn)行譯碼[3],其基本思想是將接收到的子塊數(shù)據(jù)序列作為一個(gè)整體進(jìn)行譯碼。子塊整體法的具體步驟如下:

      (1)順序讀取譯碼輸入信息,計(jì)算前向遞歸Alpha和分支度量Gamma并存儲(chǔ)。

      (2)當(dāng)整個(gè)子塊的Alpha和Gamma計(jì)算完成后,逆序讀取Gamma,計(jì)算后向遞歸Bata,同時(shí)逆序讀取Alpha,繼而計(jì)算對(duì)數(shù)似然比和外信息。

      2.1 Gamma計(jì)算模塊

      Gamma計(jì)算模塊的功能是計(jì)算譯碼中每一時(shí)刻的分支度量值,計(jì)算出來(lái)的Gamma值將用于計(jì)算前向狀態(tài)度量Alpha和后向狀態(tài)度量Bata。對(duì)于三種碼率的可配置功能可通過選擇器實(shí)現(xiàn)。編碼輸出不同每種碼率的Gamma計(jì)算也不同,根據(jù)譯碼類型選擇對(duì)應(yīng)的接收數(shù)據(jù)進(jìn)入相應(yīng)Gamma計(jì)算部分。例如譯碼類型為1/3碼率,則選擇接收數(shù)據(jù)y1、y2和y3進(jìn)入1/3碼率Gamma計(jì)算部分。實(shí)現(xiàn)框圖如圖3所示。

      為了兼容三種碼率和考慮到實(shí)現(xiàn)的穩(wěn)定性,每一時(shí)刻Gamma值計(jì)算需要4個(gè)時(shí)鐘周期。Gamma時(shí)刻1的值單獨(dú)計(jì)算,Gamma時(shí)刻2至256的值和Alpha時(shí)刻1至255的值同時(shí)計(jì)算以節(jié)約時(shí)間。

      圖3 Gamma計(jì)算模塊實(shí)現(xiàn)框圖

      2.2 Alpha計(jì)算模塊

      此模塊的功能是在給定一個(gè)初始值的情況下,利用Gamma計(jì)算模塊所計(jì)算出來(lái)的分支度量Gamma值做連續(xù)遞推得出每一個(gè)時(shí)刻的前向狀態(tài)度量。計(jì)算后一時(shí)刻Alpha值需要前一時(shí)刻計(jì)算出來(lái)的Alpha值,所以Alpha計(jì)算模塊要進(jìn)行的是一種遞推運(yùn)算,而在連續(xù)遞推的過程中,可能會(huì)導(dǎo)致定點(diǎn)數(shù)的溢出,所以在特定的時(shí)刻對(duì)計(jì)算出來(lái)的Alpha值進(jìn)行歸一化來(lái)防止溢出。

      本次實(shí)現(xiàn)的Turbo碼有16個(gè)狀態(tài),在任一時(shí)刻需要計(jì)算所有狀態(tài)的前向狀態(tài)度量值,在此設(shè)計(jì)中任一時(shí)刻需要計(jì)算16個(gè)前向度量值即16個(gè)Alpha值。假設(shè)每一個(gè)前向度量值稱為一個(gè)節(jié)點(diǎn),任一時(shí)刻需要計(jì)算16個(gè)節(jié)點(diǎn)的Alpha值。任一節(jié)點(diǎn)的計(jì)算都需要求出4個(gè)求和項(xiàng)的最大值,所有碼率采用相同的狀態(tài)轉(zhuǎn)移圖,所以Alpha計(jì)算模塊可共用。以任一節(jié)點(diǎn)的計(jì)算為例來(lái)說明Alpha值的計(jì)算過程,如圖4所示。

      命題2.4 設(shè)偽BCI-代數(shù)X的猶豫模糊集,則為X的猶豫模糊反群濾子當(dāng)且僅當(dāng)對(duì)任意γ ∈ P([0,1]), 要么 ?, 要么為X的反群濾子.

      圖4 Alpha計(jì)算模塊實(shí)現(xiàn)框圖

      gamma00、gamma01、gamma10、gamma11 是4個(gè)分支度量的輸入,alpha00、alpha01、alpha10、alpha11是4個(gè)前向度量值的輸入,對(duì)輸入按下式進(jìn)行相加運(yùn)算:

      然后比較器對(duì)sum1~sum4做比較選出2個(gè)極大值max1和max2,再經(jīng)過一次比較器選出max1和max2的最大值max,這個(gè)max也就是sum1~sum4的最大值。將max進(jìn)行歸一化,歸一化后的值作為此節(jié)點(diǎn)的前向狀態(tài)度量值輸出,并且反饋到下一時(shí)刻作為輸入端前向度量值。為了節(jié)約譯碼時(shí)間,系統(tǒng)在運(yùn)算時(shí)采用同一時(shí)刻16個(gè)節(jié)點(diǎn)同時(shí)進(jìn)行的方式。

      每一時(shí)刻Alpha值計(jì)算需要4個(gè)時(shí)鐘周期,故256時(shí)刻共用1024個(gè)時(shí)鐘周期。

      Bata計(jì)算模塊實(shí)現(xiàn)方法和Alpha計(jì)算模塊類似,此處不再贅述。需要說明的是Bata計(jì)算與對(duì)數(shù)似然比和外信息計(jì)算同時(shí)進(jìn)行。

      2.3 對(duì)數(shù)似然比和外信息計(jì)算模塊

      此模塊的功能是計(jì)算下一分量譯碼所需要的外信息和用于硬判決所需要的對(duì)數(shù)似然比。此模塊的運(yùn)算過程[2]首先是計(jì)算系統(tǒng)比特對(duì)“00”、“01”、“10”、“11”的對(duì)數(shù)似然比 llr00、llr01、llr10、llr11,利用這4個(gè)值和先驗(yàn)信息la1、la2求出每個(gè)比特的對(duì)數(shù)似然比和外信息。之后將對(duì)數(shù)似然比和經(jīng)限幅后外信息輸出。所有碼率采用相同的狀態(tài)轉(zhuǎn)移圖,所以對(duì)數(shù)似然比和外信息計(jì)算模塊可共用。圖5是此模塊的結(jié)構(gòu)示意圖。

      圖5 對(duì)數(shù)似然比和外信息計(jì)算模塊結(jié)構(gòu)示意圖

      由上圖可以看出此計(jì)算模塊主要由alpha、bata、gamma相加運(yùn)算、Max1_16、對(duì)數(shù)似然比計(jì)算和外信息計(jì)算組成。相加運(yùn)算是求出16個(gè)alpha+bata+gamma的求和項(xiàng);Max1_16是求出這16個(gè)求和項(xiàng)的最大值;對(duì)數(shù)似然比計(jì)算是由llr00、llr01、llr10、llr11計(jì)算出信息比特對(duì)中每個(gè)信息比特的對(duì)數(shù)似然比llr1和llr2;外信息le1和le2計(jì)算是由llr1、llr2、la1和la2計(jì)算出外信息,然后將外信息乘以一個(gè)比例因子,限幅處理后輸出。

      Max1_16模塊的功能是求出 16個(gè)alpha+bata+gamma的求和項(xiàng)的最大值。這個(gè)模塊分為第一級(jí)比較、第二級(jí)比較、第三級(jí)比較和第四級(jí)比較。

      每一時(shí)刻對(duì)數(shù)似然比和外信息計(jì)算需要11個(gè)時(shí)鐘周期,共用1027個(gè)時(shí)鐘周期,詳細(xì)計(jì)算時(shí)間如圖7所示。

      圖6 Max1_16內(nèi)部結(jié)構(gòu)示意圖

      圖7 詳細(xì)計(jì)算時(shí)間示意圖

      2.4 Alpha存儲(chǔ)模塊和Gamma存儲(chǔ)模塊

      Alpha存儲(chǔ)模塊是由16個(gè)雙口RAM(AlphaStoreMem)組成。每個(gè)AlphaStoreMem的數(shù)據(jù)寬度為每個(gè)Alpha數(shù)據(jù)的寬度18bit,深度為256,用于存儲(chǔ)每個(gè)時(shí)刻計(jì)算出來(lái)Alpha值。

      Gamma存儲(chǔ)模塊由64個(gè)雙口RAM(Gamma StoreMem)組成。每個(gè)GammaStoreMem的數(shù)據(jù)寬度為每個(gè)Gamma數(shù)據(jù)的寬度17bit,深度為256,用于存儲(chǔ)每個(gè)時(shí)刻計(jì)算出來(lái)的Gamma值。存儲(chǔ)的每一個(gè)子塊的Gamma值會(huì)被逆序讀出用于計(jì)算后向狀態(tài)度量Bata、對(duì)數(shù)似然比和外信息。

      2.5 Alpha初始值存儲(chǔ)模塊和Bata初始值存儲(chǔ)模塊

      初始值存儲(chǔ)模塊的功能是將本次迭代譯碼分塊邊界處計(jì)算所得的前向狀態(tài)度量Alpha和后向狀態(tài)度量Bata的值保存起來(lái),也就是說將Alpha計(jì)算模塊最后一次(256次)迭代計(jì)算出的16個(gè)Alpha值和Bata計(jì)算模塊最后一次迭代計(jì)算出的16個(gè)Bata值用寄存器保存起來(lái),用作下次譯碼迭代Bata和Alpha遞歸計(jì)算的初始值。保存Alpha和Bata的初始值的寄存器在第一次加載之前都需要初始化。因初始和結(jié)束狀態(tài)未知所以每個(gè)子塊Alpha初始值都置為0,Bata初始值也置為0。

      3 其余模塊

      譯碼邏輯控制模塊在譯碼流程中對(duì)各個(gè)模塊起控制作用,為各個(gè)模塊提供相應(yīng)的配置信息。

      交織/解交織模塊主要用于產(chǎn)生交織或者解交織過程所用到的交織地址。交織/解交織是根據(jù)SISO譯碼的需要完成外信息和對(duì)數(shù)似然比的交織/解交織處理。

      由于要支持動(dòng)態(tài)停止迭代譯碼機(jī)制,因此引入了停止迭代判決模塊。當(dāng)?shù)蟮淖g碼結(jié)果滿足停止迭代判決條件時(shí),就產(chǎn)生停止迭代信號(hào)。

      硬判決模塊實(shí)際上就是在停止迭代后,根據(jù)B分量譯碼器輸出的對(duì)數(shù)似然比符號(hào)硬判決成信息比特1或0。

      輸出緩存模塊將硬判決后的譯碼結(jié)果經(jīng)過串并轉(zhuǎn)換成8bit后存入雙口RAM中。雙口RAM數(shù)據(jù)位寬8bit,深度為128。

      圖8 1024比特吞吐量波形

      4 譯碼器的資源占用和吞吐量

      4.1 資源占用

      在ISE Design Suit 14.4下碼率可配置Turbo譯碼器的資源占用情況如下表所示。選用Xilinx公司的XC7K325T-2FFG900I器件,譯碼器占用寄存器單元61242個(gè),LUT單元98824個(gè),RAM塊64個(gè)。

      4.2 吞吐量

      對(duì)幀長(zhǎng)1024比特的待譯碼數(shù)據(jù)的仿真波形如圖8所示。

      表1 譯碼器資源消耗

      圖8中,第一條線是譯碼開始時(shí)刻,第二條線是譯碼結(jié)束時(shí)刻。則兩條線之間的時(shí)鐘周期個(gè)數(shù)就是譯一幀所用的時(shí)鐘周期,為2215個(gè)clk,工作時(shí)鐘頻率為128MHz,周期為0.0078125us,則迭代一次時(shí),譯碼器吞吐量為:

      5 結(jié)束語(yǔ)

      本文提出了碼率可配置Turbo譯碼器硬件實(shí)現(xiàn)方案,詳細(xì)介紹了硬件實(shí)現(xiàn)方案中的核心模塊SISO譯碼模塊的實(shí)現(xiàn)過程。最后給出譯碼器硬件資源消耗情況,并給出里譯碼器的吞吐量。

      [1]宋英杰.Turbo高速編譯碼技術(shù)研究[J].現(xiàn)代導(dǎo)航,2015(1).47-52

      [2]張婷.無(wú)線信道可配置Turbo譯碼組件技術(shù)研究[D].西安電子科技大學(xué)碩士學(xué)位論文,2009.

      [3]郗莉.LTE系統(tǒng)Turbo高速譯碼算法研究[D].西安電子科技大學(xué)碩士學(xué)位論文,2010.

      猜你喜歡
      存儲(chǔ)模塊譯碼器碼率
      基于MinI0分布式存儲(chǔ)的微服務(wù)模塊開發(fā)應(yīng)用
      Burden of Cirrhosis and Other Chronic Liver Diseases Caused by Specific Etiologies in China, 1990?2016:Findings from the Global Burden of Disease Study 2016
      糾錯(cuò)模式可配置的NAND Flash BCH譯碼器設(shè)計(jì)
      基于狀態(tài)機(jī)的視頻碼率自適應(yīng)算法
      跟蹤導(dǎo)練(一)5
      MiR-125a-5p is Upregulated in Plasma of Residents from An Electronic Waste Recycling Site
      數(shù)據(jù)采集系統(tǒng)在環(huán)保工程中的應(yīng)用研究
      基于場(chǎng)景突變的碼率控制算法
      X264多線程下碼率控制算法的優(yōu)化
      多光譜圖像壓縮的聯(lián)合碼率分配—碼率控制方法
      临高县| 双辽市| 永川市| 修武县| 榆树市| 龙门县| 铁岭县| 全州县| 康乐县| 安岳县| 鲜城| 古交市| 铁力市| 馆陶县| 柳林县| 白山市| 当雄县| 岑巩县| 洪江市| 新宁县| 六盘水市| 且末县| 庆阳市| 湄潭县| 化州市| 十堰市| 吉安县| 龙门县| 乐东| 利川市| 饶河县| 车险| 盐津县| 福安市| 高唐县| 万州区| 涞水县| 仪陇县| 高阳县| 洮南市| 洞口县|