TWI406530B - 提供用於高流量應用之混合自動請求率相容碼之系統及方法 - Google Patents

提供用於高流量應用之混合自動請求率相容碼之系統及方法 Download PDF

Info

Publication number
TWI406530B
TWI406530B TW100106590A TW100106590A TWI406530B TW I406530 B TWI406530 B TW I406530B TW 100106590 A TW100106590 A TW 100106590A TW 100106590 A TW100106590 A TW 100106590A TW I406530 B TWI406530 B TW I406530B
Authority
TW
Taiwan
Prior art keywords
breakdown
code
variable nodes
nodes
node
Prior art date
Application number
TW100106590A
Other languages
English (en)
Other versions
TW201126961A (en
Inventor
Mostafa El-Khamy
Jilei Hou
Naga Bhushan
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of TW201126961A publication Critical patent/TW201126961A/zh
Application granted granted Critical
Publication of TWI406530B publication Critical patent/TWI406530B/zh

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/618Shortening and extension of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • H03M13/6393Rate compatible low-density parity check [LDPC] codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

提供用於高流量應用之混合自動請求率相容碼之系統及方法
本發明大體而言係關於通信,且詳言之,係關於用於高流量應用之混合自動請求(H-ARQ)率相容編碼。
通常,在資料傳輸之情況下,接收器觀察在存在雜訊或失真時之每一接收位元,且僅獲得位元之值的指示。在此等情況下,吾人將觀察值解譯為「軟」位元之來源。軟位元指示位元之值的較佳估計(亦即,1或0),連同該估計之可靠性的某一指示。雖然錯誤之數目可能相對較低,但是即使少量錯誤或失真位準亦可導致資料不可用,或在傳輸錯誤之情況下,可能必需資料之重新傳輸。
為了提供用以檢查錯誤且在一些情況下用以修正錯誤之方法,可對二進位資料進行編碼以引入精心設計之冗餘。一資料單元之編碼會產生通常稱為碼字組之內容。由於其冗餘,一碼字組通常將包括比產生該碼字組所來自之輸入資料單元多的位元。
當接收或處理起因於所傳輸之碼字組的信號時,可使用在該信號中所觀察到的包括於該碼字組中之冗餘資訊來識別及/或修正所接收信號中之錯誤或自所接收信號中移除失真,以恢復原始資料單元。可實施該錯誤檢查及/或修正作為解碼過程之一部分。在不存在錯誤時,或在可修正錯誤或失真之情況下,可使用解碼以自被處理之源資料恢復被編碼之原始資料單元。在不可恢復之錯誤的情況下,解碼過程可產生不能完全恢復原始資料之某一指示。可使用解碼失敗之此等解碼失敗指示來起始資料之重新傳輸。
通信系統通常需要以若干不同率來操作。使實施保持盡可能簡單且供給在不同率下之編碼及解碼的一方式係使用低密度同位檢查(LDPC)碼。詳言之,LDPC碼係用以藉由擊穿較低率碼來產生較高率碼。就使用率適應之通信系統而言,可能需要根據系統之條件及需求來調整傳輸資料率。率適應允許一通信系統及其組件可撓性地且有效地使資料率適應於當前通道條件。典型之錯誤修正設計(例如)選擇一固定碼,該碼具有一特定率及修正能力。為了增加處理具有不同錯誤保護需求之不同資料量的可撓性,使該率適應於時變通道條件,以及補償未充分知曉之參數。
對於可撓性通道編碼,可將資料位元分組為具有變化大小之區塊,且可利用不同冗餘量來對此等區塊進行編碼。需要使用可適應若干率之單一母碼(parent code),以替代使用若干獨立錯誤修正碼來對不同位元組進行編碼。此稱作率相容編碼。隨著行動通信系統之快速發展,此項技術中仍需要適於具有高流量之混合ARQ應用的率相容LDPC碼。
LDPC方法可恢復非常嘈雜之環境中的碼字組。通信通道模型之兩個實例為二進位抹除通道(BEC)及二進位對稱通道(BSC)。圖1A及圖1B中說明此等通道。輸入為二進位係在於其包含具有值0或1之位元。
關於輸出,BEC具有0、1或抹除之輸出。正確地傳輸位元之機率為1-p,且錯誤地傳輸(亦即,抹除)位元之機率為p。對於BSC,輸出為0或1。正確地傳輸位元之機率為1-p,且錯誤地傳輸位元(亦即,當發送「1」時接收到「0」,及當發送「0」時接收到「1」)之機率為p。
LDPC碼為自稀疏偶圖(bipartite graph)所產生之線性碼。亦稱作雙圖(bigraph)之偶圖為圖頂點之集合,其被分解為兩個不相交集合,使得同一集合內之任何兩個圖頂點均不相鄰。偶圖為k分圖(k-partite graph)之特殊情況,其中k=2。若在兩個集合中存在p及q個圖頂點,則將整個偶圖表示為Kp,q 。吾人以「稀疏」意謂LDPC碼為特殊種類之線性區塊碼,其同位檢查矩陣H具有低密度之「1」。此稀疏性使得低複雜性解碼導致簡單實施。圖2為該圖之一實例。該圖含有位於左邊之V個變數節點vi 及位於右邊之C個檢查節點cj 。V個變數節點亦可稱作訊息或系統節點。
可藉由具有C列及V行之簡化相鄰矩陣H來表示偶圖。見圖3。圖3為二進位稀疏C×V同位檢查矩陣H之一實例。若第j個檢查節點藉由一邊緣(edge)而連接至第i個變數節點(亦即,該兩個節點鄰接),則在同位檢查矩陣H之第i行及第j列中存在「1」。亦即,第i列與第j行之相交處在邊緣與相應頂點接合的情況下含有「1」且在無邊緣的情況下含有「0」。若一變數節點與一約束(或檢查)節點藉由圖中之邊緣而連接,則認為其鄰接。圖中之邊緣E將變數節點連接至約束或檢查節點,且每一邊緣對應於同位檢查矩陣中之一非零項目(entry)。矩陣H之每一列對應於一檢查節點且表示一同位檢查,且每一行對應於一變數節點且表示一解調變符號。由於存在5個變數節點及3個檢查節點,所以矩陣包括5行及3列。
解調變符號或變數節點之數目N為LDPC碼長度。將一列(行)中之非零元素的數目界定為列(行)權重dc (dv )。規則圖或碼為所有變數節點具有相同度(例如)j且所有約束節點具有相同度(例如)k所針對之規則圖或碼。在此情況下,吾人認為碼為(j,k)規則碼。另一方面,不規則碼具有不同度之約束節點及/或變數節點。舉例而言,一些變數節點可具有度4,其他節點可具有度3,且其他節點可具有度2。
與每一變數節點相關聯的係碼字組之一位元。若且僅若對於每一約束節點,與約束鄰接之位元(經由其與變數節點之關聯)總和為模二「0」(亦即,其包含偶數個「1」),則與變數節點序列一對一相關聯之位元序列為碼之碼字組。在一些情況下,如下文中之進一步論述,可擊穿或知曉此等位元中之一些。擊穿為自碼字組中移除位元以實際上得到較短碼字組之動作。在LDPC圖之情況下,此意謂圖中之一些變數節點對應於實際上未傳輸之位元。
藉由在圖內沿著邊緣交換訊息且藉由在節點處基於傳入之訊息而執行計算來更新此等訊息而操作用以對LDPC碼字組進行解碼之解碼器及解碼演算法。該等方法通常將稱作訊息傳遞方法。圖中之每一變數節點最初具有一軟位元(稱作接收值),其指示如藉由自(例如)通信通道之觀察而判定的相關聯位元之值的估計。理想地,對獨立位元之估計在統計上獨立。實務上,可能會違背此理想。所接收之字組包含接收值之集合。
節點之度係指連接至該節點之邊緣的數目。此特徵說明於圖3所示之H矩陣中,其中與vi 有關之邊緣的數目等於行i中之「1」的數目且稱作變數節點度d(vi )。類似地,與cj 連接之邊緣的數目等於列j中之「1」的數目且稱作檢查節點度d(cj )。
在混合ARQ應用中,在第一傳輸期間以高率碼來傳輸所有資料符號。若未成功地解碼封包,則傳輸器將發送更多冗餘符號以增加已經傳輸之封包的可靠性。由於資訊位元藉由所添加之冗餘符號而擊穿,所以此等冗餘符號在與先前接收之封包組合時產生具有相對較低率之另一碼字組。傳輸器將遞增地發送冗餘符號,因此降低了所傳輸封包之總率,直至接收器確認封包之成功解碼。先前技術中之率相容結構化LDPC碼可能具有以下不當特性:原模圖階層處之資訊區塊大小不恆定,此可能使該等率相容結構化LDPC碼不適於H-ARQ應用。此外,在先前技術中,低率結構化LDPC碼可能具有以下不當特性:經擊穿之變數節點具有非常高之度。因此,可能難以將其擊穿以達成高率。
鑒於上文,本發明之所描述特徵大體係關於用於傳達語音之一或多種改良系統、方法及/或裝置。
在一實施例中,本專利申請案包含一種用以自高率原模圖產生低率原模圖之方法及裝置,其包含:複製一基礎圖(base graph);在該基礎圖之複本中交換一同一類型之邊緣的端點以產生一交換圖;及修剪該交換圖中之系統輸入節點及與其連接之邊緣。
在另一實施例中,本專利申請案包含一種用以自低率碼產生高率碼之方法及裝置,其包含擊穿碼字組位元之一子集,其中擊穿碼字組位元之一子集的步驟包含規則-不規則擊穿碼字組位元之該子集、隨機擊穿變數節點或以漸進式節點擊穿變數節點以自一先前碼獲得一所要碼。
本方法及裝置之適用性的另一範疇將根據以下詳細描述、申請專利範圍及圖式而變得顯而易見。然而,應理解,詳細描述及特定實例雖然指示本發明之較佳實施例,但其僅係以說明之方式來給出,因為在本發明之精神及範疇內的各種改變及修改對於熟習此項技術者而言將變得顯而易見。
在本文中使用詞語「例示性」來意謂「充當實例、例子或說明」。在本文中作為「例示性」而描述之任何實施例未必被理解為比其他實施例較佳或有利。
在本文中稱作存取終端機(AT)106之HDR用戶台可為行動的或固定的,且可與在本文中稱作數據機集區收發器(MPT)之一或多個HDR基地台820通信。存取終端機106經由一或多個數據機集區收發器820而將資料封包傳輸至在本文中稱作數據機集區控制器(MPC)810之HDR基地台控制器810及經由一或多個數據機集區收發器820而接收來自在本文中稱作數據機集區控制器(MPC)810之HDR基地台控制器810的資料封包。數據機集區收發器820與數據機集區控制器810為一稱作存取網路(AN)122之網路的部分。存取網路122在多個存取終端機106之間傳送資料封包。存取網路122可進一步連接至存取網路122外部之額外網路(諸如企業內部網路或網際網路),且可在每一存取終端機106與該等外部網路122之間傳送資料封包。已與一或多個數據機集區收發器820建立主動訊務通道連接之存取終端機106稱作主動存取終端機106,且認為其處於訊務狀態。處於與一或多個數據機集區收發器820建立主動訊務通道連接之過程中的無線終端機106被認為處於連接設置狀態。存取終端機106可為(例如)使用光纖或同軸電纜而經由無線通道556或經由有線通道來通信的任何資料設備。存取終端機106可進一步為許多類型之設備中的任一者,包括(但不限於)PC卡、緊密快閃(compact flash)、外部或內部數據機,或無線或有線電話。存取終端機106向數據機集區收發器820發送信號所經由之通信鏈路稱作反向鏈路。數據機集區收發器820向存取終端機106發送信號所經由之通信鏈路稱作前向鏈路。
自高率原模圖產生低率原模圖
在第一實施例中,本專利申請案包含一種具有低複雜性之用於產生結構化低率LDPC碼之系統方法。此等低率碼可勝過標準渦輪碼且可具有一服從於高速並行解碼之固有結構。此等碼在可加性白高斯雜訊(AWGN)通道上具有良好效能且穩固以抵抗抹除及擊穿。亦即,此等低率結構化LDPC碼可在AWGN通道上具有低臨限值,以及在抹除通道上具有良好效能。此等碼亦適於高流量應用。此等碼可充當在混合ARQ應用中使用之率相容家族中的母碼。
自具有相對較高率之原模圖10開始,本專利申請案揭示一種用於建構較低率之原模圖10之系統方法。使用一複製並交換方法而自較高率原模圖導出低率原模圖10,在該方法中,使用漸進式邊緣增長(PEG)來最大化原模圖10之圍長(girth)以及改良其外循環資訊標準而自高率原模圖(或基礎圖12)建構一較大原模圖10(亦即,低率原模圖10)。接著,在此後修剪經計算之數目的輸入節點20及與其連接之邊緣15以達到所要率。基於AWGN及抹除通道上之密度演化,可接著藉由在原模圖10中添加/調換極小數目之邊緣15來進一步最優化原模圖10。(密度演化分析為此項技術中已知之方法,其可執行於一原模圖10上以判定解碼是否將在大導出圖10上得到任意小之位元錯誤機率。在此技術中,將訊息傳遞方法中所界定之訊息視作隨機變數,且計算其分佈)。
原模圖10可為任何偶圖。然而,其通常為具有少量節點之偶圖。典型之原模圖10由訊息或變數節點20之集合、檢查節點25之集合及邊緣15之集合組成。每一邊緣15將一變數節點20連接至一檢查節點25。此外,允許平行邊緣15,因此映射可能不為1:1。
如一簡單實例,吾人考慮圖4所示之原模圖10。此圖由以E=8個邊緣15而連接之V=4個變數節點20與C=3個檢查節點25組成。以「v1 、v2 、v3 、v4 」來表示原模圖中之4個變數節點20,且以「c1 、c2 、c3 」來表示3個檢查節點。單獨地,此圖10可被認為(n=4,k=1)LDPC碼(在此情況下為一重複碼)之偶圖,其中k及n分別為資訊區塊及碼字組之長度。圖4之偶圖係用以判定一具有長度4及率四分之一的不規則LDPC碼。長度4指示存在4個變數節點20(v1 、v2 、v3 、v4 ),以碼字組之一位元x1 、x2 、x3 、x4 來識別每一者(且在此情況下無擊穿)。率四分之一指示對4個變數節點20存在3個檢查節點25。
本方法及裝置之一優勢在於:所得原模圖10不具有高度具有高連接性的擊穿變數節點V 20。另一優勢在於:設計原模圖10之複雜性較低。吾人可獲得適於擊穿及擴展以建構H-ARQ率相容碼之碼。碼之結構導致固有並行性及快速解碼結構與高流量。所得原模圖10經結構化且可用導致快速編碼結構之累加器、中繼器及交換器來表達。
自較高率之基礎碼產生良好低率碼:
當產生此等碼時,作出以下假設:
基礎原模圖B具有N個變數節點20及C個檢查節點25。擊穿(隱藏)變數節點20之Nt
基礎圖B 12中之變數節點20及檢查節點25的數目分別為N及C。
基礎圖B 12具有N-C個系統輸入節點20及Nt 個擊穿冗餘節點20,其中K=N-C。亦即,Nt 為原模圖B中之擊穿變數節點20的數目。
基礎(高率)原模圖之率為RB =K/(N-Nt )。
圖5A為說明當自具有率RB 之高率原模圖10產生具有率RL 之低率原模圖10時所執行之以下步驟的流程圖(90):
產生基礎圖12 B之p個複本(步驟91)。
使用PEG方法或其變體來最大化原模圖10之圍長而自B之p個複本建構另一原模圖10 Bp (步驟92)。
藉由修剪個系統輸入節點20及與其連接之邊緣15而自Bp 建構原模圖10L(步驟93)。
最優化對所修剪之輸入節點20的選擇以獲得良好之AWGN及抹除臨限值(步驟94)。
可藉由使用少量邊緣15操作(諸如添加、移除及調換該經修剪之交換圖10的該等邊緣15)來完成另一最優化(步驟95)。
PEG方法及其變體自身可具有一些隨機性。在該情況下,可重複PEG構造,直至達到最大數目之迭代(步驟96)。亦即,重複步驟92至步驟95,直至達到最大數目之迭代。
以下為該方法之特殊情況的描述,其中作出以下假設:
基礎圖12B之率為0.5。
設計率為1/m(1/m<)(引入m以避免與碼之長度n混淆)。
圖5B為說明當自高率原模圖10產生低率原模圖10時所執行之以下步驟的流程圖(100):
步驟110-將基礎或母圖12 B複製m-1次。圖6說明基礎圖B 12之一實例。圖7說明基礎圖B 12之m-1個複本,其中m=4。
步驟120-藉由在基礎圖B 12之n-1個複本中交換相同類型之邊緣15的端點來建構一交換圖B_(m-1) 14。圖6說明此步驟。在一實施例中,使用漸進式邊緣增長(PEG)方法來最大化圖14之圍長而實施邊緣15之交換。漸進式邊緣增長包括在可變(或符號)節點20與檢查節點25之間以逐邊緣之方式來建立邊緣15或連接。基礎想法為找出最遠之檢查節點25且接著置放一連接符號節點20與該最遠之檢查節點25的新邊緣15。在步驟120中,使用PEG方法來建構交換圖B_(m-1) 14。可使用PEG方法之其他變體來交換邊緣,諸如ACE-PEG方法、循環PEG或循環ACE-PEG方法。
以下為圍長之解釋。若圖中之兩個頂點x與y相連接,則將其距離d(x,y)界定為與其接合之最短路徑的長度(邊緣之數目)。邊緣15自x開始並於x處結束之封閉路徑稱作x之一循環。圍長g係指圖中之最短循環。
吾人考慮圖6中所示之基礎圖12作為一說明步驟110及120的簡單實例。此圖由以圓表示之N=5個變數節點20及以方框表示之C=3個檢查節點25組成。藉由E=14個邊緣15來連接變數節點20與檢查節點25。單獨地,可認為此圖為一(n=5,k=2)LDPC碼之Tanner圖,其中k=N-C。
對於目標率1 /4 ,m=4。吾人可藉由「複製並交換」操作來獲得一較大圖,其說明於圖7及圖8中。在圖7中,已將圖6之基礎圖B 12複製了3次(m-1=3)。此處,將3個複本疊置,使得相同類型之頂點緊鄰,但總圖由3個不連接之子圖組成。
在圖8中,已在相應變數節點20及檢查節點25之3個複本之間交換了基礎圖12中之每一邊緣15之3個複本的端點。在邊緣15之端點的此調換之後,現將3個基礎圖12互連以產生交換圖B_(m-1) 14。
步驟125-若PEG方法包括一亂數種子(random seed),則重複先前步驟持續有限數目之迭代(亦即,已達到最大數目之迭代(步驟127))且選取具有最小數目之最短循環(具有最大圍長)的交換圖B_(m-1) 14(步驟129)。
步驟130-在經交換之原模圖B_(m-1) 14中修剪(N-C)(m-2)個系統輸入節點20及與其連接之邊緣15以獲得另一原模圖P 17。見圖9,其說明交換圖B_(m-1) 14之一修剪版本,其中修剪了4個系統(或可變)節點20。經修剪之節點不含數字,亦即,其為空白的。如上文所陳述,m=4、N=5個變數節點20且C=3個檢查節點25,且K=5-3=2。因此,(N-C)(m-2)=(5-3)(4-2)=(2)(2)=4。在步驟130中,本方法及裝置修剪總共(N-C)(m-2)個系統輸入節點20。通常將此等節點選作基礎原模圖B 12中之系統節點20之任何(m-2)個複本。在大多數情況下,對被修剪之複本的選擇歸因於在原模圖B_(m-1) 14中橫跨此等複本之對稱性而不會影響效能。然而,若不存在該對稱性,則可行的係嘗試系統輸入節點20之所有可能的(N-C)(m-2)個組合且選取將給出最低臨限值之組合。此係歸因於原模圖10之大小較小,其使得使用密度演化來搜尋原模圖10之臨限值成為一快速過程。此外,吾人可在使用梯度下降或模擬退火方法的同時隨機地選擇所修剪之輸入系統節點20。
步驟140-由於經交換之修剪圖P 17為率1/m碼之原模圖10,所以藉由添加、移除及調換經修剪之交換圖P 17的邊緣15來完成原模圖10之額外最優化。見圖10,其說明藉由添加自檢查節點0至變數節點8之邊緣15來最優化經修剪之交換圖P 17。
在步驟140中,精心地添加極小數目之邊緣15會足以獲得具有優於P 17之臨限值之臨限值的其他原模圖10。可用手來完成此步驟。然而,步驟140亦可為自動化的,亦即,進行邊緣15動作,若其導致較低臨限值,則使其保持,且否則便將其廢除。邊緣15動作意謂添加、移除邊緣15或調換邊緣15點。在一自動化過程中,將隨機地選擇所關心之邊緣15以及邊緣15動作。
N'C'N t ' 為原模圖P 17中之變數節點20、檢查節點25及擊穿變數節點20的數目。則吾人可驗證所得原模圖P 17之率為1/n;
注意,由於藉由修剪節點20及邊緣15而自B_(m-1) 14獲得原模圖P 17,所以P 17為B_(m-1) 14之子圖。此暗指P 17之圍長與B_(m-1) 14之圍長至少一樣大。則最大化B_(m-1) 14之圍長等效於P 17之圍長的約束最大化。此外,若G為自P 17所建構之提昇圖(lifted graph)18,則若P 17無迴路,則G 18便無迴路。又,若P 17之圍長較大,則有可能建構具有較大圍長之G 18。此為G 18中之一有利特性,因為較大圍長通常對應於高信雜比(SNR)區域中之低錯誤底限(error floor)。
藉由一「複製並交換」方法而自原模圖B_(m-1)來建構具有率1/m之新碼,其中根據碼之所要有效負載大小k來計算複本之數目。
使用擊穿來產生用於混合ARQ應用之率相容碼
本專利申請案係針對產生適於具有高流量之混合ARQ應用的率相容(RC)LDPC碼家族。率相容碼為具有不同率之巢套碼家族,其中來自較高率碼之碼字組位元嵌埋於較低率碼中,且因此,可使用單一編碼器/解碼器對來編碼。換言之,具有給定率之碼之碼字組的所有位元出現於任一較低率碼之一碼字組中。其對封包資料系統特別有興趣,該等封包資料系統允許諸如自動重複請求之重新傳輸請求與前向錯誤修正(ARQ/FEC)系統以高可撓性度來達成所要之流量效率。
以下為率相容編碼如何工作之一般描述。i)最初,傳輸器2608經由嘈雜通道而發送一來自一高率碼之碼字組(亦即,傳輸器2608嘗試最小化經由該通道而發送之位元的數目)。ii)給定所接收之經破壞之碼字組,接收器2610嘗試執行解碼(錯誤修正及錯誤偵測)。若接收器2610在修正錯誤及恢復原始訊息方面存在問題,則其發送一向傳輸器2608通知碼字組不具有足夠冗餘來保護資訊免於出錯之反饋訊息,且請求額外位元以幫助恢復該資訊。因此,根據此反饋資訊,編碼器552決定傳輸額外冗餘位元或進行至下一資訊區塊。iii)一旦傳輸器2608接收到來自接收器2610之請求,則其建構一具有較低率之碼字組,且僅傳輸對應於額外冗餘之額外位元。注意,歸因於RC碼之巢套性質,無需重新傳輸已經被發送之來自較高率碼的所有位元,此使得RC碼非常有效。
在一實施例中,將此等低率碼用作率相容家族之母碼。展示包含以率相容方式來擊穿低率碼以建構具有較高率之碼的本方法及裝置。亦即,本方法及裝置包含用以自低率母碼找出良好高率碼之率相容擊穿圖案之新穎且非明顯的搜尋方法。當使用擊穿來建構率相容碼(例如,將碼之率改變為較高率)時,編碼器擊穿(刪除)碼字組位元之子集。在所揭示之裝置中,編碼器552產生同位位元之全部集合,但某些同位位元未被傳輸,亦即,其被擊穿。解碼器537在擊穿同位之處插入抹除且如同在非擊穿情況下一樣執行解碼方法。
在先前技術中,用於自較低率結構化LDPC碼獲得較高率碼之方法依賴於將系統輸入資料節點20互連至圖10以獲得較高率碼。另一方法(經提議用於不規則LDPC集體)為使來自較高率碼之資訊符號無效以獲得較低率碼。根據先前之論述,吾人看出:由於混合ARQ率相容家族中之所有碼跨越不同率可能具有相同資訊區塊大小,所以此等方法對於混合ARQ應用而言可能並非率相容。
AWGN臨限值為最低信雜比(SNR),在該最低信雜比(SNR)下,錯誤機率在置信傳播(Belief Propagation)解碼下可為零,因為當通道為AWGN通道時,區塊長度及迭代之數目趨於無窮大。
產生碼之率相容家族之本方法的一實施例為藉由先前論述之方法來設計穩固之低率碼。此等碼將充當率相容家族之母碼。可藉由精心地擊穿冗餘符號來獲得家族中之較高率碼。可藉由添加冗餘節點來擴展碼而獲得家族中之較低率碼。
本專利申請案揭示用於擊穿圖案之不同實施例。雖然擊穿LDPC碼之想法並不完全為新的,但以率相容方式來擊穿結構化LDPC碼為本專利申請案優於先前技術之一優勢。又,先前技術中所揭示之擊穿來自不規則集體之LDPC碼可能不直接應用於結構化LDPC碼。此係歸因於以下事實:其可能未考慮到圖10中存在其他擊穿節點。
此外,藉由以特定度來最優化圖10中之待擊穿之變數節點20之每一集合的部分來判定具有給定度分佈之不規則集體的擊穿圖案。另一方面,在結構化LDPC碼之許多情況下,非系統非擊穿變數節點20具有相同度。此外,在此專利申請案中所發展之擊穿方法適用於任何LDPC碼,而不僅僅是結構化LDPC碼。
在原模圖階層上進行擊穿
通常,當擊穿一LDPC碼時,採用具有率Rp =k/n之LDPC碼,其中k及n分別為資訊區塊及碼字組之長度。為產生一具有新率之碼,將碼字組中之位元30的子集擊穿且將未擊穿位元發送至接收器2610。假設解碼器557知曉擊穿位元30在碼字組中之位置。
用以擊穿結構化LDPC碼之一直接方式為在原模圖10階層處擊穿所要之變數節點20。此將具有以下優勢:擊穿圖案在提昇圖10上將為規則的且跨越不同區塊大小將為相同的。遺憾的是,歸因於原模圖10之大小較小,可藉由在原模圖10階層上進行擊穿來僅達成有限數目之率。此外,可藉由分析一累加-重複-檢查-累加(ARCA)原模圖10來展示在原模圖10階層上進行擊穿可能不會導致良好碼。
圖11A至圖11C表示一簡單率-ARCA碼之原模圖10。在圖11A中,由於原模圖10僅具有兩個非擊穿非系統變數節點(V3 及V4 )20,所以藉由在原模圖10階層上進行擊穿可達成之率為2 /3 或1。圖11A中展示基礎ARCA碼之原模圖。在圖11A中,以雙邊緣將由內部具有「0」之方框所表示的檢查節點25 C0 連接至由內部具有「1」之圓所表示的擊穿變數節點V1 20。此等效於在提昇圖中連接至兩個擊穿變數節點20。對於檢查節點25 C1 而言,情況亦係如此。然而,檢查節點25 C2 僅連接至一擊穿變數節點20 V1 。藉由觀察置信傳播(BP)等式(其用以解碼LDPC碼)且回憶起擊穿變數節點20之可靠性最初為「0」,看出自一連接至一個以上擊穿變數節點20之檢查節點25所發送的訊息可總是為「0」。
然而,若一檢查節點25僅連接至一擊穿變數節點20 V,則藉由來自連接至此同一檢查節點25之其他變數節點20的訊息來改良此擊穿變數節點20之可靠性。結果,最初,檢查節點25 C0 及C1 將不發送資訊,直至變數節點20 V1 之可靠性藉由自檢查節點25 C2 發送至其之資訊而改良。因此,迭代訊息傳遞開始且BP工作。
然而,看出擊穿分別由內部具有「3」或「4」之圓所表示之變數節點20 V3 或V4 來獲得率2 /3 將導致檢查節點25 C2 在圖11B中連接至兩個擊穿變數節點20 V1 及V3 或在圖11C中連接至3個變數節點V1 及兩個V4 。圖11B展示所擊穿之變數節點20 V3 ,而圖11C展示所擊穿之變數節點20 V4 。因此,圖中所有檢查節點25連接至一個以上擊穿節點,且自檢查節點傳輸至變數節點20之資訊總是為「0」,且迭代訊息傳遞可能不會開始。因此,藉由在原模圖10階層上擊穿而進行之規則擊穿可能並非較佳。
規則-不規則擊穿方法
吾人可規則地擊穿提昇圖10中之冗餘變數節點20,以替代在原模圖10上執行規則擊穿。此給出選擇任何所需率家族之可撓性。相對於家族中之先前碼,擊穿圖案將盡可能規則。對於較高率而言,其相對於母碼變得更不規則且隨機。令C{Rm }表示具有率Rm 之率相容家族中的碼。規則-不規則擊穿方法200執行圖12之流程圖中所說明的以下步驟。
步驟210-選擇一具有所要基礎率R0 之母碼C{R0 },其中C{R0 }表示具有率R0 之碼。
步驟220-對於所要率之集合R1 、R2 、......、Rp (Rp >......>R2 >R1 )中的每一率Rm ,找出先前碼C{Rm-1 }中之非擊穿冗餘變數節點20 Vr 的集合,其中C{Rm-1 }表示具有碼率Rm-1 之先前碼。Rm-1 為待擊穿以產生一具有所要率Rm 之碼的先前碼之率。
步驟230-令C{Rm-1 }中之非擊穿冗餘變數節點20 Vr 之集合的基數50為rm-1 。(基數rm-1 50係指C{Rm-1 }中之非擊穿冗餘變數節點20 Vr 之集合中成員之數目,其中C{Rm-1 }表示先前碼,且Rm-1 為待擊穿以產生一具有所要率Rm 之碼的先前碼之率)。
步驟240-計算數目pm ,其中pm 為待擊穿以自先前率Rm-1 變為所要率Rm 之變數節點20的數目:
pm =Floor(N-(N-C)/Rm -N_tm-1 ) Eq. 2,
其中Rm為所要率,N及C分別為提昇圖中之變數節點20及檢查節點25的數目,N_tm-1為提昇圖10中對應於碼C{Rm-1}之擊穿變數節點20的總數目,且Floor()表示底限函數(floor function),其為傳回小於或等於括號內部數目之最大整數的函數。
步驟250-計算α 52及β 54,使得非擊穿集合上之擊穿圖案規則。
步驟253-α=Floor[(rm-1 -pm )/(pm -1)] Eq. 3
步驟256-β=rm-1 -α(pm -1)-pm  Eq. 4
步驟260-在基數50 rm-1 之非擊穿集合上擊穿一為α 52與β 54之函數的圖案。以下為一待於非擊穿集合上擊穿之此一圖案的實例。
[N1 {α節點}N2 {α節點}......Nm {β節點}] Eq. 5,
N1 、N2 、......、Np_m 為基數rm-1 之非擊穿冗餘節點20之集合內之擊穿變數節點20的指數。亦即,吾人擊穿一節點20,留下α節點20非擊穿。吾人重複此過程,直至吾人擊穿第pm 個變數節點20。此在集合之末端留下β節點20非擊穿。
規則-不規則擊穿方法展示於圖13A至圖13C上。圖13A展示具有率之所建構之累加重複檢查累加(ARCA)碼中的非擊穿冗餘節點20。圖13B展示率0.6碼之擊穿圖案。
圖13C中所示之率2 /3 碼的擊穿圖案相對於率0.6碼中之非擊穿節點20為規則的,但相對於率0.5碼中之非擊穿節點為不規則的。出於此原因,存在一些檢查節點25,其中當迭代解碼開始時,不多於一個擊穿變數節點20與其連接。
隨機擊穿方法
如先前實施例中所示,規則及不規則擊穿圖案可能不會總是導致理想之碼家族。由於自解碼演算法之觀點來看,將擊穿節點20視為抹除,所以母碼宜在AWGN通道上且在抹除通道上應具有良好效能。在非擊穿冗餘變數節點20上之隨機擊穿在抹除通道上將表現為隨機雜訊,且若碼在抹除通道上具有良好效能,則將恢復所擊穿之變數節點20。然而,在先前技術中,可看出,對抹除通道之分析顯示:存在一截止率(cutoff rate)Rc,其視碼之度分佈及母碼之率而定,使得吾人可能不能藉由擊穿母碼找出具有率R>Rc且在密度演化下執行良好的碼。
為克服先前技術之缺陷,本發明揭示以下一實施例:其包含一用於藉由以快速方式搜尋提昇圖10上之最佳隨機擊穿圖案來建構率相容家族之方法。該方法稱作隨機搜尋方法300且包含以下步驟。此等步驟說明於圖14之流程圖中。
步驟310-以一具有所要基礎率R0 之「良好」碼C{R0 }開始,亦即,選擇一具有所要基礎率R0 之母碼C{R0 },其中C{R0 }表示具有率R0 之碼。
界定win_snr為根據隨機搜尋方法而輸出之(贏者)碼的臨限值SNR(對於AWGN通道)。
步驟320-對於所要率之集合R1 、R2 、......、Rp (Rp >......>R2 >R1 )中之每一Rm ,將SNR之初始值win_snr初始化為無窮大,其中R1 、R2 、......、Rp 表示率相容家族中之率的集合:
win_snr=INF(無窮大) Eq. 6
步驟330-在C{Rm-1 }中找出非擊穿可變冗餘節點20 Vr 之集合T,其中C{Rm-1 }表示具有率Rm-1 之碼。Rm-1 表示此為先前率,其正經擊穿以產生新的所要率Rm
步驟340-計算待擊穿之變數節點20的數目pm 以自率Rm-1 變為率Rm (如在先前所論述之不規則方法中)。
步驟350-自非擊穿冗餘變數節點20之集合T中隨機地選擇pm 個變數節點20 V,其中pm 表示待擊穿之變數節點20的數目。
步驟353-藉由擊穿pm 個變數節點20而自先前率Rm-1 建構一碼。
步驟357-執行密度演化以測試所建構之碼是否在等於win_snr之信雜比(SNR)下達成一可忽略錯誤。
步驟359-所建構之碼是否以win_snr而達成一可忽略錯誤?
若是,則
步驟360-在-INF至SNR之初始化值win_snr之SNR範圍內迭代地搜尋此重新建構之碼的新AWGN SNR臨限值(見[0091])。在一實施例中,此係藉由迭代地平分SNR範圍以選擇一測試SNR且查看該測試SNR是否在密度演化下達成零錯誤機率來完成。重複此過程,直至達成SNR之所要精確度。將win_snr重置為達成零錯誤之此碼的臨限值。(吾人可發現,win_snr之新值小於舊值)。
步驟365-將此重新建構之碼設定為贏者碼。
步驟367-設定win_snr=新臨限值 Eq. 7
步驟370-若碼以win_snr未達成一可忽略錯誤(亦即,對步驟359為「否」),則跳至步驟372。
步驟372-藉由返回至步驟350來重複隨機搜尋方法直至最大數目之重複。藉由計算可用資源來判定重複之最大數目。在一實施例中,其為5。
自以上之揭示內容中看出,隨機搜尋方法為一貪心法(greedy method),此在於其在以設計率R_{m-1}找出最佳碼之後以每一設計率R_m搜尋最佳碼。
漸進式節點擊穿方法400
另一實施例使用漸進式節點擊穿400。藉由漸進式節點擊穿400,對於一特定設計率,漸進式地選擇擊穿圖案:
條件A-使圖10中僅連接至一擊穿變數節點20之檢查節點25C的數目最大化,而
條件B-使連接至每一檢查節點25之擊穿變數節點20的平均數目最小化,且
條件C-使僅連接至一擊穿變數節點20之檢查節點25與其他擊穿變數節點20之間的連接性最大化。
本方法及裝置擊穿來自非擊穿變數節點20之集合的變數節點20,該變數節點20連接至最少數目之檢查節點25,該等檢查節點25又僅連接至一擊穿變數節點20。若存在一個以上之該變數節點20,則擊穿來自具有最小數目之連接至其鄰接檢查節點25之擊穿變數節點20之集合的變數節點20。若存在一個以上之該變數節點20,則吾人隨機地選擇一變數節點20。可重複此整個過程,以獲得具有同一所要率但具有另一擊穿圖案之另一碼。接著選擇具有最高擊穿得分之碼。
具有擊穿節點20之Tanner圖的擊穿得分為具有一擊穿變數節點20之檢查節點25連接至其他檢查節點25(該等其他檢查節點25又連接至擊穿變數節點20)之情況有多好的量測。
漸進式節點擊穿之一優勢在於:其針對特定率而分配擊穿圖案,使得此碼之進一步擊穿將導致良好之較高率碼。所設計之碼在整個家族範圍內將具有良好之AWGN及抹除臨限值以及良好之錯誤底限。此對於家族中之較高率碼而言尤為正確。
條件A隱含之推理在於:僅連接有一擊穿變數節點20之檢查節點25(具有大於1之度)將向單一擊穿變數節點20傳輸非零資訊,且該單一擊穿變數節點20可恢復為無錯誤。使僅連接有一擊穿變數節點20之檢查節點25的數目最大化可導致某些其他檢查節點25具有大量擊穿節點20連接至檢查節點25。連接有一個以上擊穿變數節點20之檢查節點25將向所有擊穿變數節點20傳輸零資訊,直至此等擊穿變數節點20中除了一者以外全部藉由自其他檢查節點25傳遞之訊息而被恢復。因此,需要使連接至任一檢查節點25之擊穿變數節點20的最大數目最小化,其暗指條件B。此亦暗指:需要使無擊穿變數節點20或僅一擊穿變數節點20連接至檢查節點25之檢查節點25對具有一個以上擊穿變數節點20之其他檢查節點25具有高連接性,此為條件C。
以下為當使用漸進式節點擊穿方法400時所執行之步驟。此等步驟說明於圖15之流程圖中。
步驟410-對於所要率之集合中的每一所要率Rm ,藉由漸進式地擊穿來自基數50 rm-1 之非擊穿冗餘變數節點20之集合T中的pm 個變數節點20而自C{Rm-1 }獲得C{Rm },其中n為碼字組之長度,且pm-1 為先前圖10中之擊穿變數節點20的總數目。又,C{Rm }表示具有率Rm 之碼,C{Rm-1 }表示具有率Rm-1 之碼,且Rm-1 表示此為正經擊穿以產生新的所要率Rm 之先前率。
步驟420-初始化
步驟422-對於每一檢查節點25(連接至冗餘變數節點20),計算F(C)=連接至檢查節點25之擊穿冗餘變數節點20的數目。(F(C)=1意謂一檢查節點25僅連接至一擊穿變數節點20。)
步驟424-找出非擊穿冗餘變數節點20之集合R。
步驟426-對於每一非擊穿冗餘變數節點20,計算G(Vr )=具有F(C)=1之非擊穿冗餘變數節點20之鄰接檢查節點25的數目,亦即,連接至非擊穿冗餘變數節點20之檢查節點25的數目,其中檢查節點25僅連接至一擊穿冗餘變數節點20,及
步驟428-對於每一非擊穿冗餘變數節點20,計算
H(Vr )=Sum[F(C)|C與Vr 鄰接] Eq. 8。
亦即,H(Vr )為連接至檢查節點25之擊穿冗餘變數節點20之數目的總和,其中檢查節點25連接至非擊穿冗餘變數節點20。
步驟430-藉由在p<pm (亦即,此步驟處擊穿變數節點20的數目p<用於所要率之擊穿變數節點20的數目pm )時找出擊穿變數節點20來進行擊穿,其包含以下步驟:
步驟432-找出T={以R之Vr|G(Vr)=min[G(Vr )]} Eq. 9,
亦即,在非擊穿變數節點20之集合R中找出非擊穿變數節點20之集合T,對於此情形,僅連接至一非擊穿變數節點20之鄰接檢查節點25的數目為最小值。
步驟434-若|T|=1,則Vp =T Eq. 10,
亦即,若僅一非擊穿冗餘變數節點20具有G(Vr )之最小值且在步驟4a中所找出之集合T的大小為1,則將待於此步驟中擊穿之變數節點20設定為在集合T中所找出之單一變數節點20。
步驟435-若|T|>1,則執行步驟436至步驟439 Eq. 11,
亦即,若在步驟432中所找出之集合T中存在一個以上變數節點20,則執行步驟436至步驟439:
步驟436-找出U={以T之Vr |H(Vr )=min[H(Vr )|以T之Vr ]} Eq. 12,
亦即,找出在步驟432中所找出之集合T中的非擊穿變數節點20之子集U,其中連接至檢查節點25(該等檢查節點25連接至非擊穿變數節點20)之擊穿變數節點20之數目的總和為最小值。
步驟437-若|U|=1,則Vp =U, Eq. 13
亦即,若在步驟436中所找出之子集U的大小為1,則將擊穿變數節點20設定為集合U中之單一變數節點20。
步驟438-若|U|>1,則自U中隨機地選擇Vp ,Eq. 14
亦即,若在步驟436中所找出之集合U的大小大於1,則自子集U(其來自步驟436)之非擊穿變數節點20中隨機地選擇待擊穿之變數節點20。
步驟439-擊穿所選變數節點20且自非擊穿變數節點20之集合R中移除經擊穿之所選變數節點20。
步驟440-藉由執行步驟442及步驟444來更新函數。
步驟442-對於與擊穿變數節點20鄰接之每一檢查節點25,更新F(C),其中F(C)等於連接至檢查節點25之擊穿冗餘變數節點20的數目。
步驟444-對於與檢查節點25鄰接之每一變數節點20,更新G(Vr )及H(Vr ),其中G(Vr )=連接至非擊穿冗餘變數節點20之檢查節點25的數目,其中檢查節點25 C僅連接至一擊穿冗餘變數節點20,且H(Vr )=連接至檢查節點25之擊穿冗餘變數節點20的總和,其中檢查節點25連接至非擊穿冗餘變數節點20。
步驟446-p=p+1} Eq. 15
亦即,進入下一迭代。找出待擊穿之下一節點。當p=pm 時,亦即,當已擊穿待以此率擊穿之所有節點時,迭代停止。
漸進式節點擊穿方法中之步驟實施條件A及B,其中在最少數目之檢查節點25連接至變數節點20的情況下擊穿變數節點20,其中檢查節點25連接至一擊穿變數節點20。此係歸因於以下事實:擊穿此變數節點20將導致此等檢查節點25改為連接至兩個擊穿變數節點20。若存在一個以上之該變數節點20,則選擇在自此變數節點20所擴展之支援樹之第二層次中具有最少數目之擊穿變數節點20的變數節點20。此為實施條件B之一有效方式。在大多數實施例中,仍存在用於擊穿之一個以上候選變數節點20供選擇,亦即,|U|=1。在所陳述之漸進式節點擊穿方法中,自此集合中隨機地選擇待擊穿之變數節點20。
緊接著,將檢查節點25之擊穿得分S(C)界定為藉由檢查節點25之支援樹之兩層擴展而達到的連接至檢查節點25之擊穿變數節點20的總和,且計算如下,
S(C)=Sum[F(C')|檢查節點25 C'鄰接變數節點20 V,且變數節點20 V鄰接檢查節點25 C]。
圖10 g之擊穿得分Sg 為僅使一鄰接變數節點20被擊穿之所有檢查節點25之擊穿得分的總和,
Sg=Sum[S(C)|以g之C及F(C)=1] Eq. 17。
擊穿得分為用以量測具有一擊穿變數節點20之檢查節點25連接至具有擊穿變數節點20之其他檢查節點25之情況有多好的近似且有效之方式。因此,藉由執行下文中所列出之以下步驟來實施條件C而修改漸進式節點擊穿方法400。
漸進式節點擊穿方法(外部迴路)
步驟450-藉由執行步驟452至步驟459而使僅具有一擊穿變數節點20之檢查節點與其他擊穿變數節點20之間的連接性最大化。
步驟452-初始化:Sg,0 =0,t=1, Eq. 18
亦即,在第一迭代(t=1)時將圖10 g之擊穿得分Sg 初始化為零。
在(t<max_iterations)時
步驟454-改變亂數種子。
步驟456-對碼C{Rm-1 }執行漸進式節點擊穿方法400以獲得一所要擊穿碼Ct {Rm },其中C{Rm-1 }為先前率之碼。
步驟458-計算與所要擊穿碼Ct {Rm }相關聯的圖10之擊穿得分Sg,t。
步驟459-若Sg,t >Sg,t-1 ,則將C{Rm }設定為Ct {Rm } Eq. 19
(選擇具有最大擊穿得分之擊穿圖案),亦即,若與所要擊穿碼Ct {Rm }相關聯的圖10之擊穿得分大於迭代t-1時之先前圖10的擊穿得分,則選擇具有最大擊穿得分之擊穿圖案。
步驟460-t=t+1 Eq. 20,
亦即,進入下一迭代。
圖16說明一包括編碼器552、解碼器557及通信通道556之系統550。編碼器552包括一處理輸入資料A以產生碼字組X之編碼電路553。出於錯誤偵測及/或修正之目的,碼字組X包括一些冗餘。可經由通信通道556而傳輸碼字組X。由於通信通道556所產生之失真,所傳輸之碼字組之部分可能會丟失或遭破壞。自解碼器之觀點而言,可將擊穿位元30解譯為丟失。
在接收器處,將軟位元30插入於所接收之字組中以替代丟失或擊穿位元30。所插入之抹除指示及/或位元30在傳輸時丟失。
解碼器557將試圖自所接收之字組Y來重新建構完整碼字組X,且接著執行資料解碼操作以自重新建構之碼字組X產生資料A。
解碼器557包括一用於自所接收之字組Y重新建構完整碼字組X之通道解碼器558。此外,其包括一用於移除碼字組中所包括之冗餘資訊以自重新建構之碼字組X產生原始輸入資料A的資料解碼器559。
應瞭解,結合LDPC編碼而產生的所接收之字組可藉由在其上執行LDPC解碼操作(例如,錯誤修正及偵測操作)來處理,以產生原始碼字組之一重新建構之版本。重新建構之碼字組可接著經受資料解碼以恢復被編碼之原始資料。資料解碼過程可為(例如)僅僅自重新建構之碼字組中選擇位元30之特定子集。可將圖5、圖12、圖14、圖15A及圖15B中所說明之步驟儲存為呈位於編碼器552之記憶體45中之軟體或韌體42之形式的指令。可藉由編碼電路553來執行此等指令。亦可將圖5、圖12、圖14、圖15A及圖15中所說明之步驟儲存為呈位於解碼器557之記憶體46中之軟體或韌體43之形式的指令。可藉由通道解碼器558來執行此等指令。
圖17為說明AT 106之一實施例的功能方塊圖。AT 106包括一控制AT 106之操作的處理器2602。處理器2602亦可稱作CPU。可包括唯讀記憶體(ROM)及隨機存取記憶體(RAM)兩者之記憶體2605向處理器2602提供指令及資料。記憶體2605之一部分亦可包括非揮發性隨機存取記憶體(NVRAM)。可將圖5、圖12、圖14、圖15A及圖15B中所說明之步驟儲存為作為位於記憶體2605中之軟體或韌體42而定位的指令。可藉由處理器2602來執行此等指令。
可體現於諸如蜂巢式電話之無線通信設備中的AT 106亦可包括一含有允許在AT 2606與諸如AN 122之遠端位置之間傳輸及接收資料(諸如音訊通信)之傳輸器2608及接收器2610的外殼2607。可將傳輸器2608與接收器2610組合成一收發器2612。一天線2614附著至外殼2607且電耦接至收發器2612。亦可使用額外天線(未圖示)。此項技術中熟知傳輸器2608、接收器2610及天線2614之操作且無需在本文中進行描述。
AT 106亦包括一用以偵測並量化收發器2612所接收之信號之位準的信號偵測器2616。信號偵測器2616偵測諸如總能量、每偽雜訊(PN)晶片之引示能量、功率譜密度及其他信號之信號,此在此項技術中為已知的。
AT 106之狀態變換器2626基於當前狀態與由收發器2612所接收及由信號偵測器2616所偵測之額外信號來控制無線通信設備之狀態。無線通信設備能夠在許多狀態之任一者中操作。
AT 106亦包括一系統判定器2628,其係用以控制無線通信設備且在其判定當前服務提供者系統不足時判定無線通信設備應轉移至哪一服務提供者系統。
AT 106之各種組件藉由一匯流排系統2630而耦接在一起,該匯流排系統2630除了包括一資料匯流排以外還可能包括一功率匯流排、一控制信號匯流排及一狀態信號匯流排。然而,出於簡明之目的,在圖7中將各種匯流排說明為匯流排系統2630。AT 106亦可包括一用於處理信號之數位信號處理器(DSP)2609。熟習此項技術者應瞭解,圖7中所說明之AT 106為功能方塊圖而非特定組件之清單。
藉由圖18A中所說明之相應構件附加功能區塊來執行上文所描述的圖5A之方法及裝置。換言之,圖5A中之步驟90、91、92、93、94、95及96對應於圖18A中之構件附加功能區塊1090、1091、1092、1093、1094、1095及1096。
藉由圖18B中所說明之相應構件附加功能區塊來執行上文所描述的圖5B之方法及裝置。換言之,圖5B中之步驟100、110、120、125、130及140對應於圖18B中之構件附加功能區塊1100、1110、1120、1125、1130及1140。
藉由圖19中所說明之相應構件附加功能區塊來執行上文所描述的圖12之方法及裝置。換言之,圖12中之步驟200、210、220、240、250、253、256及260對應於圖19中之構件附加功能區塊1200、1210、1220、1240、1250、1253、1256及1260。
藉由圖20中所說明之相應構件附加功能區塊來執行上文所描述的圖14之方法及裝置。換言之,圖14中之步驟300、310、320、330、340、350、353、357、359、360、365、367及372對應於圖20中之構件附加功能區塊1300、1310、1320、1330、1340、1350、1353、1357、1359、1360、1365、1367及1372。
藉由圖21中所說明之相應構件附加功能區塊來執行上文所描述的圖15A之方法及裝置。換言之,圖15A中之步驟400、410、420、422、424、426、428、430、432、434、435、436、437、438、439、440、442、444、446及450對應於圖21中之構件附加功能區塊1400、1410、1420、1422、1424、1426、1428、1430、1432、1434、1435、1436、1437、1438、1439、1440、1442、1444、1446及1450。
藉由圖22中所說明之相應構件附加功能區塊來執行上文所描述的圖15B之方法及裝置。換言之,圖15B中之步驟452、454、456、458、459及460對應於圖22中之構件附加功能區塊1452、1454、1456、1458、1459及1460。
熟習此項技術者應理解,可有利地以電壓、電流、電磁波、磁場或粒子、光場或粒子或其任何組合來表示可在整個以上描述中加以參考之資料、指令、命令、資訊、信號、位元、符號及晶片。熟習此項技術者亦應瞭解,結合本文中所揭示之實施例而加以描述的各種說明性邏輯區塊、模組、電路及演算法步驟可作為電子硬體、電腦軟體或兩者之組合來實施。各種說明性組件、區塊、模組、電路及步驟已根據其功能性而加以大體地描述。將功能性作為硬體還是軟體來實施視特定應用及強加於整個系統上之設計約束而定。熟習此項技術者認識到硬體與軟體在此等情況下之互換性及針對每一特定應用而如何最佳地實施所描述之功能性。作為實例,可藉由數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)或其他可程式化邏輯設備、離散閘或電晶體邏輯、諸如(例如)暫存器及FIFO之離散硬體組件、執行韌體指令之集合之處理器、任何習知之可程式化軟體模組及處理器、或其經設計以執行本文所描述之功能的任何組合來實施或執行結合本文中所揭示之實施例而加以描述的各種說明性邏輯區塊、模組、電路及演算法步驟。處理器可有利地為微處理器,但在替代例中,處理器可為任何習知之處理器、控制器、微控制器、可程式化邏輯設備、邏輯元件陣列或狀態機。軟體模組可駐存於RAM記憶體、快閃記憶體、ROM記憶體、EPROM記憶體、EEPROM記憶體、暫存器、硬碟、抽取式碟、CD-ROM或此項技術中已知之任何其他形式之儲存媒體中。一例示性處理器有利地耦接至儲存媒體,以便讀取來自儲存媒體之資訊及將資訊寫入至儲存媒體。在替代例中,儲存媒體可與處理器成為整體。處理器及儲存媒體可駐存於ASIC中。ASIC可駐存於電話或其他使用者終端機中。在替代例中,處理器及儲存媒體可駐存於電話或其他使用者終端機中。可將處理器實施為DSP與微處理器之組合或實施為結合DSP核心之兩個微處理器,等等。
因此已展示並描述了本發明之較佳實施例。然而,一般熟習此項技術者將顯而易見到,在不脫離本發明之精神或範疇的情況下,可對本文中所揭示之實施例作出眾多改變。因此,本發明除了根據以下申請專利範圍以外並不受到限制。
10...原模圖
12...基礎原模圖
14...原模圖
17...原模圖
20...系統輸入節點/變數節點
25...檢查節點
30...位元
42...軟體/韌體
43...軟體/韌體
45...記憶體
46...記憶體
106...存取終端機
550...系統
552...編碼器
553...編碼電路
556...通信通道
557...解碼器
558...通道解碼器
559...資料解碼器
1090...構件附加功能區塊
1100...構件附加功能區塊
1200...構件附加功能區塊
1300...構件附加功能區塊
1400...構件附加功能區塊
2602...處理器
2605...記憶體
2607...外殼
2608...傳輸器
2609...數位信號處理器(DSP)
2610...接收器
2612...收發器
2614...天線
2616...信號偵測器
2626...狀態變換器
2628...系統判定器
2630...匯流排系統
A...原始輸入資料
C0 -C2 ...檢查節點
V0 -V5 ...變數節點
X...碼字組
Y...字組
圖1A為具有抹除機率p之二進位抹除通道(BEC)的一實例;
圖1B為具有錯誤機率p之二進位對稱通道(BSC)的一實例;
圖2為偶圖之一實例;
圖3為二進位稀疏M×N同位檢查矩陣H之一實例;
圖4為由以E=8個邊緣而連接之V=4個變數節點與C=3個檢查節點組成之原模圖的一實例;
圖5A為說明當自高率原模圖產生低率原模圖時所執行之步驟的流程圖;
圖5B為說明當在設計率為1/m之情況下自高率原模圖產生低率原模圖時所執行之步驟的流程圖;
圖6說明基礎圖B之一實例;
圖7說明基礎圖B之n-1個複本,其中n=4;
圖8說明藉由在基礎圖B之n-1個複本中交換同一類型之邊緣之端點而產生的基礎圖B_(n-1);
圖9說明交換圖B_(n-1)之修剪版本;及
圖10說明藉由添加自檢查節點0至變數節點8之邊緣來最優化交換圖B_(n-1);
圖11A表示一原模圖基礎ARCA碼;
圖11B展示在擊穿變數節點3以得到2/3率之情況下的原模圖;
圖11C展示在擊穿變數節點4以得到2/3率之情況下的原模圖;
圖12為說明在本專利申請案之規則-不規則擊穿方法中所執行之步驟的流程圖;
圖13A展示具有率之非擊穿ARCA碼的圖;
圖13B展示具有率0.6碼之擊穿圖案的圖;
圖13C展示具有2/3率之擊穿圖案的圖;
圖14為說明在本專利申請案之隨機搜尋方法中所執行之步驟的流程圖;
圖15A及圖15B為說明在本專利申請案之漸進式節點擊穿方法中所執行之步驟的流程圖;
圖16為一包含編碼器、解碼器及通信通道之系統的功能方塊圖;
圖17為說明存取終端機之一實施例的功能方塊圖;及
圖18A為說明當自高率原模圖產生低率原模圖時所執行之步驟的功能方塊圖;
圖18B為說明當在設計率為1/m之情況下自高率原模圖產生低率原模圖時所執行之步驟的功能方塊圖;
圖19為說明在本專利申請案之規則-不規則擊穿方法中所執行之步驟的功能方塊圖;
圖20為說明在本專利申請案之隨機搜尋方法中所執行之步驟的功能方塊圖;及
圖21A及圖21B為說明在本專利申請案之漸進式節點擊穿方法中所執行之步驟的功能方塊圖。
(無元件符號說明)

Claims (48)

  1. 一種自低率碼產生高率碼之方法,其包含:擊穿碼字組位元之一子集;其中該等低率碼為母碼;其中擊穿碼字組位元之一子集的該步驟包含:以漸進式節點擊穿變數節點,以自一先前碼獲得一所要碼;其中藉由以下步驟來產生該等母碼:複製一基礎圖;在該基礎圖之複本中交換一同一類型之邊緣的端點,以產生一交換圖;及修剪該交換圖中之系統輸入節點及與其連接之該等邊緣;其中以漸進式節點擊穿變數節點以自一先前碼獲得一所要碼之該步驟包含:漸進式地擊穿來自基數rm-1 之該等非擊穿變數節點之一集合的該等變數節點,其中rm-1 為一先前碼中之非擊穿冗餘變數節點之該集合中之成員的數目,且其中可擊穿該先前碼之非擊穿冗餘變數節點,以得到具有一所要率之該碼;其中漸進式地擊穿來自該等非擊穿變數節點之一集合之變數節點的該步驟包含一藉由以下步驟來初始化的步驟:針對連接至至少一該變數節點之每一檢查節點計算 連接至該等檢查節點之該等擊穿變數節點的數目,其中該等檢查節點中之每一者僅連接至一該擊穿變數節點;找出該等非擊穿變數節點之該集合;針對每一該非擊穿變數節點計算連接至每一該非擊穿變數節點之該等檢查節點的數目,其中該等檢查節點中之每一者僅連接至一該擊穿變數節點;及針對每一該非擊穿變數節點計算連接至該等檢查節點之該等擊穿變數節點的總和,其中該等檢查節點連接至該等非擊穿變數節點。
  2. 如請求項1之自低率碼產生高率碼之方法,其中擊穿碼字組位元之一子集的該步驟包含規則-不規則擊穿碼字組位元之該子集,該方法包含:選擇一具有一所要基礎率之母碼;針對所要率之一集合中的每一率,找出一先前碼中之非擊穿變數節點之集合;計算待擊穿以自一先前率變為一所要率之變數節點的數目;計算α及β,使得一非擊穿集合上之一擊穿圖案形成規則;及在該非擊穿集合上,擊穿一為該α及該β之一函數的圖案,其中計算α及β以使得該非擊穿集合上之一擊穿圖案規則的該步驟使用下式:α=Floor[(rm-1 -pm )/(pm -1)]及 β=rm-1 -α(pm -1)-pm ,其中pm 為待擊穿之變數節點的數目,rm-1 為先前碼C{Rm-1 }中之非擊穿冗餘變數節點之集合的基數,Rm-1 為一先前率,且Floor( )表示一底限函數。
  3. 如請求項1之自低率碼產生高率碼之方法,其中擊穿碼字組位元之一子集的該步驟包含隨機擊穿變數節點。
  4. 如請求項2之自低率碼產生高率碼之方法,其中計算待擊穿以自一先前率變為一所要率之變數節點之數目的該步驟使用下式:pm =Floor(N-(N-C)/Rm -N_tm-1 ),其中pm 為待擊穿之變數節點的數目,Rm 為該所要率,Rm-1 為一先前率,N及C分別為一提昇圖中之變數節點及檢查節點的數目,N_tm-1 為對應於一先前碼C{Rm-1 }之該提昇圖中之該等擊穿變數節點的總數目,且Floor( )表示一底限函數。
  5. 如請求項2之自低率碼產生高率碼之方法,其中在該非擊穿集合上擊穿一為該α及該β之一函數之圖案的該步驟包含使用一圖案[N1 {α節點}N2 {α節點}........Nm {β節點}],其中N1 、N2 、......、Np_m 為基數rm-1 之非擊穿冗餘節點之該集合內之該等擊穿變數節點的索引。
  6. 如請求項3之自低率碼產生高率碼之方法,進一步包含隨機地搜尋碼字組位元之該子集,該方法包含:i)選擇一具有一所要基礎率之母碼;ii)針對所要率之該集合中的每一所要率初始化一信雜 比;iii)找出一具有一先前率之先前碼中之非擊穿變數節點的集合;iv)計算待擊穿以自該先前率變為一所要率之變數節點的數目;v)自非擊穿變數節點之該集合隨機地選擇待擊穿之變數節點的數目;vi)藉由擊穿該所選數目之變數節點,自該先前率建構一碼;vii)執行密度演化,以測試該所建構之碼是否以該初始化信雜比達成一可忽略錯誤;viii)若該所建構之碼以該信雜比達成一可忽略錯誤,則迭代地搜尋該所建構之碼的新信雜比臨限值、將該所建構之碼設定為一贏者碼,且將該信雜比設定為等於一新臨限值;及ix)若該所建構之碼未以該信雜比達成一可忽略錯誤,則藉由重複步驟v至步驟vii來重複該隨機搜尋。
  7. 如請求項6之自低率碼產生高率碼之方法,其中迭代地搜尋該所建構之碼之一新臨限值的該步驟包含:a)迭代地平分該範圍以選擇一測試信雜比;b)判定該測試信雜比是否達成零錯誤;及c)重複步驟a及步驟b,直至達成該信雜比之一所要精確度。
  8. 如請求項1之自低率碼產生高率碼之方法,其中漸進式 地擊穿來自該等非擊穿變數節點之一集合之變數節點的該步驟進一步包含以下一步驟:藉由在此步驟處之該等擊穿變數節點的數目小於該所要率之該等擊穿變數節點的數目時,找出該擊穿變數節點來擊穿。
  9. 如請求項8之自低率碼產生高率碼之方法,其中在此步驟處之該等擊穿變數節點的數目小於該所要率之該等擊穿變數節點的數目時找出該擊穿變數節點的該步驟包含:a)在該等非擊穿變數節點之該集合中找出該等非擊穿變數節點之一第二集合,對於此情形,該等檢查節點之鄰接的數目為一最小值;b)若步驟a之該第二集合中之該等非擊穿變數節點的該數目為1,則將該擊穿變數節點設定為該第二集合中之該節點;c)若步驟a之該第二集合之該等非擊穿變數節點的數目大於1,則執行步驟ci至步驟civ;ci)找出來自步驟a之該等非擊穿變數節點之該第二集合的子集,其中連接至該等檢查節點之擊穿變數節點之該數目的總和為一最小值,其中該等檢查節點連接至該等非擊穿變數節點;cii)若步驟ci之該子集中之該等非擊穿變數節點的該數目為1,則將該等擊穿變數節點設定為步驟ci之該子集中之該單一節點;ciii)若在來自步驟ci之該子集中所找出之該等非擊穿 變數節點的數目大於1,則在來自步驟ci之該子集中的該等非擊穿變數節點中,隨機地選擇該等變數節點;及civ)擊穿該所選變數節點,且自非擊穿變數節點之該集合中移除該經擊穿之所選變數節點。
  10. 如請求項9之自低率碼產生高率碼之方法,其中漸進式地擊穿來自該等非擊穿變數節點之一集合之變數節點的該步驟進一步包含一更新步驟,該更新步驟包含:對於與該等擊穿變數節點鄰接之該等檢查節點中之每一者,更新連接至該等檢查節點之擊穿變數節點的該數目;更新連接至該等非擊穿變數節點之該等檢查節點的數目,其中對於與該檢查節點鄰接之每一該變數節點,該檢查節點僅連接至一該擊穿變數節點;及更新連接至該檢查節點之該等擊穿變數節點的總和,其中對於與該檢查節點鄰接之每一該變數節點,該檢查節點連接至該等非擊穿變數節點。
  11. 如請求項10之自低率碼產生高率碼之方法,其中漸進式地擊穿來自該等非擊穿變數節點之一集合之變數節點的該步驟進一步包含以下一步驟:使僅具有一擊穿變數節點之該等檢查節點與其他擊穿變數節點之間的連接性最大化。
  12. 如請求項11之自低率碼產生高率碼之方法,其中使僅具有一擊穿變數節點之該等檢查節點與其他擊穿變數節點之間的連接性最大化的該步驟包含: 將一擊穿得分初始化為零;改變一亂數種子;計算該所要擊穿碼之該擊穿得分;及若該所要擊穿碼之該擊穿得分大於該先前碼之該擊穿得分,則選擇具有最大擊穿得分之該擊穿圖案。
  13. 一種用於自低率碼產生高率碼之構件,其包含:用於擊穿碼字組位元之一子集的構件;其中該等低率碼為母碼;其中用於擊穿碼字組位元之一子集的該構件包含:用於以漸進式節點擊穿變數節點以自一先前碼獲得一所要碼之構件;其中藉由以下步驟來產生該等母碼:用於複製一基礎圖之構件;用於在該基礎圖之複本中交換一同一類型之邊緣的端點以產生一交換圖之構件;及用於修剪該交換圖中之系統輸入節點及與其連接之該等邊緣之構件;其中用於以漸進式節點擊穿變數節點以自一先前碼獲得一所要碼之該構件包含:用於漸進式地擊穿來自基數rm-1 之該等非擊穿變數節點之一集合之該等變數節點的構件,其中rm-1 為一先前碼中之非擊穿冗餘變數節點之該集合中之成員的數目,且其中可擊穿該先前碼之非擊穿冗餘變數節點以產生具有一所要率之碼; 其中用於漸進式地擊穿來自該等非擊穿變數節點之一集合之變數節點的該構件包含用於藉由以下構件來初始化的構件:用於針對連接至至少一該變數節點之每一檢查節點而計算連接至該等檢查節點之該等擊穿變數節點之數目的構件,其中該等檢查節點中之每一者僅連接至一該擊穿變數節點;用於找出該等非擊穿變數節點之該集合的構件;用於針對每一該非擊穿變數節點計算連接至每一該非擊穿變數節點之該等檢查節點之數目的構件,其中該等檢查節點中之每一者僅連接至一該擊穿變數節點;及用於針對每一該非擊穿變數節點計算連接至該等檢查節點之該等擊穿變數節點之總和的構件,其中該等檢查節點連接至該等非擊穿變數節點。
  14. 如請求項13之用於自低率碼產生高率碼之構件,其中用於擊穿碼字組位元之一子集的該構件包含用於規則-不規則擊穿碼字組位元之該子集的構件,該構件包含:用於選擇一具有一所要基礎率之母碼的構件;用於針對所要率之一集合中的每一率找出一先前碼中之非擊穿變數節點之一集合的構件;用於計算待擊穿以自一先前率變為一所要率之變數節點之數目的構件;用於計算α及β以使得一非擊穿集合上之一擊穿圖案規則的構件;及 用於在該非擊穿集合上擊穿一為該α及該β之一函數之圖案的構件,其中用於計算α及β以使得該非擊穿集合上之一擊穿圖案規則的該構件使用下式:α=Floor[(tm-1 -pm )/(pm -1)];及β=rm-1 -α(pm -1)-pm ,其中pm 為待擊穿之變數節點的數目,rm-1 為先前碼C{Rm-1 }中之非擊穿冗餘變數節點之該集合的基數,Rm-1 為一先前率,且Floor( )表示一底限函數。
  15. 如請求項13之用於自低率碼產生高率碼之構件,其中用於擊穿碼字組位元之一子集的該構件包含用於隨機擊穿變數節點之構件。
  16. 如請求項14之用於自低率碼產生高率碼之構件,其中用於計算待擊穿以自一先前率變為一所要率之變數節點之數目的該構件使用下式:pm =Floor(N-(N-C)/Rm -N_tm-1 ),其中pm 為待擊穿之變數節點的數目,Rm 為該所要率,Rm-1 為一先前率,N及C分別為一提昇圖中之變數節點及檢查節點的數目,N_tm-1 為對應於一先前碼C{Rm-1 }之該提昇圖中之該等擊穿變數節點的總數目,且Floor( )表示一底限函數。
  17. 如請求項14之用於自低率碼產生高率碼之構件,其中用於在該非擊穿集合上擊穿一為該α及該β之一函數之圖案的該構件包含用於使用一圖案[N1 {α節點}N2 {α節 點}........Nm {β節點}]的構件,其中N1 、N2 、......、Np_m 為基數rm-1 之非擊穿冗餘節點之該集合內之該等擊穿變數節點的索引。
  18. 如請求項15之用於自低率碼產生高率碼之構件,其進一步包含用於隨機地搜尋碼字組位元之該子集的構件,該構件包含:i)用於選擇一具有一所要基礎率之母碼的構件;ii)用於針對所要率之該集合中之每一所要率初始化一信雜比的構件;iii)用於找出一具有一先前率之先前碼中之非擊穿變數節點之一集合的構件;iv)用於計算待擊穿以自該先前率變為一所要率之變數節點之數目的構件;v)用於自非擊穿變數節點之該集合隨機地選擇待擊穿之變數節點之該數目的構件;vi)用於藉由擊穿該所選數目之變數節點而自該先前率建構一碼的構件;vii)用於執行密度演化以測試該所建構之碼是否以該初始化信雜比達成一可忽略錯誤的構件;viii)用於在該所建構之碼以該信雜比達成一可忽略錯誤時,迭代地搜尋該所建構之碼之一新信雜比臨限值、將該所建構之碼設定為一贏者碼,且將該信雜比設定為等於一新臨限值的構件;及ix)用於在該所建構之碼未以該信雜比達成一可忽略錯 誤時,藉由重複步驟v至步驟vii來重複該隨機搜尋的構件。
  19. 如請求項18之用於自低率碼產生高率碼之構件,其中用於迭代地搜尋該所建構之碼之一新臨限值的該構件包含:a)用於迭代地平分該範圍以選擇一測試信雜比的構件;b)用於判定該測試信雜比是否達成零錯誤的構件;及c)用於重複構件a及構件b直至達成該信雜比之一所要精確度的構件。
  20. 如請求項13之用於自低率碼產生高率碼之構件,其中用於漸進式地擊穿來自該等非擊穿變數節點之一集合之變數節點的該構件進一步包含一用於藉由在此步驟處之該等擊穿變數節點的數目小於該所要率之該等擊穿變數節點的數目時找出該擊穿變數節點來擊穿的構件。
  21. 如請求項20之用於自低率碼產生高率碼之構件,其中用於在此步驟處之該等擊穿變數節點的數目小於該所要率之該等擊穿變數節點的數目時找出該擊穿變數節點的該構件包含:a)用於在該等非擊穿變數節點之該集合中找出該等非擊穿變數節點之該數目之一第二集合的構件,對於此情形,該等檢查節點之鄰接的數目為一最小值;b)用於在構件a之該第二集合中之該等非擊穿變數節點的該數目為1時將該擊穿變數節點設定為該第二集合中 之該節點的構件;c)用於在構件a之該第二集合中之該等非擊穿變數節點的數目大於1時執行構件ci至構件civ的構件;ci)用於找出來自構件a之該等非擊穿變數節點之該第二集合之子集的構件,其中連接至該等檢查節點之擊穿變數節點之該數目的總和為一最小值,其中該等檢查節點連接至該等非擊穿變數節點;cii)用於在來自構件ci之該子集中的該等非擊穿變數節點之數目為1時將該等擊穿變數節點設定為構件ci中之該子集中之該單一節點的構件;ciii)用於在來自構件ci之該子集中所找出之該等非擊穿變數節點的數目大於1時從來自構件ci之該等非擊穿變數節點中隨機地選擇該等變數節點的構件;及civ)用於擊穿該所選變數節點之構件及用於自非擊穿變數節點之該集合中移除該經擊穿之所選變數節點的構件。
  22. 如請求項21之用於自低率碼產生高率碼之構件,其中用於漸進式地擊穿來自該等非擊穿變數節點之一集合之變數節點的該構件進一步包含一用於更新之構件,該構件包含:用於對於與該等擊穿變數節點鄰接之該等檢查節點中之每一者更新連接至該等檢查節點之擊穿變數節點之該數目的構件;用於更新連接至該等非擊穿變數節點之該等檢查節點 之數目的構件,其中對於與該檢查節點鄰接之每一該變數節點,該檢查節點僅連接至一該擊穿變數節點;及用於更新連接至該檢查節點之該等擊穿變數節點之總和的構件,其中對於與該檢查節點鄰接之每一該變數節點,該檢查節點連接至該等非擊穿變數節點。
  23. 如請求項22之用於自低率碼產生高率碼之構件,其中用於漸進式地擊穿來自該等非擊穿變數節點之一集合之變數節點的該構件進一步包含一用於使僅具有一擊穿變數節點之該等檢查節點與其他擊穿變數節點之間的連接性最大化的構件。
  24. 如請求項23之用於自低率碼產生高率碼之構件,其中用於使僅具有一擊穿變數節點之該等檢查節點與其他擊穿變數節點之間的連接性最大化的該構件包含:用於將一擊穿得分初始化為零的構件;用於改變一亂數種子的構件;用於計算該所要擊穿碼之該擊穿得分的構件;及用於在該所要擊穿碼之該擊穿得分大於該先前碼之該擊穿得分時選擇具有最大擊穿得分之該擊穿圖案的構件。
  25. 一種自低率碼產生高率碼之編碼器,其包含:一記憶體,其中該編碼器適應於執行該記憶體中所儲存之指令,該等指令包含:擊穿碼字組位元之一子集;其中該等低率碼為母碼; 其中用以擊穿碼字組位元之一子集的該指令包含:以漸進式節點擊穿變數節點以自一先前碼獲得一所要碼;其中藉由執行以下指令來產生該等母碼:複製一基礎圖;在該基礎圖之複本中交換一同一類型之邊緣的端點,以產生一交換圖;及修剪該交換圖中之系統輸入節點及與其連接之該等邊緣;其中用以以漸進式節點擊穿變數節點以自一先前碼獲得一所要碼之該指令包含:漸進式地擊穿來自基數rm-1 之該等非擊穿變數節點之一集合的該等變數節點,其中rm-1 為一先前碼中之非擊穿冗餘變數節點之該集合中之成員的數目,且其中可擊穿該先前碼之非擊穿冗餘變數節點以得到具有一所要率之碼;其中用以漸進式地擊穿來自該等非擊穿變數節點之一集合之變數節點的該指令包含一用以藉由以下步驟來初始化的指令:針對連接至至少一該變數節點之每一檢查節點計算連接至該等檢查節點之該等擊穿變數節點的數目,其中該等檢查節點中之每一者僅連接至一該擊穿變數節點;找出該等非擊穿變數節點之該集合;針對每一該非擊穿變數節點計算連接至每一該非擊 穿變數節點之該等檢查節點的數目,其中該等檢查節點中之每一者僅連接至一該擊穿變數節點;及針對每一該非擊穿變數節點計算連接至該等檢查節點之該等擊穿變數節點的總和,其中該等檢查節點連接至該等非擊穿變數節點。
  26. 如請求項25之自低率碼產生高率碼之編碼器,其中用以擊穿碼字組位元之一子集的該指令包含規則-不規則擊穿碼字組位元之該子集,該指令包含:選擇一具有一所要基礎率之母碼;針對所要率之一集合中之每一率找出一先前碼中之非擊穿變數節點的集合;計算待擊穿以自一先前率變為一所要率之變數節點的數目;計算α及β,使得一非擊穿集合上之一擊穿圖案規則;及在該非擊穿集合上擊穿一為該α及該β之一函數的圖案,其中用以計算α及β以使得該非擊穿集合上之一擊穿圖案規則的該指令使用下式:α=Floor[(rm-1 -pm )/(pm -1)];及β=rm-1 -α(pm -1)-pm ,其中pm 為待擊穿之變數節點的數目,rm-1 為先前碼C{Rm-1 }中之非擊穿冗餘變數節點之該集合的基數,Rm-1 為一先前率,且Floor( )表示一底限函數。
  27. 如請求項25之自低率碼產生高率碼之編碼器,其中用以擊穿碼字組位元之一子集的該指令包含隨機地擊穿變數節點。
  28. 如請求項26之自低率碼產生高率碼之編碼器,其中用以計算待擊穿以自一先前率變為一所要率之變數節點之數目的該指令使用下式:pm =Floor(N-(N-C)/Rm -N_tm-1 ),其中pm 為待擊穿之變數節點的數目,Rm 為該所要率,Rm-1 為一先前率,N及C分別為一提昇圖中之變數節點及檢查節點的數目,N_tm-1 為對應於一先前碼C{Rm-1 }之該提昇圖中之該等擊穿變數節點的總數目,且Floor( )表示一底限函數。
  29. 如請求項26之自低率碼產生高率碼之編碼器,其中用以在該非擊穿集合上擊穿一為該α及該β之一函數之圖案的該指令包含使用一圖案[N1 {α節點}N2 {α節點}........Nm {β節點}],其中N1 、N2 、......、Np_m 為基數rm-1 之非擊穿冗餘節點之該集合內之該等擊穿變數節點的索引。
  30. 如請求項27之自低率碼產生高率碼之編碼器,進一步包含一用以隨機地搜尋碼字組位元之該子集的指令,該指令包含:i)選擇一具有一所要基礎率之母碼;ii)針對所要率之該集合中之每一所要率而初始化一信雜比;iii)找出一具有一先前率之先前碼中之非擊穿變數節點 的集合;iv)計算待擊穿以自該先前率變為一所要率之變數節點的數目;v)自非擊穿變數節點之該集合隨機地選擇待擊穿之變數節點的數目;vi)藉由擊穿該所選數目之變數節點而自該先前率建構一碼;vii)執行密度演化,以測試該所建構之碼是否以該初始化信雜比達成一可忽略錯誤;viii)若該所建構之碼以該信雜比達成一可忽略錯誤,則迭代地搜尋該所建構之碼之一新信雜比臨限值、將該所建構之碼設定為一贏者碼,且將該信雜比設定為等於一新臨限值;及ix)若該所建構之碼未以該信雜比達成一可忽略錯誤,則藉由重複步驟v至步驟vii來重複該隨機搜尋。
  31. 如請求項30之自低率碼產生高率碼之編碼器,其中用以迭代地搜尋該所建構之碼之一新臨限值的該指令包含:a)迭代地平分該範圍以選擇一測試信雜比;b)判定該測試信雜比是否達成零錯誤;及c)重複步驟a及步驟b,直至達成該信雜比之一所要精確度。
  32. 如請求項25之自低率碼產生高率碼之編碼器,其中用以漸進式地擊穿來自該等非擊穿變數節點之一集合之變數節點的該指令進一步包含一用以藉由在此指令處之該等 擊穿變數節點的數目小於該所要率之該等擊穿變數節點的數目時找出該擊穿變數節點來擊穿的指令。
  33. 如請求項32之自低率碼產生高率碼之編碼器,其中用以在此指令處之該等擊穿變數節點的數目小於該所要率之該等擊穿變數節點的數目時找出該擊穿變數節點的該指令包含:a)在該等非擊穿變數節點之該集合中找出該等非擊穿變數節點之一第二集合,對於此情形,該等檢查節點之鄰接的數目為一最小值;b)若步驟a之該第二集合中之該等非擊穿變數節點的該數目為1,則將該擊穿變數節點設定為該第二集合中之該節點;c)若步驟a之該第二集合之該等非擊穿變數節點的數目大於1,則執行指令ci至指令civ;ci)找出來自指令a之該等非擊穿變數節點之該第二集合的子集,其中連接至該等檢查節點之擊穿變數節點之該數目的總和為一最小值,其中該等檢查節點連接至該等非擊穿變數節點;cii)若來自指令ci之該子集中的該等非擊穿變數節點之數目為1,則將該等擊穿變數節點設定為步驟ci之該子集中之該單一節點;ciii)若在來自指令ci之該子集中所找出之該等非擊穿變數節點的數目大於1,則在來自指令ci之該子集中的該等非擊穿變數節點中隨機地選擇該等變數節點;及 civ)擊穿該所選變數節點且自非擊穿變數節點之該集合中移除該經擊穿之所選變數節點。
  34. 如請求項33之自低率碼產生高率碼之編碼器,其中用以漸進式地擊穿來自該等非擊穿變數節點之一集合之變數節點的該指令進一步包含一用以更新之指令,該指令包含:對於與該等擊穿變數節點鄰接之該等檢查節點中之每一者,更新連接至該等檢查節點之擊穿變數節點的該數目;更新連接至該等非擊穿變數節點之該等檢查節點的數目,其中對於與該檢查節點鄰接之每一該變數節點,該檢查節點僅連接至一該擊穿變數節點;及更新連接至該檢查節點之該等擊穿變數節點之總和,其中對於與該檢查節點鄰接之每一該變數節點,該檢查節點連接至該等非擊穿變數節點。
  35. 如請求項34之自低率碼產生高率碼之編碼器,其中用以漸進式地擊穿來自該等非擊穿變數節點之一集合之變數節點的該指令進一步包含一用以使僅具有一擊穿變數節點之該等檢查節點與其他擊穿變數節點之間的連接性最大化的指令。
  36. 如請求項35之自低率碼產生高率碼之編碼器,其中用以使僅具有一擊穿變數節點之該等檢查節點與其他擊穿變數節點之間的連接性最大化的該指令包含:將一擊穿得分初始化為零; 改變一亂數種子;計算該所要擊穿碼之該擊穿得分;及若該所要擊穿碼之該擊穿得分大於該先前碼之該擊穿得分,則選擇具有最大擊穿得分之該擊穿圖案。
  37. 一種自低率碼產生高率碼之存取終端機,其包含:一傳輸器;一可操作地連接至該傳輸器之接收器;一可操作地連接至該傳輸器及該接收器之處理器;一可操作地連接至該傳輸器及該接收器之天線;及一可操作地連接至該處理器之記憶體,其中該存取終端機適應於執行該記憶體中所儲存之軟體指令,該等軟體指令包含:擊穿碼字組位元之一子集;其中該等低率碼為母碼;其中用以擊穿碼字組位元之一子集的該指令包含:以漸進式節點擊穿變數節點以自一先前碼獲得一所要碼;其中藉由以下指令來產生該等母碼:複製一基礎圖;在該基礎圖之複本中交換一同一類型之邊緣的端點以產生一交換圖;及修剪該交換圖中之系統輸入節點及與其連接之該等邊緣;其中用以以漸進式節點擊穿變數節點以自一先前碼獲 得一所要碼之該指令包含:漸進式地擊穿來自基數rm-1 之該等非擊穿變數節點之一集合的該等變數節點,其中rm-1 為一先前碼中之非擊穿冗餘變數節點之該集合中之成員的數目,且其中可擊穿該先前碼之非擊穿冗餘變數節點以得到具有一所要率之碼;其中用以漸進式地擊穿來自該等非擊穿變數節點之一集合之變數節點的該指令包含一用以藉由以下步驟來初始化的指令:針對連接至至少一該變數節點之每一檢查節點計算連接至該等檢查節點之該等擊穿變數節點的數目,其中該等檢查節點中之每一者僅連接至一該擊穿變數節點;找出該等非擊穿變數節點之該集合;針對每一該非擊穿變數節點計算連接至每一該非擊穿變數節點之該等檢查節點的數目,其中該等檢查節點中之每一者僅連接至一該擊穿變數節點;及針對每一該非擊穿變數節點而計算連接至該等檢查節點之該等擊穿變數節點的總和,其中該等檢查節點連接至該等非擊穿變數節點。
  38. 如請求項37之自低率碼產生高率碼之存取終端機,其中用以擊穿碼字組位元之一子集的該指令包含規則-不規則擊穿碼字組位元之該子集,該指令包含:選擇一具有一所要基礎率之母碼;針對所要率之一集合中之每一率找出一先前碼中之非 擊穿變數節點的集合;計算待擊穿以自一先前率變為一所要率之變數節點的數目;計算α及β,使得一非擊穿集合上之一擊穿圖案規則;及在該非擊穿集合上擊穿一為該α及該β之一函數的圖案,其中用以計算α及β以使得該非擊穿集合上之一擊穿圖案規則的該指令使用下式:α=Floor[(rm-1 -pm )/(pm -1)];及β=rm-1- α(pm -1)-pm ,其中pm 為待擊穿之變數節點的數目,rm-1 為先前碼C{Rm-1 }中之非擊穿冗餘變數節點之該集合的基數,Rm-1 為一先前率,且Floor( )表示一底限函數。
  39. 如請求項37之自低率碼產生高率碼之存取終端機,其中用以擊穿碼字組位元之一子集的該指令包含隨機地擊穿變數節點。
  40. 如請求項38之自低率碼產生高率碼之存取終端機,其中用以計算待擊穿以自一先前率變為一所要率之變數節點之數目的該指令使用下式:pm =Floor(N-(N-C)/Rm -N_tm-1 ,其中pm 為待擊穿之變數節點的數目,Rm 為該所要率,Rm-1 為一先前率,N及C分別為一提昇圖中之變數節點及檢查節點的數目,N_tm-1 為對應於一先前碼C{Rm-1 }之該 提昇圖中之該等擊穿變數節點的總數目,且Floor( )表示一底限函數。
  41. 如請求項38之自低率碼產生高率碼之存取終端機,其中用以在該非擊穿集合上擊穿一為該α及該β之一函數之圖案的該指令包含使用一圖案[N1 {α節點}N2 {α節點}........Nm {β節點}],其中N1 、N2 、......、NP_m 為基數rm-1 之非擊穿冗餘節點之該集合內之該等擊穿變數節點的索引。
  42. 如請求項39之自低率碼產生高率碼之存取終端機,其進一步包含一用以隨機地搜尋碼字組位元之該子集的指令,該指令包含:i)選擇一具有一所要基礎率之母碼;ii)針對所要率之該集合中的每一所要率而初始化一信雜比;iii)找出一具有一先前率之先前碼中之非擊穿變數節點的集合;iv)計算待擊穿以自該先前率變為一所要率之變數節點的數目;v)自非擊穿變數節點之該集合隨機地選擇待擊穿之變數節點的數目;vi)藉由擊穿該所選數目之變數節點,自該先前率建構一碼;vii)執行密度演化以測試該所建構之碼是否以該初始化信雜比達成一可忽略錯誤; viii)若該所建構之碼以該信雜比達成一可忽略錯誤,則迭代地搜尋該所建構之碼之一新信雜比臨限值、將該所建構之碼設定為一贏者碼,且將該信雜比設定為等於一新臨限值;及ix)若該所建構之碼未以該信雜比達成一可忽略錯誤,則藉由重複步驟v至步驟vii來重複該隨機搜尋。
  43. 如請求項42之自低率碼產生高率碼之存取終端機,其中用以迭代地搜尋該所建構之碼之一新臨限值的該指令包含:a)迭代地平分該範圍以選擇一測試信雜比;b)判定該測試信雜比是否達成零錯誤;及c)重複步驟a及步驟b,直至達成該信雜比之一所要精確度。
  44. 如請求項37之自低率碼產生高率碼之存取終端機,其中用以漸進式地擊穿來自該等非擊穿變數節點之一集合之變數節點的該指令進一步包含一用以藉由在此指令處之該等擊穿變數節點的數目小於該所要率之該等擊穿變數節點的數目時找出該擊穿變數節點來擊穿的指令。
  45. 如請求項44之自低率碼產生高率碼之存取終端機,其中用以在此指令處之該等擊穿變數節點的數目小於該所要率之該等擊穿變數節點的數目時找出該擊穿變數節點的該指令包含:a)在該等非擊穿變數節點之該集合中找出該等非擊穿變數節點之一第二集合,對於此情形,該等檢查節點之 鄰接的數目為一最小值;b)若步驟a之該第二集合中之該等非擊穿變數節點的該數目為1,則將該擊穿變數節點設定為該第二集合中之該節點;c)若步驟a之該第二集合之該等非擊穿變數節點的數目大於1,則執行指令ci至指令civ;ci)找出來自指令a之該等非擊穿變數節點之該第二集合的一子集,其中連接至該等檢查節點之擊穿變數節點之該數目的總和為一最小值,其中該等檢查節點連接至該等非擊穿變數節點;cii)若來自指令ci之該子集中的該等非擊穿變數節點之數目為1,則將該等擊穿變數節點設定為步驟ci之該子集中之該單一節點;ciii)若在來自指令ci之該子集中所找出之該等非擊穿變數節點的數目大於1,則在來自指令ci之該子集中的該等非擊穿變數節點中隨機地選擇該等變數節點;及civ)擊穿該所選變數節點,且自非擊穿變數節點之該集合中移除該經擊穿之所選變數節點。
  46. 如請求項45之自低率碼產生高率碼之存取終端機,其中用以漸進式地擊穿來自該等非擊穿變數節點之一集合之變數節點的該指令進一步包含一用以更新之指令,該指令包含:對於與該等擊穿變數節點鄰接之該等檢查節點中之每一者,更新連接至該等檢查節點之擊穿變數節點的該數 目;更新連接至該等非擊穿變數節點之該等檢查節點的數目,其中對於與該檢查節點鄰接之每一該變數節點,該檢查節點僅連接至一該擊穿變數節點;及更新連接至該檢查節點之該等擊穿變數節點之總和,其中對於與該檢查節點鄰接之每一該變數節點,該檢查節點連接至該等非擊穿變數節點。
  47. 如請求項46之自低率碼產生高率碼之存取終端機,其中用以漸進式地擊穿來自該等非擊穿變數節點之一集合之變數節點的該指令進一步包含一用以使僅具有一擊穿變數節點之該等檢查節點與其他擊穿變數節點之間的連接性最大化的指令。
  48. 如請求項47之自低率碼產生高率碼之存取終端機,其中用以使僅具有一擊穿變數節點之該等檢查節點與其他擊穿變數節點之間的連接性最大化的該指令包含:將一擊穿得分初始化為零;改變一亂數種子;計算該所要擊穿碼之該擊穿得分;及若該所要擊穿碼之該擊穿得分大於該先前碼之該擊穿得分,則選擇具有最大擊穿得分之該擊穿圖案。
TW100106590A 2006-01-06 2007-01-05 提供用於高流量應用之混合自動請求率相容碼之系統及方法 TWI406530B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US75675806P 2006-01-06 2006-01-06
US11/480,597 US8132072B2 (en) 2006-01-06 2006-07-03 System and method for providing H-ARQ rate compatible codes for high throughput applications

Publications (2)

Publication Number Publication Date
TW201126961A TW201126961A (en) 2011-08-01
TWI406530B true TWI406530B (zh) 2013-08-21

Family

ID=37834144

Family Applications (2)

Application Number Title Priority Date Filing Date
TW100106590A TWI406530B (zh) 2006-01-06 2007-01-05 提供用於高流量應用之混合自動請求率相容碼之系統及方法
TW096100626A TWI379523B (en) 2006-01-06 2007-01-05 System and method for providing h-arq rate compatible codes for high throughput applications

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW096100626A TWI379523B (en) 2006-01-06 2007-01-05 System and method for providing h-arq rate compatible codes for high throughput applications

Country Status (7)

Country Link
US (2) US8132072B2 (zh)
EP (4) EP2323264A1 (zh)
JP (3) JP5318583B2 (zh)
KR (4) KR101004584B1 (zh)
ES (1) ES2390489T3 (zh)
TW (2) TWI406530B (zh)
WO (1) WO2007082191A2 (zh)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8132072B2 (en) * 2006-01-06 2012-03-06 Qualcomm Incorporated System and method for providing H-ARQ rate compatible codes for high throughput applications
US20110173509A1 (en) * 2006-09-18 2011-07-14 Availink, Inc. Bit mapping scheme for an ldpc coded 16apsk system
US8369448B2 (en) * 2006-09-18 2013-02-05 Availink, Inc. Bit mapping scheme for an LDPC coded 32APSK system
US8892979B2 (en) 2006-10-26 2014-11-18 Qualcomm Incorporated Coding schemes for wireless communication transmissions
US8453030B2 (en) * 2006-10-26 2013-05-28 Qualcomm Incorporated Coding schemes for wireless communication transmissions
WO2008142683A2 (en) * 2007-05-21 2008-11-27 Ramot At Tel Aviv University Ltd. Memory-efficient ldpc decoding
US8117523B2 (en) * 2007-05-23 2012-02-14 California Institute Of Technology Rate-compatible protograph LDPC code families with linear minimum distance
US8347162B2 (en) * 2008-05-07 2013-01-01 Nec Laboratories America, Inc. Cognitive radio, anti-jamming coding retransmission methods and systems
US20090319860A1 (en) * 2008-06-23 2009-12-24 Ramot At Tel Aviv University Ltd. Overcoming ldpc trapping sets by decoder reset
US8370711B2 (en) 2008-06-23 2013-02-05 Ramot At Tel Aviv University Ltd. Interruption criteria for block decoding
US8726137B2 (en) * 2009-02-02 2014-05-13 Telefonaktiebolaget L M Ericsson (Publ) Encoding and decoding methods for expurgated convolutional codes and convolutional turbo codes
EP2244387A1 (en) * 2009-04-23 2010-10-27 Georgia Tech Research Corporation Method and transmitter for use in secure communication using error correction codes
US8386904B2 (en) * 2009-04-29 2013-02-26 Adeptence, Llc High speed low density parity check codes encoding and decoding
US8352846B2 (en) * 2009-05-07 2013-01-08 Adeptence, Llc Method an apparatus for low density parity check codes encoding and decoding
US8495450B2 (en) * 2009-08-24 2013-07-23 Samsung Electronics Co., Ltd. System and method for structured LDPC code family with fixed code length and no puncturing
US8560911B2 (en) * 2009-09-14 2013-10-15 Samsung Electronics Co., Ltd. System and method for structured LDPC code family
US8971261B2 (en) 2010-06-02 2015-03-03 Samsung Electronics Co., Ltd. Method and system for transmitting channel state information in wireless communication systems
US8732565B2 (en) 2010-06-14 2014-05-20 Samsung Electronics Co., Ltd. Method and apparatus for parallel processing in a gigabit LDPC decoder
US8689083B2 (en) * 2010-06-15 2014-04-01 California Institute Of Technology Rate-compatible protograph LDPC codes
KR101798181B1 (ko) 2010-08-05 2017-11-17 삼성전자주식회사 셔터 장치 및 그를 구비한 이미지 캡쳐 장치
US9634693B2 (en) 2010-08-12 2017-04-25 Samsung Electronics Co., Ltd Apparatus and method for decoding LDPC codes in a communications system
US8650456B2 (en) 2010-09-08 2014-02-11 Marvell World Trade Ltd. Decoder based data recovery
KR101113434B1 (ko) * 2010-10-29 2012-02-24 성균관대학교산학협력단 부호율-적응 저밀도 패리티 코드를 이용한 부호화 및 복호화 방법 및 이러한 방법을 사용하는 부호화기 및 복호화기
US8499218B2 (en) * 2011-09-30 2013-07-30 Mitsubishi Electric Research Laboratories, Inc. System and method for determining quasi-cyclic low-density parity-check codes having high girth
US8832520B2 (en) 2011-11-29 2014-09-09 California Institute Of Technology High order modulation protograph codes
WO2013081583A1 (en) * 2011-11-29 2013-06-06 California Institute Of Technology High order modulation protograph codes
JP5696068B2 (ja) * 2012-02-23 2015-04-08 株式会社東芝 符号化装置及び通信装置
US9083383B1 (en) * 2013-01-29 2015-07-14 Xilinx, Inc. Parity check matrix
US9203440B1 (en) 2013-01-29 2015-12-01 Xilinx, Inc. Matrix expansion
WO2014127140A1 (en) 2013-02-13 2014-08-21 Qualcomm Incorporated Design for lifted ldpc codes having high parallelism, low error floor, and simple encoding principle
CN106462504B (zh) 2013-10-21 2023-09-01 Flc环球有限公司 最终级高速缓存系统和对应的方法
US11822474B2 (en) 2013-10-21 2023-11-21 Flc Global, Ltd Storage system and method for accessing same
US10097204B1 (en) * 2014-04-21 2018-10-09 Marvell International Ltd. Low-density parity-check codes for WiFi networks
JP5749784B2 (ja) * 2013-11-21 2015-07-15 日本電信電話株式会社 誤り訂正符号方法
US20150278729A1 (en) * 2014-03-28 2015-10-01 International Business Machines Corporation Cognitive scoring of asset risk based on predictive propagation of security-related events
KR102191303B1 (ko) 2014-04-17 2020-12-15 삼성전자 주식회사 부호어를 생성하는 방법 및 장치 그리고 부호어를 복원하는 방법 및 장치
WO2015168609A1 (en) 2014-05-02 2015-11-05 Marvell World Trade Ltd. Caching systems and methods for hard disk drives and hybrid drives
CN104158550A (zh) * 2014-08-26 2014-11-19 重庆邮电大学 一种基于深空通信环境的码率兼容原模图ldpc码构造方法
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
US11955988B2 (en) * 2015-12-28 2024-04-09 Vivek Sathyanarayana Nittoor System and method for generation of error-correcting codes in communication systems
US10644839B2 (en) * 2016-01-15 2020-05-05 Avago Technologies International Sales Pte. Limited Codeword puncturing for varying code rates
US10432232B2 (en) 2016-03-04 2019-10-01 Sandisk Technologies Llc Multi-type parity bit generation for encoding and decoding
US10725860B2 (en) 2016-03-04 2020-07-28 Sandisk Technologies Llc Storage system and method for handling a burst of errors
US11043966B2 (en) 2016-05-11 2021-06-22 Qualcomm Incorporated Methods and apparatus for efficiently generating multiple lifted low-density parity-check (LDPC) codes
US10454499B2 (en) * 2016-05-12 2019-10-22 Qualcomm Incorporated Enhanced puncturing and low-density parity-check (LDPC) code structure
US10313057B2 (en) 2016-06-01 2019-06-04 Qualcomm Incorporated Error detection in wireless communications using sectional redundancy check information
US9917675B2 (en) 2016-06-01 2018-03-13 Qualcomm Incorporated Enhanced polar code constructions by strategic placement of CRC bits
US10469104B2 (en) 2016-06-14 2019-11-05 Qualcomm Incorporated Methods and apparatus for compactly describing lifted low-density parity-check (LDPC) codes
JP6798754B2 (ja) 2016-07-20 2020-12-09 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 低密度パリティ検査符号の基底行列を生成するための方法及び装置
US20210281359A1 (en) 2016-07-27 2021-09-09 Qualcomm Incorporated Design of hybrid automatic repeat request (harq) feedback bits for polar codes
US10511328B2 (en) * 2016-11-04 2019-12-17 Qualcomm Incorporated Efficient list decoding of LDPC codes
CN110249565B (zh) 2016-11-23 2022-04-15 弗劳恩霍夫应用研究促进协会 接收器、发送器、通信网络系统及改善通信网络系统中重发过程的方法
EP3539234B1 (en) * 2016-12-13 2021-03-10 Huawei Technologies Co., Ltd. Devices and methods for generating a low density parity check code for a incremental redundancy harq communication apparatus
CN108809509B (zh) 2017-05-05 2021-01-22 电信科学技术研究院 低密度奇偶校验码的基础图选择方法及装置
CN108988869B (zh) * 2017-05-31 2021-07-30 大唐移动通信设备有限公司 一种确定校验矩阵的方法及装置、计算机存储介质
WO2018225885A1 (ko) * 2017-06-09 2018-12-13 엘지전자 주식회사 Sc-ldpc 코드 부호화 방법 및 이를 위한 장치
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
KR102113450B1 (ko) 2017-07-07 2020-05-20 퀄컴 인코포레이티드 저밀도 패리티 체크 코드 베이스 그래프 선택을 적용한 통신 기술
CN107622092B (zh) * 2017-08-24 2019-11-12 河海大学 中国象棋基于多重优化、迭代加深剪枝的搜索方法
JP2019057806A (ja) 2017-09-20 2019-04-11 東芝メモリ株式会社 メモリシステム
CN108964973B (zh) * 2018-05-25 2021-10-29 浙江工业大学 面向Web基于Bigraph替换算法的服务质量监控方法
US10936492B2 (en) 2018-06-18 2021-03-02 FLC Technology Group, Inc. Method and apparatus for using a storage system as main memory
CN112701770B (zh) * 2020-12-10 2022-03-25 珠海格力电器股份有限公司 光伏发电系统及其功率控制方法、装置、介质及处理器
US11949436B2 (en) 2022-08-12 2024-04-02 Qualcomm Incorporated Low-density parity-check coding scheme with varying puncturing pattern

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040153934A1 (en) * 2002-08-20 2004-08-05 Hui Jin Methods and apparatus for encoding LDPC codes
WO2004114526A2 (en) * 2003-06-26 2004-12-29 Nokia Corporation Low-density parity-check codes for multiple code rates
US20050149840A1 (en) * 2003-12-22 2005-07-07 Lee Sang-Hyun Apparatus for encoding and decoding of low-density parity-check codes, and method thereof
EP1596501A1 (en) * 2004-05-12 2005-11-16 Samsung Electronics Co., Ltd. Apparatus and method for encoding and decoding block low density parity check codes with a variable coding rate

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1301995B1 (en) 2000-06-02 2013-04-10 Qualcomm Incorporated Method and apparatus for puncturing code symbols in a communications system
US7702986B2 (en) * 2002-11-18 2010-04-20 Qualcomm Incorporated Rate-compatible LDPC codes
KR100922956B1 (ko) 2003-10-14 2009-10-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 방법
JP4437062B2 (ja) * 2004-08-10 2010-03-24 Kddi株式会社 低密度パリティ検査符号化方法および符号化装置、ならびに復号化装置
KR100703483B1 (ko) 2005-03-04 2007-04-03 삼성전자주식회사 저밀도 패러티 검사 부호의 천공 방법
KR101157246B1 (ko) 2005-05-16 2012-06-15 삼성전자주식회사 저밀도 패리티 검사 부호의 패딩 및 천공 방법
US7343539B2 (en) * 2005-06-24 2008-03-11 The United States Of America As Represented By The United States National Aeronautics And Space Administration ARA type protograph codes
US8132072B2 (en) * 2006-01-06 2012-03-06 Qualcomm Incorporated System and method for providing H-ARQ rate compatible codes for high throughput applications

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040153934A1 (en) * 2002-08-20 2004-08-05 Hui Jin Methods and apparatus for encoding LDPC codes
WO2004114526A2 (en) * 2003-06-26 2004-12-29 Nokia Corporation Low-density parity-check codes for multiple code rates
US20050149840A1 (en) * 2003-12-22 2005-07-07 Lee Sang-Hyun Apparatus for encoding and decoding of low-density parity-check codes, and method thereof
EP1596501A1 (en) * 2004-05-12 2005-11-16 Samsung Electronics Co., Ltd. Apparatus and method for encoding and decoding block low density parity check codes with a variable coding rate
KR20050118056A (ko) * 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Divsalar D. et al., Protograph Based LDPC Codes with Minimum Distance Linearly Growing with Block Size", IEEE Military Communications Conference, 2005. MILCOM 2005, pp.378-385 *

Also Published As

Publication number Publication date
EP2323264A1 (en) 2011-05-18
US20070162815A1 (en) 2007-07-12
EP2326015A1 (en) 2011-05-25
KR20100077039A (ko) 2010-07-06
JP5318583B2 (ja) 2013-10-16
EP2372919B1 (en) 2013-11-27
EP1977524B1 (en) 2012-06-27
KR20100077038A (ko) 2010-07-06
KR20100075657A (ko) 2010-07-02
TW200803187A (en) 2008-01-01
ES2390489T3 (es) 2012-11-13
KR101004584B1 (ko) 2010-12-28
KR101223168B1 (ko) 2013-01-17
WO2007082191A3 (en) 2008-01-03
WO2007082191A2 (en) 2007-07-19
TW201126961A (en) 2011-08-01
KR101217925B1 (ko) 2013-01-02
EP1977524A2 (en) 2008-10-08
EP2372919A1 (en) 2011-10-05
JP2013219779A (ja) 2013-10-24
JP2012090293A (ja) 2012-05-10
US20120166917A1 (en) 2012-06-28
TWI379523B (en) 2012-12-11
US8132072B2 (en) 2012-03-06
KR20080091213A (ko) 2008-10-09
JP2009522961A (ja) 2009-06-11

Similar Documents

Publication Publication Date Title
TWI406530B (zh) 提供用於高流量應用之混合自動請求率相容碼之系統及方法
US8806307B2 (en) Interruption criteria for block decoding
TWI401892B (zh) 在使用低密度同位檢查碼的通訊系統中的通道編碼與解碼的方法及其裝置
US8504895B2 (en) Using damping factors to overcome LDPC trapping sets
US20090319860A1 (en) Overcoming ldpc trapping sets by decoder reset
US20080294960A1 (en) Memory-efficient ldpc decoding
US8429512B2 (en) Reduced complexity LDPC decoder
CN108282259B (zh) 一种编码方法及装置
US9300328B1 (en) Methodology for improved bit-flipping decoder in 1-read and 2-read scenarios
JP2007512741A (ja) 信頼性のないメッセージの交換を取消す信念伝播復号化器
CN1798012A (zh) 基于低密度奇偶校验码的校验式可信度的纠错方法
CN111480324B (zh) 用于检测相互干扰的信息流的装置和方法
KR101554488B1 (ko) 저밀도 패리티 체크 코드의 디코딩 방법 및 장치
WO2020052754A1 (en) Simplified check node processing for ldpc decoding
Abdulkhaleg Design of high performance low latency rateless codes
CN101366184A (zh) 用于高吞吐量应用的h-arq率兼容的低密度奇偶校验

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees