TWI520528B - 增壓碼 - Google Patents

增壓碼 Download PDF

Info

Publication number
TWI520528B
TWI520528B TW102103471A TW102103471A TWI520528B TW I520528 B TWI520528 B TW I520528B TW 102103471 A TW102103471 A TW 102103471A TW 102103471 A TW102103471 A TW 102103471A TW I520528 B TWI520528 B TW I520528B
Authority
TW
Taiwan
Prior art keywords
codewords
encoder
matrix
block
encoding
Prior art date
Application number
TW102103471A
Other languages
English (en)
Other versions
TW201332316A (zh
Inventor
埃里克 斯道佛
沈八中
卓傑 茱客維克
索門 卡翠伯提
黃靖
施 帕拉卡申 謝
卡姆利什 拉思
大衛 加勒特
安德魯 布蘭克斯拜
Original Assignee
美國博通公司
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 美國博通公司 filed Critical 美國博通公司
Publication of TW201332316A publication Critical patent/TW201332316A/zh
Application granted granted Critical
Publication of TWI520528B publication Critical patent/TWI520528B/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
    • H03M13/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block 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/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0042Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block 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/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques

Landscapes

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

Description

增壓碼
本申請總體上涉及對經由擦除通道傳輸的符號的編碼,且更具體地,涉及對經由資料包擦除通道傳輸的資料包的編碼。
資料包擦除通道是一種接收或丟失所發送的資料包且瞭解任何丟失的資料包的位置的通訊通道模型。通常可將網際網路模型化為資料包擦除通道。這是因為由於損壞或堵塞,可能會丟失經由網際網路傳輸的資料包,且可從每個所接收的資料包的報頭或有效載荷內包括的序號中推測出任何丟失的資料包的位置。
根據由資料包流攜帶的資料的類型,丟失的資料包可能降低資料品質或者甚至給予在接收器處不可用的資料。因此,恢復機制通常被用於提供將接收經由擦除通道發送的資料包的某種可靠性水準。例如,重新傳輸機制被用於恢復多個基於資料包的網路中丟失的資料包,但例如在發送器和接收器之間有很大的距離時,或者在通道嚴重受損時,重新傳輸可能造成很長延遲。由於這一和其他原因,使用擦除碼的前向糾錯(FEC)通常代替或結合常規重新傳輸機制來實施。
擦除碼將k個資料包串編碼為較長的n個資料包串,使得在接收器處可從n個資料包的子集中恢復原始的k個資料包串,而無需任何重新傳輸。擦除碼的性能可基於其接收效率和與其編碼和解碼演算法相關的計算複雜性來表徵。擦除碼的接收效率由分數k’/k給出,其中,k’n個資料包的需要接收以恢復原始的 k個資料包串的最小數量。特定擦除碼具有最佳接收效率(即,最高可獲得的接收效率)且可使用所發送的n個資料包中的任何(且僅)k個資料包來恢復原始的k個資料包串。
裡德-所羅門(Reed-Solomon)碼是具有最佳接收效率的MDS碼,但用於實施裡德-所羅門碼的典型編碼和解碼演算法具有很高相關計算的複雜性。具體地,其計算複雜性隨著資料包數量n而增長,且其階(order)為O(nlog(n))。這使得對於許多基於資料包的網路(包括網際網路)而言無法實行純粹的裡德-所羅門解決方案,這些網路支援被分段成多個可能很大的資料包的大檔/流的傳輸。
本發明提供了一種用於對形成消息的輸入符號擦除編碼的方法,包括:基於所述消息來實施分別提供第一組碼字、第二組碼字和第三組碼字的至少三個塊編碼操作;基於所述第一組碼字來實施分別提供第四組碼字和第五組碼字的至少兩個濾波器編碼操作;為所述兩個濾波器編碼操作中的至少一個修改考慮到所述第一組碼字的位元的順序;以及並行連接所述第二組碼字、所述第三組碼字、所述第四組碼字和所述第五組碼字以形成用於經由擦除通道傳輸的編碼符號。
上述方法還包括:在所述第二組碼字和所述第三組碼字與所述第四組碼字和所述第五組碼字並行連接之前,實施分別重複所述第二組碼字和所述第三組碼字一定次數的重複編碼操作。
上述方法中,使用異或運算來並行連接所述第二組碼字、所述第三組碼字、所述第四組碼字和所述第五組碼字。
上述方法還包括:在並行連接所述第二組碼字、所述第三組碼字、所述第四組碼字和所述第五組碼字之前,以無規律方式一起多工所述第四組碼字和所述第五組碼字。
上述方法中,所述塊編碼操作中的提供所述第一組碼字的一 個塊編碼操作實施二進位塊碼。
上述方法中,所述塊編碼操作中的提供所述第二組碼字的一個塊編碼操作在有限域上實施非二進位塊碼。
上述方法中,所述非二進位塊碼為裡德-所羅門塊碼。
上述方法中,所述塊編碼操作中的提供所述第三組碼字的一個塊編碼操作實施二進位塊碼。
上述方法中,所述兩個濾波器編碼操作中的至少一個使用咬尾濾波器。
本發明提供了一種用於對形成消息的輸入符號擦除編碼的編碼器,包括:三個塊編碼模組,被配置為基於所述消息分別提供第一組碼字、第二組碼字和第三組碼字;兩個濾波器編碼模組,被配置為基於所述第一組碼字分別提供第四組碼字和第五組碼字;交織器,被配置成為所述兩個濾波器編碼模組中的至少一個修改考慮到所述第一組碼字的位元的順序;以及連接模組,被配置為並行連接所述第二組碼字、所述第三組碼字、所述第四組碼字和所述第五組碼字以形成用於經由擦除通道傳輸的編碼符號。
上述編碼器還包括:重複編碼模組,被配置為在由所述連接模組將所述第二組碼字和所述第三組碼字與所述第四組碼字和所述第五組碼字並行連接之前,重複所述第二組碼字和所述第三組碼字一定次數。
上述編碼器還包括:多工器,被配置為在由所述連接模組並行連接所述第二組碼字、所述第三組碼字、所述第四組碼字和所述第五組碼字之前,以無規律方式一起多工所述第四組碼字和所述第五組碼字。
上述編碼器中,所述三個塊編碼模組中的被配置為提供所述第二組碼字的一個塊編碼模組在有限域上實施非二進位塊碼。
上述編碼器中,所述非二進位塊碼為裡德-所羅門塊碼。
上述編碼器中,所述兩個濾波器編碼模組中的至少一個包括 咬尾濾波器。
上述編碼器中,所述兩個濾波器編碼模組中的至少一個包括有限脈衝回應(FIR)濾波器。
上述編碼器中,所述連接模組實施異或運算。
上述編碼器中,所述編碼器在桌上型電腦、膝上型電腦、平板電腦、行動電話、機上盒或路由器內實施。
本發明還提供了一種用於對形成消息的輸入符號擦除編碼的編碼器,包括:塊編碼模組,被配置為基於所述消息提供第一組碼字;兩個濾波器編碼模組,其被交織器分離且被配置為基於所述消息分別提供第二組碼字和第三組碼字;以及連接模組,被配置為並行連接所述第一組碼字、所述第二組碼字和所述第三組碼字以形成用於經由擦除通道傳輸的編碼符號。
本發明提供了一種解碼器,包括:處理器;以及記憶體,其中,所述處理器被配置為解碼通過以下方式編碼的符號:基於由所述符號形成的消息來實施塊編碼操作以提供第一組碼字;基於所述消息來實施由交織器分離的至少兩個濾波器編碼操作以提供第二組碼字和第三組碼字;以及連接所述第一組碼字、所述第二組碼字和所述第三組碼字。
為使能更進一步瞭解本創作之特徵及技術內容,請參閱以下有關本發明之詳細說明與附圖,然而所附圖式僅提供參考與說明用,並非用來對本發明加以限制者。
100‧‧‧編碼器
102‧‧‧塊編碼模組
104‧‧‧塊編碼模組
106‧‧‧塊編碼模組
108‧‧‧重複編碼模組
110‧‧‧重複編碼模組
112‧‧‧並行濾波器編碼模組
114‧‧‧異或(XOR)運算
116‧‧‧矩陣X中的位的第一行
118‧‧‧矩陣Y中的位的第一行
120‧‧‧矩陣X中的位的第一列
122‧‧‧矩陣Y中的位的第一列
200‧‧‧並行濾波器編碼模組
202‧‧‧交織器
204‧‧‧交織器
206‧‧‧FIR濾波器
208‧‧‧FIR濾波器
210‧‧‧多工器
300‧‧‧FIR濾波器
302‧‧‧寄存器
304‧‧‧寄存器
306‧‧‧寄存器
308‧‧‧XOR運算
402‧‧‧系統預處理模組
500‧‧‧電腦系統
502‧‧‧通訊基礎設施
504‧‧‧處理器
506‧‧‧主記憶體
508‧‧‧輔助記憶體
510‧‧‧硬碟驅動器
512‧‧‧卸除式存放裝置驅動器
514‧‧‧介面
516‧‧‧卸除式存放裝置單元
518‧‧‧卸除式存放裝置單元
520‧‧‧通訊介面
522‧‧‧通訊通路
圖1示出了根據本公開實施方式的實施增壓碼(supercharged code)的編碼器的示意圖;圖2示出了可由根據本公開實施方式的實施增壓碼的編碼器使用的實例性並行(parallel,並聯)濾波器編碼模組;圖3示出了可由根據本公開實施方式的並行濾波器碼使用的 實例性有限脈衝回應(FIR)濾波器;圖4示出了根據本公開實施方式的除額外的系統預處理模組之外具有與圖1中的編碼器相同的實施的編碼器;圖5示出了可被用於實施本公開的方面的實施例電腦系統的示意圖。
在以下描述中,闡述了多個具體細節以提供對本公開實施方式的徹底理解。然而,對於本領域技術人員而言,顯然無需這些具體細節即可實踐包括結構、系統和方法的實施方式。本文中的描述和表示是本領域有經驗的或技術人員用於將其工作內容最有效地傳達給本領域其他技術人員的常用手段。在其他情況下,未詳細描述眾所周知的方法、程式、部件和電路以避免給本發明的方面造成不必要的模糊。
本說明書中對“一種實施方式”、“實施方式”、“實施例實施方式”等的引用表示所述實施方式可包括具體特徵、結構或特性,但每種實施方式可能不一定包括該具體特徵、結構或特性。此外,這些不一定是指相同的實施方式。此外,當結合實施方式來描述具體特徵、結構或特性時,遵從對結合不論是否明確描述的其他實施方式的該特徵、結構或特性的影響屬於本領域技術人員認識範圍內。
1.概述
本公開針對用於將k個輸入符號編碼成用於經由擦除通道傳輸的較長的n個輸出符號串使得無需任何重新傳輸即可從n個輸出符號的子集中恢復原始的k個輸入符號的系統和方法。符號是由一個或多個位組成的通用資料單元,其可以是例如資料包。本公開的系統和方法利用包括塊碼(block code)和並行濾波器碼的擦除碼網路來實現對於較小和較大值n具有低編碼和解碼計算複 雜性的非常接近於理想MDS碼的性能。該擦除碼網路被稱為增壓碼。
2.增壓碼
2.1.編碼器
圖1示出了根據本公開實施方式的實施增壓碼的編碼器100的框圖。編碼器100可以硬體、軟體或其任何組合來實施以將k個輸入符號的矩陣X編碼成用於經由擦除通道傳輸的較長長度的n個輸出符號的矩陣Y,從而無需任何重新傳輸即可從n個輸出符號的子集中恢復原始的k個輸入符號。
矩陣X中的位的每一行形成k個輸入符號中的不同的一個,且矩陣Y中的每一行形成n個輸出符號中的不同的一個。例如,矩陣X中的位的第一行116形成矩陣X內的k個輸入符號中的第一個,以及矩陣Y中的位的第一行118形成矩陣Y內的n個輸出符號中的第一個。此外,矩陣X中的位的每一列形成所謂的消息,以及矩陣Y中的位的每一相應列形成所謂的消息碼字。例如,矩陣X中的位的第一列120形成一條消息,以及矩陣Y中的位的第一列122形成消息碼字。其後,矩陣X和Y中的位的相應列形成額外的消息和碼字對。
應注意,編碼器100中的每個編碼模組(以下將描述)接收輸入符號/消息的矩陣,並生成與矩陣X和Y相同的上述通用形式的輸出符號/碼字的矩陣。在某些情況下,編碼器100中的編碼模組串聯放置,使得由一個編碼模組生成的輸出符號/碼字的矩陣表示由編碼器100中的另一編碼模組接收到的輸入符號/消息的矩陣。遍及整個以下本公開中,術語輸入符號、輸出符號、消息和碼字以相同方式被用於描述這些矩陣。
如圖1所示,編碼器100由包括塊編碼模組102、104和106、重複編碼模組108和110、以及並行濾波器編碼模組112的編碼模組的網路構成。通常,由塊編碼模組102、104和106生成的輸出 碼字具有資訊性且提供較高接收效率,但卻解碼複雜,而由並行濾波器編碼模組112生成的輸出碼字相對容易解碼,但卻沒有資訊性。因此,編碼器100使用重複編碼模組108和110來分別重複由塊編碼模組102和106生成的較短長度的輸出碼字,且隨後該編碼器使用異或(XOR)運算114(或諸如多工器的某個其他連接模組,或者在非二進位有限域上的XOR運算)將它們與由並行濾波器編碼模組112生成的較長長度的輸出碼字並行連接來產生n個增壓編碼的輸出符號的序列。該編碼模組網路可實現對於較小和較大編碼塊大小(即,對於k的較小和較大值)具有低編碼和解碼計算複雜性的非常接近於理想MDS碼的性能。應注意,在編碼器100的其他實施方式中,可省略兩個塊編碼模組102和106中的一個和/或塊編碼模組104和/或到並行濾波器編碼模組112中的矩陣X的直接輸入。
在編碼器100的一種實施方式中,塊編碼模組102實施二進位線性塊碼,其接受矩陣X中的k個輸入符號作為輸入,並通過線性映射生成n_b1個輸出符號:C_B1=G_B1*X (1)
其中,C_B1為n_b1個輸出符號的矩陣,以及G_B1為n_b1×k生成器矩陣。矩陣X中的位元的每一列形成消息,以及矩陣C_B1中位的每一相應列形成消息碼字。碼字可採用與n_b1個二進位位元的所有可能的組合相對應的2 n_b1 個可能值。然而,由塊編碼模組102實施的二進位線性塊碼使用來自2 n_b1 個可能性中的2 k 個碼字來形成碼,其中,使用生成器矩陣G_B1將每個k位元消息唯一地映射到這些2 k 個碼字中的一個。通常,從2 n_b1 個可能性中選出的提供足夠容易解碼具有用於給定應用程式的足夠的糾錯能力的輸出的2 k 個碼字的任何唯一子集可被用於實施塊編碼模組102。
在編碼器100的另一實施方式中,塊編碼模組104同樣使用二進位線性塊碼,其接受矩陣X中的k個輸入符號作為輸入,並 通過線性映射生成n_b2個輸出符號:C_B2=G_B2*X (2)
其中,C_B2為n_b2個輸出符號的矩陣,以及G_B2為n_b2×k生成器矩陣。矩陣X中的位元的每一列形成消息,以及矩陣C_B2中位的每一相應列形成消息碼字。碼字可採用與n_b2個二進位位元的所有可能組合相對應的2 n_b2 個可能值。然而,由塊編碼模組104實施的二進位線性塊碼使用來自2 n_b2 個可能性的2 k 個碼字來形成碼,其中,使用生成器矩陣G_B2將每個k位元消息唯一地映射到這些2 k 個碼字中的一個。通常,從2 n_b2 個可能性中選出的提供足夠容易解碼具有用於給定應用程式的足夠的糾錯能力的輸出的2 k 個碼字的任何唯一子集可被用於實施塊編碼模組104。
在編碼器100的又一實施方式中,塊編碼模組106實施非系統裡德-所羅門碼,其接受矩陣X中的k個輸入符號作為輸入,並通過線性映射生成n_b3個輸出符號:C_B3=G_B3*X (3)
其中,C_B3為n_b3個輸出符號的矩陣,以及G_B3為n_b3×k范德蒙(Vandermonde)生成器矩陣。可由塊編碼模組106在有限域GF(256)上實施非系統裡德-所羅門碼。應注意,在其他實施方式中,塊編碼模組106可實施其他非二進位塊碼,包括未在有限域上構成的非二進位塊碼。例如,在其他實施方式中,塊編碼模組106可實施系統(與非系統相反)的裡德-所羅門碼或另一類型的迴圈塊碼。
在編碼器100的又一實施方式中,並行濾波器編碼模組112接受矩陣C_B2中的n_b2個符號作為輸入,並使用由至少兩個構成濾波器的並行連接形成的線性塊碼或由交織器分離的卷積碼來生成較長長度n_p的輸出符號的矩陣C_P。至少兩個構成濾波器或卷積碼可相同或不同。
圖2中示出了根據本公開實施方式的實例性並行濾波器編碼 模組200的框圖。如圖所示,並行濾波器編碼模組200包括交織器202和204、有限脈衝回應(FIR)濾波器206和208、以及多工器210。交織器202和204各自接收和處理矩陣C_B2中的消息。交織器202以無規律但規定的方式重新排列矩陣C_B2內的每條消息中位元的順序,以及交織器204以與由交織器202實施的無規律方式不同的無規律但規定的方式重新排列矩陣C_B2內的每條消息中位元的順序。由於FIR濾波器206和208按照各自不同的順序接收矩陣C_B2中的消息的位元,所以甚至在兩個濾波器同樣實施時,由FIR濾波器206生成的矩陣C_F1中的碼字也將幾乎總是與由FIR濾波器208生成的矩陣C_F2中的碼字不同。
應注意,在並行濾波器編碼模組200的其他實施方式中,無需首先交織即可以將矩陣C_B2的消息饋送到FIR濾波器206和208中的一個中。還應注意,可由並行濾波器編碼模組200實施多於兩個的交織器和FIR濾波器。具體地,可將一個或多個額外的交織器和FIR濾波器對添加到並行濾波器編碼模組200中。此外,還應注意,FIR濾波器206和208可被實施為咬尾FIR濾波器,其中,利用其各自最終的狀態將FIR濾波器206和208的狀態初始化以使其咬尾。
通常,良好的線性碼是使用通常高權重碼字(其中,也被稱為其漢明權重的碼字權重簡單地是其包括的碼字數量)的碼,因為這些碼字可更容易被解碼器區分。在所有線性碼具有某些低權重碼字時,應將這些低權重碼字的發生最小化。交織器202和204有助於減少由並行濾波器編碼模組200生成的低權重碼字的數量,其中,由並行濾波器編碼模組200生成的碼字的權重通常是由FIR濾波器206和208生成的相應碼字的權重總和。更具體地,由於交織器202和204已用不同的無規律方式將輸入到FIR濾波器206和208的相應消息的位元重新排序,所以FIR濾波器206和208同時產生相應的低權重碼字的概率被降低。因此,交織器 202和204有助於減少由並行濾波器編碼模組200生成的低權重碼字的數量。
再如圖2所示,使用多工器210並行連接矩陣C_F1和C_F2中的碼字,以在矩陣C_P中生成碼字。在一種實施方式中,多工器210以無規律但規定的方式並行連接矩陣C_F1和C_F2中的碼字。
圖3示出了根據本公開實施方式的可被用於實施圖2中的FIR濾波器206和208中的一個或兩者的實例性FIR濾波器300。如圖3所示,來自矩陣C_B2的消息的位元從左側進入FIR濾波器300,並被儲存在包括寄存器302、304和306的線性移位暫存器內(T表示寄存器)。每當新消息位元到達時,寄存器302、304和306內的消息位元向右移動。通過異或運算移位暫存器內儲存的消息位元的特定子集與可能的移位暫存器的輸入處的當前消息位元,FIR濾波器300計算與輸入消息相對應的碼字的每個位。在圖3所示的FIR濾波器300的實施方式中,通過使用XOR運算308來異或運算移位暫存器內儲存的每個消息位元,從而具體計算碼字位。
將FIR濾波器300的約束長度限定為碼字位元可依賴的消息位元的最大數量。在圖3所示的FIR濾波器300的實施方式中,約束長度為4,因為每個碼字位可取決於高達四個消息位元(移位暫存器內的三個消息位元和移位暫存器的輸入處的當前消息位元)。應注意,在FIR濾波器300的其他實施方式中,可使用不同約束長度,且可通過異或運算移位暫存器內儲存的消息位元的不同子集來計算碼字位。
返回到圖1,在編碼器100的又一實施方式中,重複編碼模組108實施二進位線性塊碼,其接受矩陣C_B1中的n_b1個符號作為輸入,並通過線性映射生成較長長度n的輸出符號的矩陣C_R1:C_R1=G_R1*C_B1 (4)
其中,G_R1為n×n_b1生成器矩陣。在至少一種實施方式中,由生成器矩陣G_R1描述的重複碼被設計為簡單地將C_B1中的碼字重複一些次數(某個或某些整數加上次數的分數),使得將C_B1中的長度n_b1的碼字轉換成C_R1中的較長長度n的碼字。具體地,生成器矩陣G_R1可被實施為n×n_b1單位矩陣的堆疊,且floor(n/n_b1)份垂直堆疊的單位矩陣和其下的分數單位矩陣包括n取模n_b1(n mod n_b1)行。
在編碼器100的又一實施方式中,重複編碼模組110實施二進位線性塊碼,其接受矩陣C_B3中的n_b3個符號作為輸入,並通過線性映射生成較長長度n的輸出符號的矩陣C_R2:C_R2=G_R2*C_B3 (5)
其中,G_R2為n×n_b3生成器矩陣。在至少一種實施方式中,由生成器矩陣G_R2描述的重複碼被設計為簡單地將C_B3中的碼字重複一些次數(某個或某些整數加上次數的分數),使得將C_B3中的長度n_b3的碼字轉換成C_R2中的長度n的碼字。具體地,生成器矩陣G_R2可被實施為n×n_b3單位矩陣的堆疊,且floor(n/n_b3)份垂直堆疊的單位矩陣和其下的分數單位矩陣包括n取模n_b3(n mod n_b3)行。
如上所述,編碼器100可被用於在網路架構的不同層上提供資料包級保護。例如,編碼器100可被用於在網路、應用程式或網際網路協定組的傳輸層(通常稱為TCP/IP)上提供資料包級保護。在一種實施方式中,在伺服器或用戶端電腦(例如,桌上型電腦、膝上型電腦、平板電腦、智慧型電話、路由器、機上盒或其他可擕式通訊裝置)處,編碼器100被用於編碼根據某個協定(諸如用於經由基於資料包的網路(諸如網際網路)向另一電腦傳輸的單向傳輸的檔傳送(FLUTE)協定)格式化的資料的k個資料包、資料段或資料包。
2.2.矩陣表示
由於在至少一種實施方式中,編碼器100內所有構成塊編碼模組均為線性模組,所以可通過線性映射來表達輸出矩陣Y:Y=G_S*X (6)
其中,發生器矩陣G_S描述了由編碼器100實施的通用增壓碼。發生器矩陣G_S具體由下式給出:G_S=G_P*[I_k;G_B2]+G_R1*G_B1+G_R2*G_B3 (7)
其中,G_P為並行濾波器編碼模組112的n×(k+n_b2)發生器矩陣,I_k為k×k單位矩陣,G_B2為塊編碼模組104的n_b2×k發生器矩陣,G_R1為重複編碼模組108的n×n_b1發生器矩陣,G_B1為塊編碼模組102的n_b1×k發生器矩陣,G_R2為重複編碼模組110的n×n_b3發生器矩陣,以及G_B3為塊編碼模組106的n_b3×k發生器矩陣。上述等式(7)中使用的記號[A;B]表示矩陣A垂直堆疊在矩陣B上,以及上述等式(7)中使用的運算子“+”表示按位XOR運算。
2.3.系統碼
增壓碼並非固有的系統碼。通常在使用其作為到編碼器的輸入之前,通過預處理輸入資料D來將非系統碼轉換成有效的系統碼,Y=G_S*X。通過解碼要編碼的所需輸入資料D並運行解碼器以確定編碼器輸入向量X來計算編碼器輸入X。使矩陣G_S_ENC為與Y中的每個碼字的前k個元素相對應的k×k發生器矩陣,可使用下式計算編碼器輸入X:X=G_S_ENC^^(-1) * D (8)
其中,運算G_S_ENC^^(-1)對G_S_ENC求(-1)次方。現在,X可被用於使用等式(6)來編碼以生成Y,以及Y中的每個碼字的前k個元素將等於D。
圖4示出了根據本公開實施方式的除額外的系統預處理模組402之外具有與圖1中的編碼器100相同的實施的編碼器。系統預處理模組402可被用於執行由等式8定義的功能,且可以硬體、 軟體或其任何組合來實施。
2.4.用於編碼的檔分段
在編碼器100可被用於例如編碼原始檔案以經由擦除通道傳輸之前,需要將原始檔案分段成編碼器輸入符號,且需要將這些編碼器輸入符號分組為可由如圖1所示的到編碼器100的輸入矩陣X表示的源塊。具體地,給定f位元組的原始檔案和t位元組的編碼器輸入符號大小,可將該檔劃分成k_total=ceil(f/t)個編碼器輸入符號。源塊是klks個這些編碼器輸入符號的集合。若源塊的總數未均勻地劃分為表示原始檔案所需的編碼器輸入符號的數量,則klks可不同。可將具有kl個編碼器輸入符號的源塊數量和具有ks個編碼器輸入符號的源塊數量傳送給解碼器。在一種實施方式中,源塊被按順序排列成使得從大小為kl個編碼器輸入符號的源塊中編碼前zl個源塊,以及從大小為ks個編碼器輸入符號的源塊中編碼其餘的zs個源塊。
在一種實施方式中,對於圖1中的編碼器100作為輸入而接受的矩陣X中的輸入符號的數量k,在所選值kl小於或等於有限數量的可能值中的至少一個的約束條件下選擇kl。假設所選kl滿足該約束條件,則在至少一種實施方式中,編碼器100可被實施為接受具有仍滿足(非嚴格的)不等式kl k的輸入符號的最小數量k的輸入矩陣X。
2.5.擦除通道
在編碼之後,在通道上傳輸矩陣Y的n個輸出符號。這些輸出符號中的某些被通道擦除。假設n×r矩陣E表示通道的擦除模式,其中,它從所發送的輸出符號Y中選出r個所接收的輸出符號Y_R。若第i個所接收的符號為第j個傳輸符號,則E(i,j)=1。這產生了Y_R=E*Y (9)
在解碼器處,接收器上的有效發生器矩陣隨後為G_S_R= E*G_S。
2.6.解碼
解碼是給定Y_R和G_S_R來確定X的過程。可以幾種不同的方法來實施解碼,但每種方法均等價於解決最小平方問題X=(G_S_R^^T*G_S_R)^^-1 * G_S_R^^T * Y_R,其中,T表示轉置。現代疏鬆陣列分解技術可被用於利用由圖1中的並行濾波器編碼模組112的結構施加的稀疏結構將(6)重寫為適當形式:Z=G_A*W (10)
將增廣發生器矩陣G_A定義為:G_A=[[[G_B1;G_B3;GB_2]| I_L];[G_P | G_R1 | G_R2]] (11)
且其中,增廣輸出向量Z=[zeros(L,1);Y],增廣輸入向量W=[X;G_B2*X;G_B1*X;G_B3*X],且其中,L=n_b1+n_b2+b_b3。在重複之前,矩陣W的底部L個元素包括塊碼的輸出。將這些L個值附加到矩陣X中以形成增廣輸入矩陣W。G_A的前L行實施塊碼且XOR運算塊碼輸出與其本身以在矩陣Z的頂部生成L個零。G_A的其後n行實施FIR結構並XOR運算輸出與該塊碼的輸出。上述等式(11)中使用的記號[A;B]表示矩陣A垂直堆疊在矩陣B上,以及記號A | B表示矩陣A和B水準連接。
一旦已確定編碼器狀態矩陣X或等效地確定增廣編碼器狀態矩陣W,則該任務維持確定資料矩陣D。對於丟失的D的任何符號,可通過使用(6)或(10)的合適行來恢復這些符號。
3.實例性電腦系統實施
如本文所述,對於相關領域技術人員而言,顯然本發明的各種元件和特徵可以使用類比和/或數位電路的硬體、通過由一個或多個通用或專用處理器執行指令的軟體,或者作為硬體和軟體的組合來實施。
為完整起見,提供了對通用電腦系統的以下描述。本發明的實施方式可以硬體來實施,或者作為軟體和硬體的組合來實施。 因此,本發明的實施方式可在電腦系統或其他處理系統的環境下實施。這種電腦系統500的一個實例在圖5中顯示。例如,圖1和圖4中所示的所有模組可在一個或多個不同電腦系統500上執行。
電腦系統500包括一個或多個處理器,諸如處理器504。處理器504可以是專用或通用數位訊號處理器。處理器504可連接至通訊基礎設施502(例如,匯流排或網路)。各種軟體實施以該示例性電腦系統的形式來描述。對於相關領域技術人員而言,在閱讀該描述之後,如何利用其他電腦系統和/或電腦架構來實施本發明將變得顯而易見。
電腦系統500還包括主記憶體506,優選隨機存取記憶體(RAM),且還包括次要存放裝置508。輔助記憶體508例如可包括硬碟驅動器510和/或卸載式存放裝置驅動器512,該卸除式存放裝置驅動器512表示軟碟機、磁帶驅動器、光碟驅動器等。卸除式存放裝置驅動器512以已知方式從卸除式存放裝置單元516讀取和/或向其寫入。卸除式存放裝置單元516表示由卸除式存放裝置驅動器512讀取和寫入的軟碟、磁帶、光碟等。相關領域技術人員將理解,卸除式存放裝置單元516包括其中儲存有電腦軟體和/或資料的電腦可用儲存介質。
在可替代實施方式中,次要存放裝置508可包括用於允許電腦程式或其他指令被載入電腦系統500的其他類似裝置。該裝置可包括例如卸除式存放裝置單元518和介面514。該裝置的實例可包括程式盒和盒介面(諸如視頻遊戲裝置中可見的程式盒和盒介面)、卸除式存放裝置晶片(例如EPROM或PROM)和相關插槽、U盤和USB埠、以及其他卸除式存放裝置單元518和允許軟體和資料從卸除式存放裝置單元518傳送至電腦系統500的介面514。
電腦系統500還可包括通訊介面520。通訊介面520允許軟體和資料在電腦系統500與外部裝置之間傳送。通訊介面520的實 例可包括數據機、網路介面(諸如乙太網卡)、通訊連接埠、PCMCIA插槽和卡等。經由通訊介面520傳送的軟體和資料的形式可以是電子信號、電磁信號、光信號、或其他能被通訊介面520接收的信號。這些信號經由通訊通路522提供給通訊介面520。通訊通路522承載信號且可使用導線或電纜、光纖、電話線、手機鏈路、RF鏈路和其他通訊通道來實施。
如本文所用,術語“電腦程式介質”和“電腦可讀介質”通常用來指示有形儲存介質,諸如卸除式存放裝置單元516和518或安裝在硬碟驅動器510中的硬碟。這些電腦程式產品是用於提供軟體給電腦系統500的裝置。
電腦程式(也稱為電腦控制邏輯)儲存在主記憶體506和/或次要存放裝置508中。電腦程式也可經由通訊介面520接收。這種電腦程式在被執行時能使電腦系統500實施如本文所討論的本發明。具體地,該電腦程式在被執行時能使處理器504實施本發明的處理,諸如本文所述的任何方法。相應地,該電腦程式表示電腦系統500的控制器。其中,使用軟體來實施本發明,該軟體可儲存在電腦程式產品中,並使用卸除式存放裝置驅動器512、介面514或通訊介面520載入電腦系統500。
在另一實施方式中,主要以使用例如硬體部件(諸如專用積體電路(ASIC)和閘陣列)的硬體來實施本發明的特徵。實施硬體狀態機以執行本文所述功能對於相關領域技術人員而言也將是顯而易見的。
4.結論
以上已借助於示出具體功能及其關係的實施的功能塊描述了本公開。為便於描述,本文任意定義了這些功能塊的邊界。只要能適當執行具體功能及其關係,也可定義替代性邊界。
100‧‧‧編碼器
102‧‧‧塊編碼模組
104‧‧‧塊編碼模組
106‧‧‧塊編碼模組
108‧‧‧重複編碼模組
110‧‧‧重複編碼模組
112‧‧‧並行濾波器編碼模組
114‧‧‧異或(XOR)運算
116‧‧‧矩陣X中的位的第一行
118‧‧‧矩陣Y中的位的第一行
120‧‧‧矩陣X中的位的第一列
122‧‧‧矩陣Y中的位的第一列

Claims (8)

  1. 一種用於對形成消息的輸入符號擦除編碼的方法,包括:基於所述消息來實施分別提供第一組碼字、第二組碼字和第三組碼字的至少三個塊編碼操作;基於所述第一組碼字來實施分別提供第四組碼字和第五組碼字的至少兩個濾波器編碼操作;為所述兩個濾波器編碼操作中的至少一個修改考慮到所述第一組碼字的位元的順序;以及並行連接所述第二組碼字、所述第三組碼字、所述第四組碼字和所述第五組碼字以形成用於經由擦除通道傳輸的編碼符號。
  2. 如申請專利範圍第1項所述之方法,其中在所述第二組碼字和所述第三組碼字與所述第四組碼字和所述第五組碼字並行連接之前,實施分別重複所述第二組碼字和所述第三組碼字一定次數的重複編碼操作。
  3. 如申請專利範圍第1項所述之方法,其中所述塊編碼操作中的提供所述第一組碼字的一個塊編碼操作實施二進位塊碼。
  4. 如申請專利範圍第1項所述之方法,其中所述塊編碼操作中的提供所述第三組碼字的一個塊編碼操作實施二進位塊碼。
  5. 一種用於對形成消息的輸入符號擦除編碼的編碼器,包括:三個塊編碼模組,被配置為基於所述消息分別提供第一組碼字、第二組碼字和第三組碼字;兩個濾波器編碼模組,被配置為基於所述第一組碼字分別提供第四組碼字和第五組碼字;交織器,被配置成為所述兩個濾波器編碼模組中的至少一個修改考慮到所述第一組碼字的位元的順序;以及連接模組,被配置為並行連接所述第二組碼字、所述第三組碼字、所述第四組碼字和所述第五組碼字以形成用於經由擦 除通道傳輸的編碼符號。
  6. 如申請專利範圍第5項所述之編碼器,其中所述編碼器還包括:重複編碼模組,被配置為在由所述連接模組將所述第二組碼字和所述第三組碼字與所述第四組碼字和所述第五組碼字並行連接之前,重複所述第二組碼字和所述第三組碼字一定次數。
  7. 如申請專利範圍第5項所述之編碼器,其中所述編碼器還包括:多工器,被配置為在由所述連接模組並行連接所述第二組碼字、所述第三組碼字、所述第四組碼字和所述第五組碼字之前,以無規律方式一起多工所述第四組碼字和所述第五組碼字。
  8. 如申請專利範圍第5項所述之編碼器,其中所述三個塊編碼模組中的被配置為提供所述第二組碼字的一個塊編碼模組在有限域上實施非二進位塊碼。
TW102103471A 2012-01-30 2013-01-30 增壓碼 TWI520528B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261592202P 2012-01-30 2012-01-30
US201261622223P 2012-04-10 2012-04-10
US201261646037P 2012-05-11 2012-05-11
US201261706045P 2012-09-26 2012-09-26
US13/750,280 US20130198582A1 (en) 2012-01-30 2013-01-25 Supercharged codes

Publications (2)

Publication Number Publication Date
TW201332316A TW201332316A (zh) 2013-08-01
TWI520528B true TWI520528B (zh) 2016-02-01

Family

ID=47632786

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102103471A TWI520528B (zh) 2012-01-30 2013-01-30 增壓碼

Country Status (6)

Country Link
US (1) US20130198582A1 (zh)
EP (1) EP2621121A3 (zh)
KR (1) KR101436973B1 (zh)
CN (1) CN103227693B (zh)
HK (1) HK1186024A1 (zh)
TW (1) TWI520528B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9569307B2 (en) * 2014-02-13 2017-02-14 Quantum Corporation Mitigating the impact of a single point of failure in an object store
US10656996B2 (en) * 2016-12-21 2020-05-19 PhazrIO Inc. Integrated security and data redundancy
US11050552B2 (en) * 2017-05-03 2021-06-29 Infosys Limited System and method for hashing a data string using an image

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4573155A (en) * 1983-12-14 1986-02-25 Sperry Corporation Maximum likelihood sequence decoder for linear cyclic codes
CA1296065C (en) * 1985-12-11 1992-02-18 Tadashi Matsumoto Method for decoding error correcting block codes
JP2597987B2 (ja) * 1986-02-08 1997-04-09 ソニー株式会社 ブロツク化伝送信号のデコード装置
US5568483A (en) 1990-06-25 1996-10-22 Qualcomm Incorporated Method and apparatus for the formatting of data for transmission
US6493838B1 (en) * 1995-09-29 2002-12-10 Kabushiki Kaisha Toshiba Coding apparatus and decoding apparatus for transmission/storage of information
US6023783A (en) * 1996-05-15 2000-02-08 California Institute Of Technology Hybrid concatenated codes and iterative decoding
US5812603A (en) * 1996-08-22 1998-09-22 Lsi Logic Corporation Digital receiver using a concatenated decoder with error and erasure correction
US6378101B1 (en) * 1999-01-27 2002-04-23 Agere Systems Guardian Corp. Multiple program decoding for digital audio broadcasting and other applications
US6895120B2 (en) * 2001-03-30 2005-05-17 Ricoh Co., Ltd. 5,3 wavelet filter having three high pair and low pair filter elements with two pairs of cascaded delays
US7631242B2 (en) * 2001-06-22 2009-12-08 Broadcom Corporation System, method and computer program product for mitigating burst noise in a communications system
US7088398B1 (en) * 2001-12-24 2006-08-08 Silicon Image, Inc. Method and apparatus for regenerating a clock for auxiliary data transmitted over a serial link with video data
EP1359684A1 (en) 2002-04-30 2003-11-05 Motorola Energy Systems Inc. Wireless transmission using an adaptive transmit antenna array
KR100866181B1 (ko) 2002-07-30 2008-10-30 삼성전자주식회사 통신 시스템에서 신호 송수신 방법 및 장치
US6903665B2 (en) * 2002-10-30 2005-06-07 Spacebridge Semiconductor Corporation Method and apparatus for error control coding in communication systems using an outer interleaver
IL157885A0 (en) * 2003-09-11 2004-03-28 Bamboo Mediacasting Ltd Iterative forward error correction
US7434146B1 (en) * 2005-05-06 2008-10-07 Helwett-Packard Development Company, L.P. Denoising and error correction for finite input, general output channel
JPWO2007069406A1 (ja) * 2005-12-15 2009-05-21 三菱電機株式会社 通信システム、送信側通信装置および受信側通信装置
US7730378B2 (en) * 2006-06-29 2010-06-01 Nec Laboratories America, Inc. Low-complexity high-performance low-rate communications codes
WO2008012719A2 (en) * 2006-07-21 2008-01-31 Koninklijke Philips Electronics N.V. Method and apparatus for space-time-frequency encoding and decoding
US8873620B2 (en) * 2007-05-16 2014-10-28 Thomson Licensing Apparatus and method for encoding and decoding signals
MX2010004147A (es) * 2007-10-15 2010-08-09 Thomson Licensing Transmision de television de alta definicion con capacidad movil.
FR2929785B1 (fr) * 2008-04-02 2012-11-16 France Telecom Procede de transmission d'un signal numerique entre au moins un emetteur et au moins un recepteur, mettant en oeuvre au moins un relais, produit programme et dispositif relais correspondants.
US8464129B2 (en) * 2008-08-15 2013-06-11 Lsi Corporation ROM list-decoding of near codewords
EP2178213A1 (en) * 2008-10-16 2010-04-21 Thomson Licensing Methods and apparatuses for error correction coding
US8301973B2 (en) * 2008-10-16 2012-10-30 Samsung Electronics Co., Ltd. Digital television systems employing concatenated convolutional coded data
EP2200244B1 (en) * 2008-12-18 2019-02-20 Vodafone Holding GmbH Method and apparatus for multi-carrier frequency division multiplexing transmission
US8555128B2 (en) * 2010-03-24 2013-10-08 Futurewei Technologies, Inc. System and method for transmitting and receiving acknowledgement information
PL2797251T3 (pl) * 2010-05-10 2017-12-29 Telefonaktiebolaget Lm Ericsson (Publ) System i sposób przydzielania zasobów transmisyjnych

Also Published As

Publication number Publication date
KR101436973B1 (ko) 2014-09-02
EP2621121A2 (en) 2013-07-31
CN103227693B (zh) 2016-07-06
KR20130088082A (ko) 2013-08-07
CN103227693A (zh) 2013-07-31
HK1186024A1 (zh) 2014-02-28
EP2621121A3 (en) 2015-10-28
TW201332316A (zh) 2013-08-01
US20130198582A1 (en) 2013-08-01

Similar Documents

Publication Publication Date Title
US9876607B2 (en) Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
KR101355761B1 (ko) 통신 시스템의 다중 필드 기반 코드 발생기 및 디코더
TWI285310B (en) Method and apparatus for iterative hard-decision forward error correction decoding
CN101217352B (zh) 一阶段速率匹配的缓冲设置方法
WO2004034589A9 (en) Systematic encoding and decoding of chain reaction codes
US9444494B2 (en) Systems and methods for network coding using convolutional codes
WO2011026375A1 (zh) 编码方法及装置、解码方法及装置
CN113541856A (zh) 数据恢复方法及装置
US20110060959A1 (en) Method and Apparatus for Data Receiving
US7231575B2 (en) Apparatus for iterative hard-decision forward error correction decoding
TWI520528B (zh) 增壓碼
CN101383618A (zh) 一种传输块的循环冗余校验码的编码方法
JPWO2013114496A1 (ja) 通信装置および通信方法
WO2009129675A1 (zh) 一种里德索罗蒙码的译码方法及装置
WO2017045522A1 (zh) 一种卷积码的数据发送方法及装置
JP2023519407A (ja) データ通信のためのコーディング方法および装置
WO2012109851A1 (zh) 一种交织和解交织的方法、交织器和解交织器
WO2023029880A1 (zh) 一种数据交织方法及数据交织装置
CN115567164A (zh) 向量信令码信道的流水线式前向纠错方法和装置
JP5711507B2 (ja) データ伝送システム及び方法及び受信装置及びデータ受信方法
CN117650870A (zh) 一种基于纵向编码纠错的通信方法、***、设备及介质

Legal Events

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