欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種turbo碼譯碼系統(tǒng)及譯碼方法與流程

文檔序號:12309049閱讀:347來源:國知局
一種turbo碼譯碼系統(tǒng)及譯碼方法與流程

本發(fā)明實施例涉及turbo碼譯碼技術,尤其涉及一種turbo碼譯碼系統(tǒng)及譯碼方法。



背景技術:

turbo(特博)碼是一種有效且常用的信道編碼方法,turbo碼具有接近香農(shannon)理論極限的性能。在深空通信、衛(wèi)星通信、多媒體通信以及無線移動通信系統(tǒng)中的應用越來越廣泛。

圖1為現(xiàn)有技術中turbo碼譯碼系統(tǒng)的結構示意圖,如圖1所示,輸入數(shù)據(jù)包括系統(tǒng)信息x和兩個校驗信息y1,y2?,F(xiàn)有技術的方法通過兩個軟輸入軟輸出(softinputsoftoutput,siso)譯碼器對輸入數(shù)據(jù)進行交織迭代完成譯碼過程。

以四路并行正向反向遞推處理為例,傳統(tǒng)的輸入數(shù)據(jù)存儲方式,會把輸入數(shù)據(jù)分成4段并分別順序存儲,從每一段中分別取數(shù)據(jù),完成4路并行處理。由于正向遞推反向遞推同時進行,需要使用雙口隨機存取存儲器(randomaccessmemory,ram)存儲輸入數(shù)據(jù);另外兩次siso譯碼計算需要分別存儲系統(tǒng)信息x交織前和交織后的數(shù)據(jù),譯碼實現(xiàn)過程中所需存儲空間較大。



技術實現(xiàn)要素:

本發(fā)明提供一種turbo碼譯碼系統(tǒng)及譯碼方法,以減小譯碼過程中所需存儲空間。

第一方面,本發(fā)明實施例提供了一種turbo碼譯碼系統(tǒng),所述系統(tǒng)包括:輸入數(shù)據(jù)存儲器、第一譯碼器、第二譯碼器和交織迭代模塊;其中,

所述輸入數(shù)據(jù)存儲器用于存儲待譯碼系統(tǒng)數(shù)據(jù);其中,所述系統(tǒng)數(shù)據(jù)平分為n段,各段對應位置的數(shù)據(jù)構成一個分組,所述系統(tǒng)數(shù)據(jù)以分組為單位存儲于所述輸入數(shù)據(jù)存儲器的n個子存儲器中,所述系統(tǒng)數(shù)據(jù)的前半部分順序間隔存儲于前n/2個子存儲器中,所述系統(tǒng)數(shù)據(jù)的后半部分倒序間隔存儲于后n/2個子存儲器中,n為大于等于2的偶數(shù);

所述第一譯碼器用于獲取所述n個子存儲器中相應位置的分組數(shù)據(jù),并根據(jù)第一校驗信息和獲取的所述分組數(shù)據(jù)計算第一外信息;

所述第二譯碼器用于按第一交織地址讀取所述輸入數(shù)據(jù)存儲器中的系統(tǒng)數(shù)據(jù),并根據(jù)第二校驗信息和讀取的所述系統(tǒng)數(shù)據(jù)計算第二外信息,其中,所述第一交織地址對應于所述系統(tǒng)數(shù)據(jù)的n個位于不同子存儲器的分組;

所述交織迭代模塊用于對所述第一外信息和第二外信息進行交織迭代,完成對所述系統(tǒng)數(shù)據(jù)的譯碼。

第二方面,本發(fā)明實施例還提供了一種turbo碼譯碼方法,所述方法包括:

存儲模塊將待譯碼系統(tǒng)數(shù)據(jù)存儲于輸入數(shù)據(jù)存儲器中;其中,所述系統(tǒng)數(shù)據(jù)平分為n段,各段對應位置的數(shù)據(jù)構成一個分組,所述系統(tǒng)數(shù)據(jù)以分組為單位存儲于所述輸入數(shù)據(jù)存儲器的n個子存儲器中,所述系統(tǒng)數(shù)據(jù)的前半部分順序間隔存儲于前n/2個子存儲器中,所述系統(tǒng)數(shù)據(jù)的后半部分倒序間隔存儲于后n/2個子存儲器中,n為大于等于2的偶數(shù);

第一譯碼器獲取所述n個子存儲器中相應位置的分組數(shù)據(jù),并根據(jù)第一校驗信息和獲取的所述分組數(shù)據(jù)計算第一外信息;

第二譯碼器按第一交織地址讀取所述輸入數(shù)據(jù)存儲器中的系統(tǒng)數(shù)據(jù),并根據(jù)第二校驗信息和讀取的所述系統(tǒng)數(shù)據(jù)計算第二外信息,其中,所述第一交織地址對應于所述系統(tǒng)數(shù)據(jù)的n個位于不同子存儲器的分組;

交織迭代模塊對所述第一外信息和第二外信息進行交織迭代,完成對所述系統(tǒng)數(shù)據(jù)的譯碼。

本發(fā)明實施例提供了一種turbo碼譯碼系統(tǒng),所述的譯碼系統(tǒng)包括輸入數(shù)據(jù)存儲器、第一譯碼器、第二譯碼器和交織迭代模塊,通過所述輸入數(shù)據(jù)存儲器按照預設的存儲格式存儲系統(tǒng)數(shù)據(jù),使得采用單口ram即可完成正反向遞推,同過所述第二譯碼器按照第一交織地址讀取系統(tǒng)數(shù)據(jù),使得無需預先存儲系統(tǒng)數(shù)據(jù)交織后的數(shù)據(jù),從而減小了譯碼過程中所需的存儲空間。

附圖說明

圖1為現(xiàn)有技術中turbo碼譯碼系統(tǒng)的結構示意圖;

圖2是本發(fā)明實施例一提供的一種turbo碼譯碼系統(tǒng)的結構圖;

圖3a是現(xiàn)有技術中的第一段系統(tǒng)數(shù)據(jù)存儲格式示意圖;

圖3b是現(xiàn)有技術中的第二段系統(tǒng)數(shù)據(jù)存儲格式示意圖;

圖3c是現(xiàn)有技術中的第三段系統(tǒng)數(shù)據(jù)存儲格式示意圖;

圖3d是現(xiàn)有技術中的第四段系統(tǒng)數(shù)據(jù)存儲格式示意圖;

圖4a-圖4b是本發(fā)明實施例一提供的正向遞推系統(tǒng)數(shù)據(jù)存儲格式示意圖;

圖4c-圖4d是本發(fā)明實施例一提供的反向遞推系統(tǒng)數(shù)據(jù)存儲格式示意圖;

圖5是本發(fā)明實施例二提供的一種turbo碼譯碼系統(tǒng)的結構圖;

圖6是本發(fā)明實施例三提供的一種turbo碼譯碼系統(tǒng)的結構圖;

圖7是本發(fā)明實施例四提供的一種turbo碼譯碼方法的流程圖。

具體實施方式

下面結合附圖和實施例對本發(fā)明作進一步的詳細說明??梢岳斫獾氖?,此處所描述的具體實施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關的部分而非全部結構。

實施例一

圖2是本發(fā)明實施例一提供的一種turbo碼譯碼系統(tǒng)的結構圖,如圖2所示,所述turbo碼譯碼系統(tǒng)具體可以包括:輸入數(shù)據(jù)存儲器110、第一譯碼器120、第二譯碼器130和交織迭代模塊140;其中,

輸入數(shù)據(jù)存儲器110用于存儲待譯碼系統(tǒng)數(shù)據(jù);其中,所述系統(tǒng)數(shù)據(jù)平分為n段,各段對應位置的數(shù)據(jù)構成一個分組,所述系統(tǒng)數(shù)據(jù)以分組為單位存儲于輸入數(shù)據(jù)存儲器110的n個子存儲器中,所述系統(tǒng)數(shù)據(jù)的前半部分順序間隔存儲于前n/2個子存儲器中,所述系統(tǒng)數(shù)據(jù)的后半部分倒序間隔存儲于后n/2個子存儲器中,n為大于等于2的偶數(shù);

第一譯碼器120用于獲取所述n個子存儲器中相應位置的分組數(shù)據(jù),并根據(jù)第一校驗信息和獲取的所述分組數(shù)據(jù)計算第一外信息;

第二譯碼器130用于按第一交織地址讀取輸入數(shù)據(jù)存儲器110中的系統(tǒng)數(shù)據(jù),并根據(jù)第二校驗信息和讀取的所述系統(tǒng)數(shù)據(jù)計算第二外信息,其中,所述 第一交織地址對應于所述系統(tǒng)數(shù)據(jù)的n個位于不同子存儲器的分組;

交織迭代模塊140用于對所述第一外信息和第二外信息進行交織迭代,完成對所述系統(tǒng)數(shù)據(jù)的譯碼。

其中,第一譯碼器120和第二譯碼器130可以為siso譯碼器。示例性的,以對系統(tǒng)數(shù)據(jù)x1-x6144進行四路并行正向反向遞推處理為例,現(xiàn)有技術中將x1-x6144平分為x1-x1536、x1537-x3072、x3073-x4608和x4609-x6144四段,每一段數(shù)據(jù)分別順序存儲于一個子存儲器中,第一段數(shù)據(jù)到第四段數(shù)據(jù)在4個子存儲器中的存儲格式見圖3a到圖3d。具體的,正向遞推過程對每一數(shù)據(jù)段從前向后取數(shù),反向遞推過程對每一數(shù)據(jù)段從后向前取數(shù)。在正向遞推過程中,分別從每一子存儲器相應的位置讀取一個數(shù),如x1、x1537、x3073和x4609,完成四路并行正向遞推。在反向遞推過程中,分別每一子存儲器相應的位置讀取一個數(shù),如x1536、x3072、x4608和x6144,完成四路并行反向遞推。由于正向遞推和反向遞推需要同時進行,現(xiàn)有技術的數(shù)據(jù)存儲格式必須采用雙口ram對系統(tǒng)數(shù)據(jù)進行存儲。

本實施例提供了一種新的系統(tǒng)數(shù)據(jù)存儲格式,將所述四段數(shù)據(jù)每段對應位置的數(shù)據(jù),如x1、x1537、x3073和x4609分為一個分組,以分組為單位將系統(tǒng)數(shù)據(jù)存儲于輸入數(shù)據(jù)存儲器110的4個子存儲器中,每一段數(shù)據(jù)的前半部分即x1-x768、x1537-x2304、x3073-x3840和x4609-x5376順序間隔存儲于前2個子存儲器中,每一段數(shù)據(jù)的后半部分倒序間隔存儲于后2個子存儲器中。具體存儲方式參見圖4a到圖4d,每一個圖對應一個子存儲器。其中,圖4a和圖4b對應的兩個子存儲器中存數(shù)的數(shù)據(jù)用于正向遞推,圖4c和圖4d對應的兩個子存儲器存儲的數(shù)據(jù)用于反向遞推。依次獲取所述4個子存儲器中相應位置 的分組數(shù)據(jù)即可同時完成正向遞推和反向遞推。采用本實施例所述的系統(tǒng)數(shù)據(jù)存儲結構,在進行四路并行正反向遞推時,輸入數(shù)據(jù)存儲器110采用單口ram即可實現(xiàn)正反向遞推數(shù)據(jù)的讀取,節(jié)省了存儲資源。

另外,現(xiàn)有技術在第二譯碼器130進行譯碼計算時,需要預先存儲系統(tǒng)數(shù)據(jù)交織后的數(shù)據(jù),然后第二譯碼器130讀取交織后的數(shù)據(jù)完成譯碼,系統(tǒng)數(shù)據(jù)以及交織后系統(tǒng)數(shù)據(jù)的存儲需要8塊12*768的雙口ram。本實施例中第二譯碼器130在譯碼計算時按第一交織地址直接讀取輸入數(shù)據(jù)存儲器110中的系統(tǒng)數(shù)據(jù),無需存儲交織后的系統(tǒng)數(shù)據(jù),只需4塊24*384的單口ram即可,節(jié)省了一半的存儲空間。

具體的,以采用基四算法為例,每一次譯碼分別從每一個子存儲器中讀出4路并行的4個系統(tǒng)數(shù)據(jù),其中第一譯碼器120分別從4個子存儲器相應的位置讀出一組分組數(shù)據(jù),即4*4=16個數(shù)據(jù)。第二譯碼器130則需要按照交織后的順序讀出16個數(shù)據(jù),即按照第一交織地址讀出16個數(shù)據(jù)。本實施例中的所述第一交織地址對應于所述系統(tǒng)數(shù)據(jù)的4個位于不同子存儲器的分組,這樣可以保證,交織后的數(shù)據(jù)還保持在輸入數(shù)據(jù)存儲器110中的分組,即原來屬于同一分組的四路并行的數(shù)據(jù)在交織后仍然按照原來的次序并行,仍屬于同一分組,;并且所述第一交織地址保證交織后4組數(shù)分別位于4個子存儲器中。這樣,第二譯碼器130可以直接按照所述第一交織地址由輸入數(shù)據(jù)存儲器110中讀取系統(tǒng)數(shù)據(jù),完成交織過程,無需預先存儲交織之后的數(shù)據(jù),節(jié)省了譯碼過程所需的存儲空間。

本實施例的提供了一種turbo碼譯碼系統(tǒng),所述的譯碼系統(tǒng)包括輸入數(shù)據(jù)存儲器、第一譯碼器、第二譯碼器和交織迭代模塊,通過所述輸入數(shù)據(jù)存儲器按 照預設的存儲格式存儲系統(tǒng)數(shù)據(jù),使得采用單口ram即可完成正反向遞推,同過所述第二譯碼器按照第一交織地址讀取系統(tǒng)數(shù)據(jù),使得無需預先存儲系統(tǒng)數(shù)據(jù)交織后的數(shù)據(jù),從而減小了譯碼過程中所需的存儲空間。

實施例二

本實施例以上述實施例為基礎,提供了一種turbo碼譯碼系統(tǒng)。圖5是本發(fā)明實施例二提供的一種turbo碼譯碼系統(tǒng)的結構圖,如圖5所示,所述的譯碼系統(tǒng)的第二譯碼器130包括:第一交織地址發(fā)生器210、交織地址存儲器220和譯碼單元230;其中,

第一交織地址發(fā)生器210用于在正向遞推過程中,計算正向交織地址,并根據(jù)所述正向交織地址讀取所述系統(tǒng)數(shù)據(jù);在反向遞推過程中,讀取交織地址存儲器220中存儲的部分反向交織地址,并根據(jù)所述部分反向交織地址讀取所述系統(tǒng)數(shù)據(jù);譯碼單元230用于根據(jù)所述第二校驗信息和讀取的所述系統(tǒng)數(shù)據(jù)獲得第二外信息。

可選的,第一交織地址發(fā)生器210還用于:根據(jù)所述部分反向交織地址計算剩余部分的反向交織地址,并存儲到交織地址存儲器220中。

其中,傳統(tǒng)的turbo譯碼系統(tǒng)因為需要正向和反向遞推,需要存儲完整的交織地址,若具有6144個系統(tǒng)數(shù)據(jù),則存儲交織地址所需存儲空間為13*6144。具體的,在正向遞推的過程中,第一交織地址發(fā)生器210按照交織地址計算方法,實時計算正向交織地址,并按照所述正向交織地址讀取輸入數(shù)據(jù)存儲器110中的系統(tǒng)數(shù)據(jù)完成數(shù)據(jù)交織過程。在反向遞推計算過程中,需要按反向交織地址讀取所述系統(tǒng)數(shù)據(jù),為了減少交織地址存儲資源,反向交織地址可以采取實 時計算和部分存儲相結合的方式,即交織地址存儲器220可以采用乒乓結構。示例性的,可以提前在交織地址存儲器220的一塊ram中存儲m個反向交織地址,供反向遞推使用;在使用這m個反向交織地址的同時,第一交織地址發(fā)生器210通過正向遞推公式計算后m個反向交織地址,存儲在交織地址存儲器220的另一塊ram中,反向遞推和交織地址計算交替進行,其中m的數(shù)值可以根據(jù)第一交織地址發(fā)生器210的計算速度設定,只需滿足在使用完交織地址存儲器220中存儲的m個反向交織地址時,后m個交織地址能夠計算完成即可,示例性的m可以取104。本實施例的方案僅需13*m*2的存儲空間來存儲交織地址,大大節(jié)省了譯碼過程中所需要的存儲空間。

本實施例的提供了一種turbo碼譯碼系統(tǒng),所述的譯碼系統(tǒng)的第二譯碼器包括第一交織地址發(fā)生器、交織地址存儲器和譯碼單元,通過交織地址存儲器存儲部分反向交織地址,并通過第一交織地址發(fā)生器實時計算剩余部分的反向交織地址,減小了譯碼過程中所需的存儲空間。

實施例三

本實施例以上述實施例為基礎,提供了一種turbo碼譯碼系統(tǒng)。圖6是本發(fā)明實施例三提供的一種turbo碼譯碼系統(tǒng)的結構圖,如圖6所示,所述譯碼系統(tǒng)的交織迭代模塊140可以包括:第二交織地址發(fā)生器310,用于計算第二交織地址;外信息存儲器320,用于存儲所述第一外信息和第二外信息。

其中,第二交織地址發(fā)生器310按照順序或按第二交織地址將所述第一外信息和第二外信息存儲于外信息存儲器320中,或由外信息存儲器320中讀出所述第一外信息和第二外信息。

具體的,第二交織地址發(fā)生器310具體用于:將所述第一外信息順序寫入外信息存儲器320;按照第二交織地址,從外信息存儲器320中讀出所述第一外信息,并輸入第二譯碼器130;按照第二交織地址,將所述第二外信息寫入外信息存儲器320;從外信息存儲器320中順序讀出所述第二外信息,并輸入第一譯碼器120。

其中,因為所述第一外信息和第二外信息同時是第一譯碼器和第二譯碼器的輸入數(shù)據(jù)或輸出數(shù)據(jù),現(xiàn)有技術中會分別存儲第一外信息和第二外信息。對于6144個系統(tǒng)數(shù)據(jù),第一外信息和第二外信息所需的存儲空間為6*6144*2。本實施例提供的譯碼系統(tǒng),可以對外信息存儲器320的讀和寫同時進行。具體的,第一外信息作為第一譯碼器120的輸出,在交織迭代過程中為第二譯碼器130的輸入;第二外信息作為第二譯碼器130的輸出,交織迭代過程中為第一譯碼器120的輸入。在交織迭代時,第二交織地址發(fā)生器310按照第一譯碼器120的數(shù)據(jù)輸出順序,順序的將第一外信息存儲到外信息存儲器320中;按照第二交織地址的讀出所述第一外信息,并輸入第二譯碼器130進行譯碼;第二譯碼器130通過計算輸出所述第二外信息;第二交織地址發(fā)生器310按照所述第二交織地址將所述第二外信息寫入外信息存儲器320;在第一譯碼器120進行譯碼時,第二交織地址發(fā)生器順序的讀出所述第二外信息,并輸入第一譯碼器120。按照這種方法,外信息存儲器320只需要存儲一組外信息,每一組外信息在存儲時,只需覆蓋外信息存儲器320中的原始數(shù)據(jù)即可,因此外信息的存儲空間節(jié)省了一半,即6*6144。

本實施例提供了一種turbo碼譯碼系統(tǒng),所述的譯碼系統(tǒng)的交織迭代模塊包括第二交織地址發(fā)生器和外信息存儲器,所述第二交織地址發(fā)生器通過控制所 述第一外信息和第二外信息讀出或寫入所述外信息存儲器的順序,減小了外信息存儲器的數(shù)據(jù)存儲量,從而減小了譯碼過程中所需的存儲空間。

實施例四

圖7為本發(fā)明實施例四提供的一種turbo碼譯碼方法的流程圖,如圖7所示,所述方法具體可以包括如下步驟:

步驟410、存儲模塊將待譯碼系統(tǒng)數(shù)據(jù)存儲于輸入數(shù)據(jù)存儲器中;其中,所述系統(tǒng)數(shù)據(jù)平分為n段,各段對應位置的數(shù)據(jù)構成一個分組,所述系統(tǒng)數(shù)據(jù)以分組為單位存儲于所述輸入數(shù)據(jù)存儲器的n個子存儲器中,所述系統(tǒng)數(shù)據(jù)的前半部分順序間隔存儲于前n/2個子存儲器中,所述系統(tǒng)數(shù)據(jù)的后半部分倒序間隔存儲于后n/2個子存儲器中,n為大于等于2的偶數(shù)。

步驟420、第一譯碼器獲取所述n個子存儲器中相應位置的分組數(shù)據(jù),并根據(jù)第一校驗信息和獲取的所述分組數(shù)據(jù)計算第一外信息。

步驟430、第二譯碼器按第一交織地址讀取所述輸入數(shù)據(jù)存儲器中的系統(tǒng)數(shù)據(jù),并根據(jù)第二校驗信息和讀取的所述系統(tǒng)數(shù)據(jù)計算第二外信息,其中,所述第一交織地址對應于所述系統(tǒng)數(shù)據(jù)的n個位于不同子存儲器的分組。

步驟440、交織迭代模塊對所述第一外信息和第二外信息進行交織迭代,完成對所述系統(tǒng)數(shù)據(jù)的譯碼。

進一步的,第二譯碼器按第一交織地址讀取所述輸入數(shù)據(jù)存儲器的系統(tǒng)數(shù)據(jù)包括:

在正向遞推過程中,第一交織地址發(fā)生器計算正向交織地址,并根據(jù)所述正向交織地址讀取所述系統(tǒng)數(shù)據(jù);

在反向遞推過程中,第一交織地址發(fā)生器讀取交織地址存儲器中存儲的部分反向交織地址,并根據(jù)所述部分反向交織地址讀取所述系統(tǒng)數(shù)據(jù)。

進一步的,所述的方法還包括:

所述第一交織地址發(fā)生器根據(jù)所述部分反向交織地址計算剩余部分的反向交織地址,并存儲到所述交織地址存儲器中。

進一步的,交織迭代模塊對所述第一外信息和第二外信息進行交織迭代包括:第二交織地址發(fā)生器計算第二交織地址。

進一步的,交織迭代模塊對所述第一外信息和第二外信息進行交織迭代包括:

第二交織地址發(fā)生器將所述第一外信息順序寫入外信息存儲器;

第二交織地址發(fā)生器按照第二交織地址,從所述外信息存儲器中讀出所述第一外信息,并輸入第二譯碼器;

第二交織地址發(fā)生器按照第二交織地址,將所述第二外信息寫入所述外信息存儲器;

第二交織地址發(fā)生器從所述外信息存儲器中順序讀出所述第二外信息,并輸入第一譯碼器。

本實施例提供的turbo碼譯碼方法,與本發(fā)明任意實施例所提供的turbo碼譯碼系統(tǒng)屬于同一發(fā)明構思,具有相應的有益效果。未在本實施例中詳盡描述的技術細節(jié),可參見本發(fā)明任意實施例提供的turbo碼譯碼系統(tǒng)。

注意,上述僅為本發(fā)明的較佳實施例及所運用技術原理。本領域技術人員會理解,本發(fā)明不限于這里所述的特定實施例,對本領域技術人員來說能夠進 行各種明顯的變化、重新調整和替代而不會脫離本發(fā)明的保護范圍。因此,雖然通過以上實施例對本發(fā)明進行了較為詳細的說明,但是本發(fā)明不僅僅限于以上實施例,在不脫離本發(fā)明構思的情況下,還可以包括更多其他等效實施例,而本發(fā)明的范圍由所附的權利要求范圍決定。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
陇川县| 江口县| 怀仁县| 中宁县| 南郑县| 南川市| 孝义市| 漳州市| 嘉鱼县| 武威市| 琼海市| 阳城县| 绩溪县| 奈曼旗| 工布江达县| 涡阳县| 丰台区| 盐亭县| 东港市| 思南县| 玉龙| 京山县| 汉沽区| 博野县| 容城县| 光山县| 广州市| 顺昌县| 广灵县| 曲阳县| 淮阳县| 高平市| 上栗县| 景德镇市| 禄丰县| 凤山市| 阜新| 慈溪市| 双牌县| 景洪市| 治县。|