TWI306698B - Method and apparatus for coding bits of data in parallel - Google Patents

Method and apparatus for coding bits of data in parallel Download PDF

Info

Publication number
TWI306698B
TWI306698B TW091136117A TW91136117A TWI306698B TW I306698 B TWI306698 B TW I306698B TW 091136117 A TW091136117 A TW 091136117A TW 91136117 A TW91136117 A TW 91136117A TW I306698 B TWI306698 B TW I306698B
Authority
TW
Taiwan
Prior art keywords
encoder
bit
address
bits
output
Prior art date
Application number
TW091136117A
Other languages
English (en)
Other versions
TW200301624A (en
Inventor
Y Hurt James
J Fuchs Robert
A Howard Michael
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 TW200301624A publication Critical patent/TW200301624A/zh
Application granted granted Critical
Publication of TWI306698B publication Critical patent/TWI306698B/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
    • 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/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • 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
    • 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/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • H03M13/235Encoding of convolutional codes, e.g. methods or arrangements for parallel or block-wise encoding
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/275Interleaver wherein the permutation pattern is obtained using a congruential operation of the type y=ax+b modulo c
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/276Interleaving address generation
    • H03M13/2764Circuits therefore
    • 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/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent 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/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/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • H03M13/2972Serial concatenation using convolutional component 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/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • 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/65Purpose and implementation aspects
    • H03M13/6563Implementations using multi-port memories
    • 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/65Purpose and implementation aspects
    • H03M13/6575Implementations based on combinatorial logic, e.g. Boolean circuits
    • 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/0043Realisations of complexity reduction techniques, e.g. use of look-up tables
    • 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/0064Concatenated codes
    • H04L1/0065Serial concatenated 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/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0066Parallel concatenated 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/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • H04L1/0069Puncturing patterns
    • 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/0071Use of interleaving

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)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

1306698 ⑴ 玖、發明說明 (發明說明應敘明:發明所屬之技術領域、先前技術、内容、實施方式及圖式簡單說明) 發明背景 發明領域 本發明有關資料通訊。更特別地,本發明有關平行編碼 多重資料位元(如使用多重痒記憶體(multiple port memory)) 以明顯地減少與編碼所結合的延遲。 相關技藝說明 於一典型的數位通訊系統中,資料在一傳輸器(transmitter) 單元上處理、調變(modulated)、與調節(conditioned)以產生 傳送至一個或更多接收器單元之調變訊號。例如,於接收 器單元上,該資料處理可包括將該資料格式化成一特別的 訊框(frame)格式,以一特殊編碼設計(scheme)來編碼該格式 化後的資料而提供錯誤偵測且/或更正、將所編碼的資料 通道化(channelized)(即涵蓋(covering)),且將被通道化的資 料對該系統頻寬展開(spread)。該資料處理通常由系統或已 實作的標準所定義。 被傳輸的訊號於接收器單元上被接收、調節、解調變 (demodulated)、與數位地處理以回復所傳輸的資料。於接 收器單元上的處理與在傳輸器單元的處理互補且可例如 包括解展開(despread)所接收的樣本(samples)、解涵蓋 (decover)該解展開的樣本,並且將該解涵蓋的符號解碼以 回復所傳輸的資料。 可更正傳輸錯誤的能力加強了資料傳輸的可靠性。許多 數位通訊系統使用一卷積碼或一加速碼(Turbo code)來在 (2) 1306698
接收器單元上提供錯誤更正的功能。卷積碼對串列(serial) 資料來運作,每次一個或少許位元。有各種有用的卷積碼 與各種演算法可用來將所接收編碼資訊序列(sequence)解 碼以回復出原始資料。加速碼特別地為一平行序連 (concatenated)卷積編碼設計。一序連碼為兩個或更多碼的 級聯組合(cascaded combination)且被用來提供額外的錯誤更 正能力。對於一序連碼’於編碼階段(stage)間之該碼位元 可被交插(interleaved^即重排序)以提供暫時的分散性 (diversity),其可進一步改善效能。碼位元的整個封包或訊 框(frame)典型地於該重排序進行前就被儲存。該重排序的 碼位元接著由該次個編碼階段串列地存取(retrieve)與編 碼。 傳統上,卷積與加速編碼串列地對—輸入位元流(stream) 來進行。對於每個時鐘週期,一個資料位元被提供給該編 碼器且兩個或更多碼位元根據該編碼器的碼速率(c〇de )來產生某些碼位元可接著被穿刺(punctured)(即刪除) 以用其他碼速率來取得碼位元。 數位多向近接通訊系統典型地傳輸封包或訊框中的資 料以允許在動作中的使用者間有效地分享系統資源。對於 無法忍受過久延遲(如語音、視訊)的服務,該封包被選擇 成為於期間内(如10毫秒)很短且該碼因此被選擇地具有更 勺處理I遲。然而,為了改善編碼的效率,最好能處理 '與—:編_碼較大的封包,而使用串列地編碼資料的卷積技術時 可能導致較長的處理延遲。較長的處理延遲可能不良地影- (3) 1306698
響該通訊系 N A•或資科速 根據該通訊鍵路的條件來對—姓址.容Λ 、’' ~τ 野特殊資料傳輸來選擇。 該處理延遲額外地長,該鏈路停 果 餘仵了因該資料傳輸的時„ 來改變’且效能可被妥協或不良地。 吁間 如所見’可以較短的處理延遲而 的技術為高度地需要。 用來有效率地編碼資料 發明摘要 根據一層面,一種對於在無線通訊系統中的交錯器 (interleaver)來產生位址之方法包括遞增(increment)_ 4數 器(counter)至一計數器數值、該計數器用於產生一交錯器 位址,如果該計數器對應到無效的交錯器位址時、調^謗 計數器數值至一次個有效位址'並且根據該被調整的計= 器數值來產生一位址。 於另一層面中,用於在無線通訊系統中的交錯器之〜位 址產生裝置包括一計數器,且複數個位址產生器每個皆耦 合至該計數器、該複數個位址產生器之每個產生器具有耦 合至該計數器之一記憶體儲存裝置、其儲存對應於計數器 偏移(offset)數值之複數個計數器數值,與耦合至該記憶體 儲存裝置之第二計數器、其調適成將該計數器偏移數值加 到一先前所產生的位址。 於仍另一層面中,一資料編碼器包括複數個記憶體以儲 存循序輸入資訊位元、用於拌碼(scrambling)該輸入資訊位 元之複數個交錯器,耦合至第一記憶體之第一編碼器、該 第一編碼器調適成編碼該循序輸入資訊位元,與耦合至該 -8 - (4) 1306698
複數個記憶體之-第二編碼器’該第二編瑪器調適成編碼 該父插輸入資訊位元。 於仍另一層面中,—種編碼資料的方法包括接收複數個 輸入位70、且於單一系統時鐘週期内:根據該複數個輸入 位""來t算第組數值、根據該複數個輸入位元與該第一 組狀態數值來計算第二組狀態數值、根據該複數個輸入位 元來计算第二組狀態數值、且根據該第一、第二、第三組 狀態數值來產生一組編碼輸出。 本發明之其他層面與具體實施例如下所述。 圖式簡述 本發明的特徵、本質與優點將從以下的詳述及當與圖式 連用時’成為更明顯,其中類似的參照字元從頭至尾相對 應地識別且其中: 圖1為一通訊系統的區塊圖; 圖2為根據一具體實施例之一串列地序連編碼器; 圖3為一序連編碼器的區塊圖,其根據一具體實施例來 實作一多項式產生器矩陣(polynomial generator matrices)的1今争 殊集合; 圖4為一卷積編碼器的區塊圖,其用於根據一具體實施 例來平行編碼多重資料位元; 圖5A與5B為一卷積編碼器的示意圖,其根據各種具體實 施例來實作一特定的多項式產生器矩陣及用於平行編碼 八個資料位元; 圖6為實作另一特定多項式產生器矩陣且可平行編碼四 1306698
個碼位元之一卷積編碼器的一具體實施例示意圖; 圖7A為一交錯器的例圖; 圖7B與7C為根據各種具體實施例,於外部卷積編碼器與 分別具有與不具有穿刺的交錯器間之介面例圖; 圖8為根據一具體實施例之一編碼器的區塊圖; 圖9為根據一具體實施例執行多重資料位元的平行序連 編碼之一種方法的流程圖; 圖10為一無線通訊系統; 圖11為根據一具體實施例之平行序連編碼器; 圖12為根據一具體實施例之功能圖; 圖13為根據一具體實施例之加速編碼器的功能圖; 圖14為根據一具體實施例用於加速編碼器中的交錯器 之位址產生電路功能圖; 圖15為根據一具體實施例用於平行序連加速編碼器的 交錯器之位址產生電路功能圖; 圖16為根據一具體實施例之加速編碼器的功能圖; 圖17為一加速編碼器交錯器之位址產生的功能圖。 各具體實施例之發明詳述 平行編碼多重位元 圖1為一通訊系統100之一具體實施例的簡化區塊圖,其 中本發明之各層面於此實作。於傳輸器單元110,流量資 料係典型地以封包或訊框來從資料來源112傳送給使用一 特殊編碼設計來格式化與編碼該資料之一編碼器114。編 碼器114典型地進一步執行該碼位元的交插(即重排序)。一 1306698 (6)
調變器(modulator,MOD) 116接著接收、通道化(即涵蓋)與 展開該編碼資料以產生將被轉換成一個或更多類比訊號 的符號。該類比訊號由一傳輸器(TMTR) 118來過濾、(正 父)(quadrature)調變、放大、上轉(upconvert)以產生一調變訊 號,接著透過天線120傳輸至一個或更多接收器單元。 於接收器單元130,所傳輸的訊號由天線132所接收並提 供給一接收器(RCVR) 134。於接收器134内,所接收訊號被 放大、過遽、下轉(downconvert)、正交解調變、與數位化 以提供樣本。該樣本由解調變器(DEMOD) 136解展開、解 涵蓋、與解調變以產生解調變後符號。一解碼器138接著 對該調變後訊號解碼且(可能地)重排序該解碼資料以回 復該傳輸資料。由解調變器136與解碼器138所執行的處理 與在傳輸器單元110上所執行的處理互補。被回復的資料 接著提供給一數據槽(data sink) 140 » 以上所述之訊號處理支挺語音、視訊、封包數據、訊息 與其他型態單向通訊的傳輸。一雙向(bi-directional)通訊系 統支援雙向(two-way)資料傳輸。然而,對另一方向的訊號 處理為了簡化而未顯示於圖1中。 通訊系統100可為一分碼多向近接(Code Division-Multiple Access,CDMA)系統、分時多向近接(Time Division-Multiple Access ’ TDMA)通訊系統(例如,GSM系統)、分頻多向近接 (Frequency Division- Multiple Access ’ FDMA)通訊系統、或支 援透過地面鏈路(terrestrial link)之使用者間語音與資料通 訊的其他多向近接通訊系統。 1306698 ⑺
於多向近接通訊系統中使用CDMA技術於以"使用衛星 或地面轉發器之展頻多向近接通訊系統”(SPREAD SPECTRUM MULTIPLE ACCESS COMMUNICATION SYSTEM USING SATELLITE OR TERRESTRIAL REPEATERS)為題之第 4,901,307 號美國專利與以"於CDMA蜂巢式電話系統中產生波形之 系統與方法” (SYSTEM AND METHOD FOR GENERATING WAVEFORMS IN A CDMA CELLULAR TELEPHONE SYSTEM)為 題之第5,103,459號美國專利中揭示。另一特定CDMA系統於 以"用於高速率封包傳輸之方法與裝置"(METHOD AND APPARATUS FOR HIGH RATE PACKET DATA TRANSMISSION) 為題在1997年11月3日所提出之第08/963,386號美國專利申 請案(此後稱為HDR系統)中所揭示。這些專利與專利申請 案受讓給本發明之受讓人並納入於此處以供參考。 CDMA系統典型地被設計成遵循一個或更多標準,像是 ”TIA/EIA/IS-95-A”雙模廣頻展頻蜂巢式系統(Dual-Mode Wideband Spread Spectrum Cellular System,以下稱為 IS-95-A標 準)之行動站(Mobile Station)對基地台(Base Station)相容性標 準、"TIA/EIA/IS-98”雙模廣頻展頻蜂巢式系統之建議最小 化標準(此後稱為IS-98標準)、由以"第三代合作專案"(3rd Generation Partnership Project)(3GPP)為名的一協會所提供的 標準且其以一組包括文件編號為3G TS 25.211、3G TS 25.212 、30丁5 25.213與30丁8 25.214等文件來具體實施(此後稱為 W-CDMA標準)、與"cdma2000展頻系統之TR-45.5實體層標準" (TR-45.5 Physical Layer Standard for cdma2000 Spread Spectrum •12· 1306698 ⑻
Systems)(此後稱為CDMA-2000標準)。新的CDMA標準持續地 提出且被採用。這些CDMA標準納入此處以供參考。 圖2為可被設計為實作本發明某些具體實施例之編碼器 200區塊圖。編碼器200可被用為圖1中的編碼器114。於本 具體實施例中,編碼器200實作一序連碼(concatenated code) 且包括以級聯方式來搞合之外部卷積編碼器(outer convolutional encoder) 212、交錯器 214、内部卷積編碼器(inner convolutional encoder) 216。外部卷積編碼器212接收且將輸 入資料卷積地編碼以產生碼位元,其被提供給交錯器214 來儲存。一旦碼位元的整個封包已儲存在交錯器214中 時,該碼位元可被存取與提供給内部卷積編碼器216。為 達成交插,該碼位元以不同於該位元寫入交錯器214的順 序來被讀出。外部卷積編碼器212接收且卷積地編碼該碼 位元以產生編碼後的資料,其接著被提供給後續處理階 段。 一傳統卷積編碼器串列地接收與編碼資料、每次一個位 元(即每個時鐘週期)。對於以大封包來傳輸資料的通訊系 統,資料的串列編碼可能造成較長的處理延遲。並且,對 於由以級聯方式來耦合的數個卷積編碼器所組成之序連 編碼器(concatenated coder),處理延遲可能為額外地長,特 別是如果該外部與内部卷積編碼器兩者皆為串列地編碼 位元。 於一層面中,一卷積編碼器能夠存取與平行地編碼多重 (M)個位元。此能力允許該卷積編碼器以傳統卷積編碼器 1306698
所需時間量的大約(1/M)th來編碼一資料封包。當每個個別 卷積編碼器平行處理該位元時,該優點對一序連編碼器 (如加速編碼器)更是顯著。 根據另一層面,一交錯器能夠儲存與平行提供資料的多 重位元。該交錯器可以例如使用一多埠記憶體來實作。當 與此處所述之卷積編碼器一起使用時,該交錯器可進一步 減少處理延遲,因為資料可用該一小片段時間來寫入該交 錯器與從其讀出。 為清晰起見,現在描述一典範具體實施,其為用於如前 文所述第08/963,386號美國專利申請案(即HDR系統)中所述 通訊系統中下鏈資料傳輸之編碼器。該HDR系統使用包含 一外部卷積碼 '交插、與一内部卷積碼之序連碼。該HDR 系統還定義具有於表1中所列特性的兩種封包格式。 表1 參數 封包 格式1 封包 格式2 單位 總位元數/封包 1024 2048 位元 外部卷積編碼器 輸入資料位元數/封包 1018 2042 位元 碼尾(code-tail)位元數/封包 4 4 位元 外部碼速率 1/2 2/3 外部碼穿刺樣式(pattern) (1111) (1011) 輸出碼位元數/封包 2044 3069 位元 交錯器深度 2048 3072 位元 内部卷積編碼器 -14- 1306698 _ 輸入資料位元數/封包 2044 3069 位元 碼尾位元數/封包 4 3 位元 内部碼速率 1/2 3/4 内部碼穿刺樣式 (111111) (111001) 輸出碼位元數/封包 4096 4096 位元 整體碼速率 1/4 1/2 (10) 於HDR系統中,該外部卷積編碼器實作1/2卷積碼速率, 其由下列多項式產生器矩陣來定義: G〇(x)= 1, j:4 +x2 + j: + l χΛ+χ^ + 1 等式⑴ 於HDR系統中的内部卷積編碼器實作1/2卷積碼速率,其 由下列多項式產生器矩陣來定義: = iLtilll. 等式(2) 圖3為實作由等式(1)與(2)所定義之外部及内部卷積碼 碼的編碼器300例圖。資料位元U被提供給實作等式(1)且產 生兩個輸出丫⑽與yob之外部卷積編碼器310。於編碼器310 内,該資料位元u提供給加總器(summer) 312,其進一步與 暫存器314a至314d (其被用來實作一组延遲)以級聯方式來 耦合。來自加總器312與暫存器314A、314B、與314D的輸出 由加總器316A、316B、316C來加總以實作等式(1)所述之多 項式產生器矩陣中第二項的分子。來自暫存器3 14C與3 14D 的輸出由加總器318來加總且提供給加總器312來實作等 式(1)中第二項的分母。資料位元u被提供為第一輸出丫。3且 來自加總器316c的輸出包含該第二輸出yob。 -15 - 1306698
(ii) 於外部卷積編碼器310的輸出y〇a與ynb中之碼位元可被穿 刺(因簡化未在圖3中所示)。未穿刺的碼位元接著提供給 交錯器330且重排序。重排序後的碼位元v接著提供給實作 等式(2)且產生兩個輸出yia與以之内部卷積編碼器34卜於 編碼器340内,該資料位元v提供給加總器342,其進一步 與暫存器344A與344B以級聯方式來耦合。來自加總器342 與暫存器344A與344B的輸出由加總器346八與346B來加總以 實作等式(2)所述之多項式產生器矩陣中第二項的分子。 來自暫存器344Α的輸出提供給加總器342以實作等式(2)中 第二項的分母。該輸入資科位元ν被提供為第一輸出yu且 來自加總器346B的輸出包含該第二輸出yib<> 傳統上’該資料位元u係以串列方式提供給編碼器31〇且 該資料位元ν亦以_列方式提供給編碼器34〇。對於每個輸 入資料位7C,外部卷積編碼器31〇產生兩個碼位元。交錯 器330接收及儲存孩碼位元,且以串列方式提供該碼位元 給内部卷積編碼器340。以串列方式之位元編碼造成較長 的處理延遲。 一具體實施例的卷積編碼器能夠平行編碼多重位元以 顯著地縮短該編碼延遲。對於每個時鐘週期,多重(如M) 個資料位元可被存取且編碼成產生多重碼位元。對於1/2 速率編碼器,2M個碼位元可對M個資料位元產生。M可被 挑選為任意數字,像是例如4 ' 8、16、32等。該卷積編碼 器的各交替具體實施例如下所述。 許多數位通訊系統,如HDR系統,以封包來傳輸資料。 • 16 - 1306698 (12)
封包中位元的數字(即封包的大小)根據如資料速率、傳輸 資料量、處理延遲需求等許多標準來挑選。為允許於接收 器單元上的解碼器於每個封包的起始(beginning)以已知的 狀態來開始,其縮短解碼時間且改善效能,在每個封包的 起始該編碼器被初始成一已知狀態(如全為零)。該初始係 以插入一組碼尾於前個封包的尾端來達成。碼尾位元被選 擇’因而該編碼器被設定成該已知狀態。
於一具體實施例中,該典範具體實施例的卷積編碼器以 —查詢表(l〇〇k-Up table)來實作。參考圖3,外部卷積編碼器 310可被視為具有由暫存器314A至314D輸出所定義之4位元 狀態的狀態機(state machine)。為了產生該查詢表的内容, 於時間索引(time index) n時之該_輸入資料位元可用一 向量Un來卩表’該说碼位元可用向量L來代表,且該現有 編碼器狀態可用向量Χη來代表。編碼器的次個狀態X⑷與 該編碼器輸出向量Υη可如下來描述: 資科 U„) 卜也㈨ -碼尾
=〇 等式(3) U„) 等式(4) 浯故铒入為資料時,荽 、 行時寺式⑺與⑷每個提供一等式來, 而且备孩編碼器輪A 6 匕括碼尾位元時,使用另一等式 等式(3)與⑷可對輸 此 料位兀與編碼器狀態之所: B匕,D來计算。例如, 該輸入向量U = 4式(4) ’該輸出碼位元 U = 〇 ·..與Xn=0...00的編碼器狀態、輸入 n " μ Xn = 〇·.·00的編碼器狀態等、及輸入向 •17-
1306698 (13) = 1...11與Xn= 0...00的編碼器狀態來計算。該輸出碼位元可 接著對輸入向量队與Xn = 0...01的編碼器狀態之所有可能 組合來計算。該處理持續直到輸入向量與解碼器狀態所有 組合皆被計算為止。等式(3)還可用類似的方式來計算。 從等式(3)與(4)的計算所得結果可被儲存於實作一查詢 表的記憶體。所需記憶體大小取決於將被平行編碼的資料 位元數與被實作之多項式產生器矩陣。例如,如果係以等 式(1)中所述之卷積碼來平行編碼八個資料位元時,可使 用具有12個位址位元與20個資料位元(即4096x20)大小的記 憶體。該12個位元位址由8個輸入資料位元與用於該現有 編碼器狀態的4個位元所組成。該20個位元包括16個碼位 元與次個編碼器狀態的4個位元。 一旦已正確定義該記憶體時,該輸入資料向量Un與現有 編碼器狀態Xn可被提供給該記憶體的位址輸入,其接著提 供該輸出向量Yn與次個編碼器狀態Xn+1。該次個編碼器狀 態Χη+ι適當地被儲存以供該次個輸入資料向量Un+1使用。 於另一具體實施例中,該卷積編碼器以一狀態機來實 作。該編碼器狀態與輸出可用如等式(3)與等式(4)中所示 來表示。等式(3)與(4)皆以遞迴方式來解出,且接著用硬 體、軟體、或兩者組合來實作該所得的等式。該編碼器的 遞迴性等式可如以下方式來解出。讓}(I = [x4 x3 X2 Χι]代表 該被轉置(transpose)的狀態向量且u〇代表於時間索引點 (time index)0上的輸入資料。該編碼器的次個狀態與輸出可 如下表示: -18- (14) 1306698
等式⑺ 等式 = ΑΧ0 + Buq t y〇 = CX0 + Du0 . 八 B C、D為純量(scaiar)、向量、矩陣,其相依於 被實作ι孩特殊多項式產生器陣列。該編碼器狀態等式(5) 可如下來遞迴地解出: ^2 = Α2Χ^ -f* ABu0 4- Bu{ = ^3·^〇 + A2Bu0 -f ABu^ + Bu2 ^ = A9X0 + A7Bu0 + A6Bu, + AsBu2 + A4Bu^ + A^u, + A1Bus + ABu6 + Bu7 忑編碼器輸出等式(6)也能以類似方式來遞迴地解出。 等式(5)與(6)被用來一次編碼一個資料位元u。一類似集 合的等式能對平行編碼M個資料位元來導出。例如,對於 平行編碼8個資料位元(即Μ=8),於時點索引η 料向量轉置可被定一[Un7 Un6 Un5〜:入二 unl un。]且輸出碼向量的轉置可被定義成^=[l7 Υη4 Υη3 Υη2 Υη1 Υη0]。使用队與Υη之所定義的向量記法 (notations),等式(5)與⑹可如下表示: 一-队谓”, 等式⑺ '運风. .等式⑻ 1 其中F、G、Η、ϊ為向量及相依於被實作之該特殊多項式產 生器矩陣的矩陣、現有編碼器狀態Χη、與該輸入資料向量 Un。等式⑺被用於在Μ個資料位元已被編碼之後來產生該 次個編碼器狀態Χη+1,且等式⑻被用來產生該輸入向量L 之編碼器輸出γη。 η 等式(5)與 為了決定等式⑺與等式(8)中的F、G、Η -19· 1306698 (15)
等式(6)可使用各種技術及從可用來實作等式(7)與(8)之該 遞迴計算所得的結果來遞迴地解出。例如,可使用表(table) 來對於每個輸入資料位元表列(tabulate)該編碼器的狀態與 輸出。該表中的項目(entries)可被用來實作等式(7)與(8), 如以下所述。 表2顯示於u0至u7等該八個輸入資料位元已串列地提供 給圖3中的卷積編碼器310 (其實作等式(1))之後的編碼器 狀態與輸出。如圖3所示,暫存器314A至3 14D分別初始地 儲存Xi、X2、X3、X4的數值。在該第一時鐘週期,該第一資 料位元uQ被提供給編碼器310,且加總器312的輸出被計算 出為X4+X3+ 、其儲存於表2中的第二列、第二欄。該編碼 器的輸出被計算出為ya〇 = U〇且yb〇 = (X4+X3+U〇)+ X4+X2 + X1 = x3+x2+Xi+U()。(每個加總器316執行模2 (modulo-2加法)。於次 個時鐘週期,來自加總器312與暫存器314A至314C的數值 分別移位到暫存器3 14A至3 14D。該次個資料位元Ul被提供 給該編碼器,且加總器3 12的輸出被計算出為χ3+χ2+ τι!、其 被存於表2中之第三列、第二欄。該編碼器輸出被計算出為 Yal = Ul JLyb2 = (X3+X2+Ui)+X3+Xi+(X4+X3+U〇) = X4+X3+X2+X1+U0+U1 0 該處理持續直到第八個資料位元u7被接收且被處理為止。該 編碼器輸出向量 Yb = [yb7 Yb6 Yb5 Yb4 Yb3 Yb2 Ybl ybO]對應到該輸入向量U = [U7 U6 u5 U4 U3 U2 U! U〇] 且根據表2中的最後一欄的項目來產生。於第八個資料位 元u7被編碼之後的該編碼器狀態Xn+1係根據表2中最後一 列的項目來產生。如表2所示,該編碼器輸出向量Yb與次 -20- (16) 1306698
個編碼器狀態Xn+1皆為現有編碼器狀態&與 向量U的函數。對於資料相位(data phase),該編碼器輸 出1僅為該輸入向量ϋ的函數(即Ya=⑺。 表2 υ 1 _ Xi X2 — ~~ X4 y3 Vb U〇 X1 X2 X4 U〇 X3+X2+ V-4-/ fA 〇1 ^3+X2+Ui X4+X^U〇 X1 X3 U1 心十X3+X2+ U2 X2+X1+U2 X3+X2+Ui X4+X3+U〇 X1 X2 U2 Ai^UQt'U'J X4+X2+Xi+ U3 X4+X3+Xl + U〇+Us x3-*-x2+u1 乂3+ϋ。 Xi U3 切 〇+ U4 X4^X2+U〇 + Ui^〇4 X4+X2+ii〇+ UrHh X4+,3+Xi+ U0+U3 切 1 X4+X3+^0 U4 X4^U〇+Ui+ Uo+[J^+f/^ U5 X3+Xi+t/i + u2+us X4+X2+U〇+ U1+U^ ^+X2+W〇+ U1+U4 Χ4+Χ3+Χι^ ϋ〇+ϋ.ι X3+X2+Ui U5 X3+Uf+U2+ U3+U4+US X4+X3+X2 Ue + (J〇+U2+U3 +u$ X3+Xl+Ui+ U2+U5 X4+X2+i/〇+ Lh+tu X4+X2+U0+ UfH/4 X4+X3+Xt4- Wo+i/3 U6 心+“2切3+ U^Us^Uq u? X3+X2+X1 + Ui+U3^U4 切7 X4+X3+X2·*· U〇+ U2+U3+U6 Χ3+Χι+υ·,+ u2+u5 U1+U4 X4十乂2切〇+ Ul^U4 X?十"3+山+ U5^u$^U7 一 X3+^2+Xt+ Ui+U3+U4 +u7 X4+X3+X2+ U0+U2+U3 +t/S χ3+Χί+ϋί+ U2+lj5 Χτ*Ά+ϋ0+ U1^U4 繼績參考表1 ’於HDR系統中的外部卷積編碼器對以封 包格式1之每個封包接收1018個資料位元及四個碼尾位 元。如果八個位元係以平行編碼’則使用128個時鐘週期 來編碼一個資料封包。前127個時鐘週期被用來編碼1〇16 -21- l3〇6698
個資科位元(即127x8=刪),且第128個時鐘週期被用來編 螞剩餘的兩個資料位元與四個碼尾位元。前127個時鐘週 期被稱為"資料相位",最後—個時鐘週期稱之為"碼尾相 仏(code-tail phase) β 對以封包格式2之每個封包,該外部卷積編碼器接收’ 〇42個^料位兀及四個碼尾位元。如果八個位元係以平行 編碼,則使用256個時鐘週期來編碼一個資料封包。前255 個時鐘週期被用來編碼2040個資料位元(即255x8=2040),且 第256個時鐘週期被用來編碼剩餘的兩個資料位元與四個 碼尾位元。前255個時鐘週期被稱為"資料相位",最後一 個時鐘週期稱之為碼尾相位。 表3顯示於恥與Ul兩個資料位元已串列地提供給圖3中的 卷積編碼器3 10之後的編碼器狀態與輸出。再次,暫存器 314A至314D分別初始地儲存Χι、Χ2、Χ3、&的數值。於前兩 個時鐘週期上’ 11〇與Ui兩個資料位元串列地提供給該編碼 器。該編碼器狀態xji】X4與該編碼器的輸出y。與%如以上所 | 述的類似方式來計算。因而,表3中的第二與第三列等於 表2中的第二與第三列。於第三時鐘週期,具有χ2+ χι數值 之第一碼尾位元被提供給該編碼器。挑選該碼尾位元的數 · 值,因而加總器312的輸出等於零,其被用來清除該卷積 編碼器。該編碼器的輸出被計算出為yc2=X2+Xia yd2 = X4+u〇+Ul 。於次個時鐘週期’來自加總器312與暫存器314A至3 14C 的數值分別地移位到暫存器3 至314D。該第二碼尾位元 再次被選擇為Xe+Xs+Xi+Uo以將加總器312的輸出設定為零 -22-
1306698 (18) 並且清除該編碼器。該處理程序以該最後兩個位元提供給 具有零數值的編碼器而持續著。 如表3所示,編碼器輸出7<:與yd兩者皆為輸入向量U與現 有編碼器狀態Xn的函數。對於碼尾相位,次個編碼器狀態 Χη+ι被設定為全零的已知狀態(即X8 = [0 0 0 0])。 表3 U 1 Xi X2 X3 乂4 Kc Yd U〇 X4+X3 切。 X1 X2 X3 乂4 X3+X2+ X1+U0 U1 X3+X2+U1 X4+X3 句。 X1 欠3 Ui 十;0+X2+ Xl+Uo+Ul X2+X1 0 X3+X2 切 1 Xi X2 X2+X1 X4+U〇+Ui X4+X3+ X1+U0 0 0 X3+X2+Ui X4+X3+U〇 X1 X4+X3+ Xl+U〇 X3+X2+ Xi+ih X4+X2+ Uo+Ui 0 0 0 X3+X2+U1 X4+X3+U0 X4+X2+ u〇+ui x4+x3+u〇 X3+X2+Uy 0 0 0 0 X3+X2+U1 X3^X2+U1 X3+X2+U1 0 0 0 0 0 0 • 0 0 0 0 0 0 0 0 0 0 0 0 0 0 圖4為可平行編碼多重輸入資料位元之一卷積編碼器 400具體實施例區塊圖。卷積編碼器400可被用來實作資料 與碼尾相位(如分別於表2與表3所定義)。例如,於圖4中所 示之編碼器架構可被用來實作圖3中之外部卷積編碼器 3 10或内部卷積編碼器340。 位於卷積編碼器400之内,以資料向量U來平行提供該輸 入資料位元給編碼器狀態機410、資料相位輸出產生器 420、與碼尾相位輸出產生器430。編碼器狀態機410也接收 -23 - 1306698
(19) 該現有編碼器狀態X且根據所接收的輸入向量U與現有編 碼器狀態X來決定新的編碼器狀態。例如,編碼器狀態機 410可實作表2中之最後一列。 資料相位輸出產生器420與碼尾相位輸出產生器430也 接收該現有編碼器狀態X且分別根據所接收之輸入X與U 來決定資料相位與碼尾相位的編碼器輸出。例如,資料相 位輸出產生器420可實作表2中最後兩欄,且碼尾相位輸出 產生器430可實作表3中最後兩欄。來自資料相位輸出產生 器420之第一與第二輸出Ya與Yb分別提供給多工器 (multiplexer,MUXes)440A與440B。類似地,來自碼尾相位 輸出產生器430之第一與第二輸出丫(:與Yd*別提供給多工 器440A與440B。當於資料相位上運作時,多工器440A與440B 分別提供來自資料相位輸出產生器420之輸出Ya與Yb,當 於碼尾相位上運作時,多工器440A與440B分別提供來自碼 尾相位輸出產生器430之輸出丫(:與Yd。 為了實作一卷積編碼器、其當接收到輸入資料位元時可 連續編碼且不必於每個封包的起始重置該編碼器狀態,僅 需編碼器狀態機410與資料相位輸出產生器420。對於通訊 系統(如HDR系統),其中資料以封包來傳送且碼尾位元被 用來在每個封包的起始將該卷積編碼器重置成一已知的 狀態,該碼尾相位輸出產生器430與多工器440被用來提供 所需編碼器輸出。 編碼器狀態機410與資料相位輸出產生器420的設計取 決於將被實作之特殊多項式產生器矩陣與將平行編碼的 -24- 1306698
(20) 資料位元數。碼尾相位輸出產生器43〇的設計取決於該多 項式產生器矩陣、將平行編碼的資料位元數與該特殊訊框 (frame)的格式(即於碼尾相位中將被編碼的資料與碼尾位 元數)。卷積編碼器400之一特定設計將於下文描述。 圖5A為可平行編碼八個輸入資料位元並以等式⑴所述 之多項式產生器矩陣來實作的卷積編碼器5〇〇之一特定具 體實施例示意圖。卷積編碼器5〇〇包括實作表2所定義狀態 機之編碼器狀態機510與產生表2所定義之編碼器輸出的 資料相位輸出產生器520。編瑪器狀態機5 與資料相位輸 出產生器520分別對應到圖4中的編碼器狀態機41〇與資料 相位輸出產生器420。於本具體實施例中,編碼器狀態機 510係以512A至512D的及閘(AND gate)與514A至514D的暫存 器來實作’且資料相位輸出產生器52〇係以522a至522H的 及間來實作。 如圖5A中所示’該八個輸入資料位元恥到U7,係為平行 知供給對編碼器狀態機5 10與資料相位輸出產生器520的 輸入,每個還接收由〜到〜定義的現有編碼器狀態。於編 碼器狀態機510内的每個及閘512選擇地耦合至輸入端 u〇~U7與X广X4 ’如表2中最後一列所定義。例如,及閘512a 柄合至輸入端x3、X2、Xl、Ul、u3、u4、及U7,如表2中最後 一列、第三欄(Xl)之項目所定義。512A至512D的及閘輸出 分別耗合至暫存器514A至514D的輸入。暫存器514A至514D 的輸出分別包含該狀態機輸出Xl〜X4。 類似地,於資料相位輸出產生器52〇内的每個及閘522選 -25· 1306698 (21)
擇地搞合至輸入端llQ~U7與Χι〜X4,如表2中最後一欄所定 義。例如,及閘522A耗合至輸入端χ3、χ2、Χι、及UQ,如表 2中第二列、最後一欄(yb〇)之項目所定義。u〇〜u7的輸入分 別包含該編碼器輸出ya〇至ya7 (因簡化而未顯示於圖5A 中),且522A至522H的及閘分別包含該編碼器輸出yb0至yb7。 圖5B為碼尾相位輸出產生器530及實作以等式(1)所述與 表1所示封包格式1與2之多項式產生器矩陣碼尾相位的多 工器540A與540B之一特定具體實施例的示意圖。碼尾相位 輸出產生器530與多工器540A和540B分別對應到圖4中的碼 尾相位輸出產生器430與多工器440A和440B。於本具體實 施例中,碼尾相位輸出產生器530係以532A至532J的及閘來 實作並產生於表3中所定義碼尾相位的輸出Yc* Yd。多工 器540a係以2x1多工器542A〜542F來實作且提供第一編碼器 輸出y〇a。類似地,多工器540B係以2x1多工器544A〜544H來 實作且提供第二編碼器輸出yob。 圖5A與圖5B中之編碼器狀態機510、資料相位輸出產生 器520、碼尾相位輸出產生器530與多工器540A和540B形成 卷積編碼器400之一特定實作。該特定實作被用來實作以 等式(1)所示及表1所述封包格式之多項式產生器矩陣。 對於封包格式1,1018個資料位元於128個時鐘週期提供 給卷積編碼器500。對前127個時鐘週期的每個週期,八個 資料位元提供給編碼器500,且多工器540A與540B被選擇 來提供來自資料相位輸出產生器520的輸出丫&與Yb。 在第 128個時鐘週期,剩餘的兩個資料位元、四個碼尾位元、 -26- 1306698 (22)
與兩個零被提供給編碼器500。暫存器514A至514D被重置 為零(同步地),且多工器540A與540B被選擇來提供來自碼 尾相位輸出產生器530的輸出丫。與Yd。對於封包格式2, 2042 個資料位元於256個時鐘週期提供給卷積編碼器500。對前 255個時鐘週期的每個週期、對應於該資料相位,八個資 料位元係為平行編碼且多工器540A與540B分別提供輸出 丫&與Yb。在第256個時鐘週期、對應於碼尾相位,兩個資 料位元、四個碼尾位元、與兩個零被平行編碼且多工器 540A與540B分別提供輸出Yd。 描述於圖5A與與圖5B中所示之特定實作係為了提供更 清楚的理解。應注意到還考量不同實作且位於本發明之範 圍内。並且,不同設計典型地用於不同多項式產生器矩 陣、不同數量的輸入資料位元、或不同封包格式。 以類似的方式,其他卷積編碼器可被設計成實作等式(2) 所述的多項式產生器矩陣。於一具體實施例中,該卷積編 碼器被設計成接收與平行編碼四個碼位元。對於次個編碼 器狀態與輸出,等式(5)與(6)分別可以上述方式來遞迴地 解出。 表4顯示於四個輸入碼位元v〇至v3已被串列地提供給圖3 中的卷積編碼器340之後的編碼器狀態與輸出。暫存器 344A與344B初始地分別儲存乂1與x2的數值。在第一個時鐘 週期,該第一碼位元v〇被提供給編碼器340且加總器342的 輸出被計算成xi+v〇,其儲存於表4的第二列、第二欄。該 編碼器輸出被計算出為yeo= v〇且yf。= (χβ ν〇)+Χ2+χι=Χ2+ν〇。 -27- 1306698 (23)
於次個時鐘週期,來自加總器312與暫存器344A的數值分 別地移位到暫存器344A與344B。該次個碼位元力被提供給 編碼器340且加總器342的輸出被計算成Xl+vQ+Vl,其儲存於 表4的第三列、第二欄。該輸出被計算出為yefVra yfl = (Xi+VQ + ViXXi+Vi^+XfXi+Vi。該處理持續到第四碼位元v3被 接收且處理為止。 輸出向量yf係根據表4中的最後一欄項目來產生。於第 四碼位元v3已被編碼之後的編碼器狀態Xn+1係根據表4中 的最後一列項目來產生。如表4中所示,編碼器輸出向量Yf 與次個編碼器狀態Xn+1,每個皆為現有編碼器狀態Χη = [χ2 χ!] 之一函數與輸入向量V的函數。對於資料相位,編碼器輸 出向量Ye僅為輸入向量V之函教。 表4 V 1 X1 X2 Ye Vr VQ Xl+V〇 X1 X2 Vo Xz^Q Vi Xl+V〇+Vi Xi+V〇 Xi V1 Xl+Vi V2 Xl^V〇^ Vt+1^2 X3+X2+O7 xi+v〇 Xl^-V0-^V2 v3 +V2+V^3 Xl+V〇^Vi X3+X2+U1 V3 xi+v〇+ V1+V3 Xl^Vo^Vi +V2^V3 Xl+V〇+Vi +V2 繼續參考表1,於HDR系統中之内部卷積編碼器對以封 包格式1之每個封包接收2044個碼位元與四個碼尾位元。 如果平行編碼四個位元,需使用5 12個時鐘週期來編碼一 個封包。前511個時鐘週期被用來編碼2044碼位元(即 -28- (24) 1306698 511中2044),且第512個時鐘週期被 位元。該卷積編碼器對以封包格式2 ’ a編碼茲四個碼尾 個碼位元與三個碼尾位元。如#承,每個封包接收3079 如果平行編 '一 用7邱個時鐘週期來編碼—翻資料斜~ ’、、’四個位兀’需使 被用來編碼3068個碼位元(g 則767個時鐘週期 週期被用來編碼最後一個@ ρ Α ,且第768個時鐘 馬杈疋與三個碼 對封包格式1的碼尾相位’表5顯示該内却 狀態與輸出。於該第一時鐘週期,具 邵卷積編碼器的 尾位元被提供給該編碼器。選 ^有Xl數值之茲第—碼 總器3 4 2的輸出等於零。該編碼:: 二位二數:為因而加 ㈣办。該處理程序對剩餘的三 °异出為㈣與 來持續進行。 馬尾位元以類似方式 表5
對封包格式2的碼尾相位,表 ,,tg ^ ^ Λ 内部卷積編碼器的 狀態與輸出。於該第一時鐘 & 期最後的碼位元ν〇被提供 :==,且該編碼器狀態— 類似 以上所迷的方法來計算。表6的第二列因而等於表4的第二 列。於孩第二時鐘週期,且 ω 、哥Xl ν〇數值的第一個碼尾位元 被提供給該編碼器。選擇該 邊碼尾位兀數值,因而加總器342 -29- 1306698
的輸出等於零。該編碼器輸出被計算出為yu=Xl+v〇與y.i=;v 。該處理程序對剩餘的碼尾位元以類似方式來持續進行〇 表6 V 1 Χι X2 y; — ____ ί2±ν〇_ Vn —^0 Xl+Vr> Xl X2 % Xj+Vn 0 Xi^Vo Xi+V〇 0 0 0 Xi^V〇 0 ---- 0 0 o I 0 0 0 0 圖6為可平行編碼四個輸入碼位元且實作以等式(2)所述 之多項式產生器矩陣之卷積編碼器600的特定具體實施例 示意圖。卷積編碼器600包括實作表4所定義狀態機之編碼 器狀態機610與產生表4至表6所定義之編碼器輸出的輸出 產生器620 ’與提供封包格式1與2的資料和碼尾相位之正 確編碼器輸出的多工器640A和640B。 如圖6所示,四個輸入碼位元v〇至vs被平行地提供給編碼 器狀態機610與輸出產生器62〇的輸入端,每個皆接收定義 成Xl]之現有編碼器狀態。於編碼器狀態機61〇内之 每個及閘612選擇地耦合至輸入端v〇_V3和κι%,如表*最後 一列所定義。例如,及閘612Α耦合至輸入端h、%、^、 A、L、及%’如表4中最後一列、第三糊(A)的項目所定 義。及閘612八與的輸出分別耦合至暫存器…八與6ΐ4Β 的輸入端。暫存器614Α與嶋的輪出分別包含該狀態機輸 出Xl和Χ2 。 類似地,於輸出產生器62〇内之每個及間⑵選擇地搞合 -30·
1306698 (26) 至輸入端ν〇-ν3和χγχ:^,如表4到表6最後兩搁所定義。例如, 及閘622A耦合至輸入端x2和v〇且產生yf〇 (表4中第二列、最 後一欄),及閘622B搞合至輸入端x2和χι且產生yh〇 (表5中第 二列、最後一欄),及閘622C核合至輸入端X2和vG且產生yj〇 (表6中第二列、最後一欄)。其他編碼器輸出如表4至表6 所指示來產生。
多工器640A包括642A至642D的3x1多工器,以分別提供第 一編碼器輸出yia0至yia3給内部卷積編碼器600。於該資料相 位期間内,ye〇至ye3分別經由多工器642A至642D來提供。於 該碼尾相位期間内,多工器642A至642D分別對封包格式1 提供yg〇至yg3且對封包格式2提供yi0至yi3。類似地,多工器 640B包括644A至644D的3x1多工器,以分別提供第二編碼器 輸出yib0至yib3給内部卷積編碼器600。於該資料相位期間 内,yf〇至yf3分別經由多工器644A至644D來提供。於該碼尾 相位期間内,多工器644A至644D分別對封包格式1提供yh0 至yh3且對封包格式2提供yj〇至yj3。
本發明另一層面提供能夠儲存用外部卷積編碼器來平 行產生的多重碼位元及平行提供多重碼位元給内部卷積 編碼器之一交錯器(interleaver)。回來參考圖2,一交錯器搞 合於該外部與内部卷積編碼器。該交錯器被設計成儲存一 個或更多碼位元封包。於一整個封包已被儲存之後,該碼 位元接著以不同於寫入順序的讀出順序來存取以達到該 碼位元的交錯。 該典範具體實施例的外部卷積編碼器能被設計成平行 -31- 1306698 (27)
接收與編碼Μ個資料位元益彥生M*R個碼位元,其中R相關 於該外部卷積編碼器的編瑪速率(如對—1/2速率編碼器, R_2)。為了加速處理且減少延遲,該交錯器能被設計成當 該碼位元由該編碼器所產生時,平行儲存來自該外部卷積 編碼器之M,R個碼位元。類似地,該内部卷積編碼器能被 設計成平行接收與編碼N個資料位元。再者,為了加速處 理且減少延遲,該交錯器能被設計成於單一讀取作業,可 .. 平行供至少N個碼位元給該内部卷積編碼器。 - 來自該外部與内部卷積編碼器的碼位元可被穿刺籲 (punctured)而以其他碼速率來提供碼位元。例如,繼續參 考表1,來自該外部卷積編碼器的輸出被解除穿刺為封包 格式1以獲得1/2的碼速率,並且被穿刺為封包格式2以獲得 2/3的碼速率。例如,繼續參考表卜來自該内部卷積編碼 器的輸出被解除穿刺為封包格式i以獲得1/2的碼速率,並 且被穿刺為封包格式2以獲得3/4的碼速率。於該編碼器與 交錯器間的介面可被設計成有效率地達到該符號穿刺 (symbol puncturing)。 · 圖7A為一交錯器700的具體實施例例圖。於本具體實施 · 例中’交錯器700以具有p個埠的多埠記憶體71〇來實作, 其中P大於1。取決於用來實作該交錯器的特殊記憶體單 -元,P個埠的每一埠可同時為寫入與讀取埠或者可為專用 * 的寫入或謂取埠》於圖7 A中所示的具體實施例中,記憶 體710包括W個埠、標示為寫入埠〇1至Dw,與R個讀取埠, 標示為讀取谭Qi至QR。記憶體710進一步包括P個位址輸 -32- 1306698 (28)
入、八1至AP,對P個埠的每一埠有一個位址輸入。每個寫 入與讀取埠可平行移轉C個位元。 一位址產生器720接收一輸入位址ADDR、產生對每個動 作中的埠產生必需的位址、且提供所產生的位址給記憶體 710的位址輸入A!至AP。雖因簡化而未顯示於圖7A中,位 址產生器720進一步產生一個或更多控制訊號以指示記憶 體710執行一寫入或讀取作業。
於一具體實施例中,記憶體710被配置為二維(two-dimensional)記憶體 ,其 具有數 個列與 數個欄 。於一 具體實 施例中,碼位元被寫入記憶體710中的連續列(sequential rows)。為了效率性,每個列的寬度可對應到每個埠的寬度 (即C個位元)。此允許對每個寫入作業,最多W列的碼位元 將被寫進記憶體710的W個寫入埠。一但整個封包的碼位 元已被儲存到記憶體7 10,該碼位元可從記憶體存取。於 一具體實施例中,碼位元還可循列來從記憶體710讀出。 對於圖7A中所示的具體實施例,對每個讀取作業,最多R 列的碼位元可從R個讀取埠存取。 各種設計可用來從交錯器700提供碼位元至該内部卷積 編碼器。將實作的特殊設計取決於該特殊系統需求。於一 設計中,R個多工器730A至730R分別耦合至R個讀取埠 至Qr。對於每個讀取作業,最多R列的碼位元可從記憶體 710存取且被提供給多工器730A至730R,其還分別接收控 制訊號八01至ADR。每個多工器730接收該C個碼位元,根據 所對應的控制訊號ADX選擇其中一個碼位元,並提供該所 -33 - 1306698 (29) 選擇碼位元給該多工器輸出。控制訊號ADt至ADR從每個 被取出的碼位元列選擇一特殊碼位元。R個多工器730可因 而被用來平行提供最多R個碼位元給該内部卷積編碼器。 為更清楚來理解,該交錯器之一特定設計現在對用於圖 5A、5B及6中如上所述之該外部與内部卷積編碼器來描 述。於上述編碼器設計中,該外部卷積編碼器於一個時鐘 週期内平行接收與編碼8個資料位元以產生16個碼位元, 且該内部卷積編碼器平行接收與編碼四個碼位元。於本特 定設計中,使用八埠的記憶體,以四個埠用於在寫入作業 中接收碼位元且以四個埠用於在讀取作業中提供碼位 元。於本設計中,每個埠能夠平行接收或提供8個位元。 因而,對本特定設計,最多32個碼位元於一寫入作業中可 被窝入到該交錯器,且於一讀取作業中最多32個碼位元可 從該交錯器讀出。 圖7B為不具任何穿刺之於外部卷積編碼器和該交錯器 間的介面具體實施例例圖。於本具體實施例中,由該外部 卷積編碼器所產生的碼位元被提供給四個暫存器732A至 732D。暫存器732A與732B接收於該第一時鐘週期内所產生 的16個碼位元且暫存器732C與732D接收於該第二(如交替 (alternate))時鐘週期内所產生的16個碼位元。當無任何穿刺 被執行時,在一個窝入作業中,於暫存器732A至732D上之 所有32個碼位元分別提供給記憶體的埠〇!至D4。 圖7C為具任何穿刺之於外部卷積編碼器和該交錯器間 的介面具體實施例例圖。繼續參考表1,該外部碼的碼位 -34- (30) 1306698
元以封包格式2的穿刺型樣(而)來穿刺。因而,於一時鐘 週期内產生16個碼位&,4個碼位元被穿刺,且η個碼 位元被儲存。初始地,於該第一時鐘週期内所產生的Μ 個碼位7C被儲存至暫存器而與732B,I該第二時鐘週 期内所產生的16個碼位元被儲存至暫存器732C與732D。於 穿刺之後’如圖7C中所示’保留24個碼位元並提供給三個 窝入埠(如〇1至d3)。 該位址產生器提供正確的位址以將未穿刺的碼位元窝 入到記憶體中的連續列。對用於寫入該碼位元之每個動作 中的埠產生一位址。因而,當如任何穿刺被執行與當執行 穿刺產生三個位址給埠Dl至〇3時’該位址產生器對埠Di 至D4產生四個位址。 為平行提供四個碼位元給該内部卷積編碼器時,四列的 碼位元從遠記憶體來存取且提供給四個8x1多工器。每個 多工器還接收一所對應的3_位元控制訊號ADX以選擇在被 存取列中之一特別位元來提供給該内部卷積編碼器。每個 被存取位元的位址可因而被劃分成兩個部分,以第一部分 識別於該記憶體中之一特別列且該第二部分識別於該列 内之一特別位置。該位址的第一部分被提供給該記憶體的 適當位址輸入且該第二部分被提供為該控制訊號ADX。該 位址的第一與第二部分根據由被實作系統或標準所定義 之特殊交錯設計來產生。 該典範具體實施例的交錯器還可使用其他記憶體來實 作。例如,單一埠記憶體單元或多記憶體埠單元可被用來 -35- (31) 1306698 同時平打儲存與提供多重位元。對於單一埠記憶體單元多 重窝入作業可被來像存所產生的碼位元,且多重讀取作業 也可被用來存取所需的碼位元。於使用多重記憶體單元的 設計中,每個記憶體單元可類似於多4記憶體的-埠(或 一對埠)來運作。因而,久錄&,丄 备種設計可被用來實作該交錯器 且位於本發明範圍之内。 於上述的具體實施例中,於兮从* a 於琢外部與内部卷積編碼器間 使用一交錯器。此種配置被 直破用來實作加速編碼器(Turbo encoder),其可提供特定的 J赏點。於其他編碼器設計中, 於外部卷積編碼器後的交牡π . X錯可以為非必需,且不需記憶體 於該外部卷積編碼器之後或借m 傻4僅用做為緩衝器(buffer)。 該典範具體實施例的串拉 中接編碼4可依不同方式來運 作。於一特定設計中,將兮 ^編碼器運作成一次編碼一個資 料封包。繼續參考圖2,一祛 荷^別的資料封包可由該外部卷 積編碼器來編碼且儲存到令上* 父錯器。於一整個封包已被該 外部卷積編碼器所編碼乏始.. 便’孩碼位元從該交錯器存取且 由該内部卷積編碼器所編 攝碼。—但整個封包已被該内部卷 積編碼器所編碼’該次個舡 固封包將由外部卷積編碼器來編 碼。此設計減少了該交錯哭 歸器的兄憶體需求,其在某些應用 中可能是需要。 於其他特定設計中,与·上A1 TT 邊父錯器以能儲存兩個或更多碼位 兀封包的容量來實作。例如,用來實作該交錯器的記憶體 可被劃分成兩排(bank) ’每個記憶體排能餘存__整個瑪位 元封包。該兩個記憶體排允許外部與内部卷積編碼器同時 * 36 - 1306698 (32)
對兩個封包運算。該外部卷積編碼器編碼第一封包且該封 包的碼位元儲存到一記憶體排。於整個第一封包已被儲存 到記憶體之後,該外部卷積編碼器編碼第二封包且該封包 的碼位元儲存到第二記憶體排。於該外部卷積編碼器編碼 且將現有封包的碼位元儲存到一記憶體排時’該内部卷積 編碼器可從其他記憶體排存取且編碼先前封包的碼位 元。此設計可減少處理延遲。 圖8為可用來實作某些具體實施例之編碼器特定設 計的區塊圖。編碼器800可被用來實作圖1中的編碼器 114。編碼器800包括耦合至位址產生器820與記憶體830之 一處理單元810。處理單元810從缓衝器802接收資料及從控 制來源(未顯示)接收控制資訊,根據該控制資訊來編碼所 接收的資料,並提供被編碼的資料給缓衝器850。 於圖8中所顯示的具體實施例中,處理單元81〇包括一輸 入介面812、多位元編碼器814、輸出介面816、與控制單元 818。輸入介面812產生位址與控制訊號給緩衝器8〇2,接收 由緩衝器802所提供的資料以回應所產生的位址與控制訊 號,且將所接收資料轉送給多位元編碼器814。多位元編 碼器814實作該輸出與内部卷積編碼器並可用一個或更多 査詢表或如圖4中所述的—個或更多編碼器來實作。當以 外部卷積編碼器來運作時,容户& 邗吁多位兀編碼器814編碼來自輸 入介面812的資料且將所產生一 座生的碼位兀提供給記憶體 ㈣。且當以内邵卷積編碼.器來運作時,多位元編碼器川 編碼來自入記憶體830的碼位元並將所產生的碼位元提供 •37- 1306698
(33) 給輸入介面816。輸入介面816接著提供所編碼的資料給缓 衝器850。 控制單元818接收各種控制資訊’例如像是將編碼之特 殊資料封包、於缓衝器802中之封包位置、將使用的編碼 設計、將被編碼的封包儲存在緩衝器850中的位置等。控 制單元818接著指示輸入介面812從缓衝器8 02掏取適當資 料’指示編碼器狀態機8丨4使用適合的編碼設計,且進一 步指示輸出介面816將被編碼的資料提供到緩衝器850中 的適當位置。 位址產生器820產生適當的位址以將碼位元窝入到記憶 體830與從該記憶體讀出碼位元。位址產生器820可用邏 輯、查詢表、或某些其他設計來實作。 記憶體83 0儲存由多位元編碼器814所產生的碼位元且 還提供該被儲存碼位元給多位元編碼器814。藉由正確地 產生該位址,記憶體830可被運作來提供碼位元的交錯。 記憶體830可如上述方式用多槔記憶體、或以一個或更多 記憶體單元來實作。 圖9為一種用於執行多重資料位元平行申接編碼的方法 之一具體實施例流程圖。初始地於步驟912,來自一特殊 資料封包的數個(M)資料位元被接收,且於步驟914,根據 第(如卷積)編碼設計來平行編碼以產生數個(mr)碼 位元。由該第一碼設計所產生的碼位元數目決定於該設計 的特殊編碼速率。於步驟916,零個所產生碼位元可用一 第一穿刺設計來穿刺以提供以不同碼速率的碼位元。於步 -38- (34) 1306698
驟918 ’該未穿刺的碼位元 .m 者破错存到記憶體。 於圖9中所示的具體實施例, 辞φ , 整個封包由該第一編碼設 彳來編碼且於由—第二編碼也^ * ^ ""叹计的後續編碼之前來被儲 存。此允許碼位元的交錯,如弁
Av 无則所述。因而’在步騾920, ·,.、論孩整個封包是否已被 .^ 筱編碼,均需做出決定。如果答案 為否,該處理程序回到步驟Β廿 .^ 驟912且其他Μ (或更少的)資料位 疋被接收。· 或疋彡步騾922,如果整個封包已被編碼,則數個(Ν) Ζ元從記憶體存取,並且於步驟似,根據該第二(如卷 積):碼設計來平行編碼以產生數個㈣碼位元。再者, 邊第一編碼s又计所產生的碼位元數目決定於該設計的 λ殊碼料。並且再次於步驟926,零個或更多所產生碼 垃凡可用一第二穿刺設計來被穿刺而以其他碼速率來提 供碼位疋。#步驟928,未被穿刺的碼位元接著被提供成 给次個處理單元(如圖!中的調變器110)的編碼資料。 為了效率性與減少延遲,w個字元可平行儲存(如透過W 個窝入埠)到記憶體,且R個字元可同時從記憶體平行取出 (如透個R個讀取埠)。該w個字元允許未穿剌碼位元從該第 碼設計之平行儲存且該R個字元允許N個碼位元將被平 行提供給該第二編碼設計。該記憶體可以上逑的方式來運 作以達成碼位元的交錯。例如,W個字元可被窝入到記憶 體中的連續列且R個字元可從記憶體中的排列 列來讀取。 該典範具體實施例的編碼器與交錯器可被用來大量縮 -39- 1306698 (35)
短編碼時間。以外部卷積編碼器來平行編碼Μ個資料位元 且用内部卷積編碼器來平行Ν個碼位元,整個編碼延遲可 被明顯地減少。本發明的交錯器對於寫入作業以其能接收 多重碼位元的能力來支援平行編碼且對讀取作業提供多 重碼位元。於HDR系統中以Μ=8與Ν=4且對封包格式1和2之 一特定設計的處理延遲改善顯示於表7中。 表8 封包格式1 封包格式2 平行 串列 平行 串列 外部卷積編碼器 輸入位元 1018 2042 碼尾位元 4 4 總輸入位元 1022 2046 所需時鐘週期 128 1024 256 2048 内部卷積編碼器 輸入位元 2044 3069 碼尾位元 4 3 總輸入位元 2048 3072 所需時鐘週期 512 2048 768 3072 編碼時間(20 MHz時鐘) 外部編碼器(psec) 6.4 51.2 12.8 102.4 内部編碼器(psec) 25.6 102.4 38.4 153.6 總編碼時間(psec) 32.0 153.6 51.2 256.0 對於表8所顯示的特定設計,於提供各種優點之本發明 的編碼器與交錯器所提供的廷遲,以4.8的因子(factor)來減 低整個編碼延遲。其中某些該優點將如下來簡要描述。 -40- 1306698
(36) 首先,較短的處理延遲可被用來支援特定型態的服務, 像是語音和影像’其具有更嚴峻的延遲需求。較短的處理 L遲可因而允許對延遲敏感的應用使用更有效率的編碼 設計β 具二’較短的處理延遲可改善系統效能。例如,如果一 殊使用者或資料速率根據該通訊鏈路的條件可被選擇 1於一特殊的傳輸(其在特殊時點上被決定),較短的處理 延遲増加鏈路條件未受資料傳輸時間所改變的可能性。鏈 路條件典型地隨著時間來變化,且較長的處理延遲增加了 鏈路條件丈資料傳輸時間所改變的可能性,這將導致降級 (degraded)的效能。 士罘二,較短的處理延遲可改善某些通訊系統的容量。例 如,於HDR系統中,功率控制資料與流量資料多工並且傳 輸至使用者終端。較短的處理延遲允許使用者終端傳輸功 率的準確控制’這可増加系统的容量且改善效能。 第四較短的處理延遲允許藉由多重傳輸實體(即於三 區段系統中之三個使用者)於-處理時間槽(time slot)(即於 hdr系統中的正向鏈槽,f〇rward Unk s⑽中硬體資源(即編 碼器)的循序共用以減少該硬體設計的整個區域。 為簡化本發明編碼器的特定層面與具體實施例已特別 地對於蔹HDR系統中之正向鏈來描述。然而,本發明還可 用在使用相同、類似、或不同編碼設計的其他通訊系統 中。例如,本發明的編碼器可被用來實作能平行接收與編 碼多重資料位兀的卷積編碼器。本發明的編碼器還可被用 • 41· 1306698 (37)
來實作一串接編碼器’像是加速編碼器,其能平行接收與 編碼多重資料位元。孩編碼器之特定設計決定於各種因 素、例如像是被實作的多1員式產生器矩陣、將被平行編碼 的位元數、封包格式、碼尾位元的使用等。 本發明的編瑪器可有利地用在通訊系統之基地台(base station)或使用者終端(如行動單元、電話等)。正向鏈(即下 鏈)與反j向鏈(即上鏈)的編碼可以是不同的,且典型地決定 於被實作的特殊CDMA系統或標準。因而,本發明的編碼 器典型地特別為其所被使用的特殊應用來設計。 參考表2與表3中所示之特定設計’該外部卷積編碼器的 次個狀態與輸出可用最多達七項的函數來產生。參考於表 4至表6中所示之特定設計,該内部卷積編碼器之次個狀態 與輸出可用最多達五項的函數來產生。這些函數可使用本 技藝所已知方式的邏輯閘來簡易地產生。該外部與内部卷 積編碼器之其他元件(如暫存器、多工器)還可用本技藝所 已知方式來實作。 本發明之編碼器的某些或所有以上所述元件(如多位元 編碼器、輸入與輸出介面、控制單元、編碼器狀態機'輸 出產生器、多工器等)可以在一個或更多特定應用積體電 路(application specific integrated circuits ’ ASIC) ' 數位訊號處 理器(DSP)、可程式化邏輯裝置(Pr〇granunable 1〇gic device, PLD)、複雜(Complex) PLD (CPLD)、控制器、微控制器、微 處理器,設計成能執行本文所述功能的其他電子單元、或 這些的組合。本發明之編碼器的某些或所有以上所述元件
1306698 (38) 可使用在一處理器上執行的軟體或韌體來實作。 如被用來實作本發明的交錯器之記憶體與記憶體單元 可用各種記憶體技術、例如像隨機存取記憶體(RAM)、動 態RAM (DRAM)、快閃記憶體、與其他記憶體來實作。該 記憶體單元還可用儲存元件、例如像硬碟、CD-ROM驅動 器、與其他元件來實作。記憶體單元的各種其他實作係可 能的且於本發明範圍之内。 多重位元之平行遞迴編碼 根據另一具體實施例,編碼器被平行配置以提供兩倍的 輸出資料量,其中多重位元由該編碼器來處理。資料輸出 的增加特別地可應用到高資料速率通訊系統,其中訊框快 速地被編碼。本典範具體實施例每時鐘週期編碼多重位 元,因而符合資料傳輸的時間限制。以在多重區段上共享 一單一編碼器,本具體實施例避免在每個區段使用一個編 碼器。另一具體實施例可實作任何數目的平行編碼器。藉 由跨越區段來共享編碼區段,個別編碼器的速度能較不嚴 謹。 根據典範具體實施例之一個層面,訊框緩衝區記憶體儲 存每個訊框的多重副本(copies)。一平行查詢表(Look Up Table,LUT)與乘法器電路被用來實作該加速交錯器位址產 生器。該設計使用及-互斥或(AND-XOR)樹來實作平行編 碼。該位元穿刺/重排順序(reordering)還能接著編碼程序之 後來平行進行。 圖10做為支援數個使用者且能實作至少本發明某些層 -43 - 1306698 mm (39) 面與具體實施例的通訊系統1000的範例。任何各種演算法 與方法可被用來在系統1000中排程(schedule)傳輸。系統 1000對數個細胞1020A至1020G提供通訊,每個皆分別由所 對應的基地台1040A至1040G來服務。於本典範具體實施例 中,某些基地台1040具有多重接收天線且其他基地台僅具 有一個接收天線。類似地,某些基地台1040多重傳輸天線 且其他基地台僅具有一個傳輸天線。因此,對一基地台 1040而言,其可能具有多重傳輸天線與一單一接收天線, 或者具有多重接收天線與一單一傳輸天線,或具有單一或 多重傳輸與接收天線兩者。 於涵蓋區域内之終端1060可為固定(即靜止)或行動。如 圖1所示,各種終端1060分散在系統各處。每個終端1060 都與至少一個且可能是更多的基地台1040通訊,以在下鏈 與上鏈於任何給定的時間,例如決定於是否使用軟式切換 (soft handoff)或者該終端是否被設計與運作成從多重基地 台(同時或循序)接收多重傳輸。於CDMA通訊系統中的軟 式切換為本技藝眾所已知且詳細敘述於以"用於在CDMA 蜂巢電話系統中提供軟式切換之方法與系統"(Method and system for providing a Soft Handoff in a CDMA Cellular Telephone System)為題的第5,101,501號美國專利,其受讓給本發明之 受讓人。 下鏈係關於從基地台至終端間的傳輸,且上鏈為關於從 終端至基地台的傳輸。於典範具體實施例中,某些終端 1060具有多重接收天線且其他僅具有一接收天線。於圖 -44- 1306698 (40)
1,基地台1040A於下鏈上將資料傳輸給終端1060A與 1060J、基地台1040B將資料傳輸給終端1060B與1060J、基地 台1040C將資料傳輸給終端1060C等。 根據一典範具體實施例,一無線通訊系統被調適成使用 被配置成平行的多重卷積編碼器來編碼傳輸資訊。每個個 別編碼器具有一類似的結構且透過一交錯器來耦合。該平 行編碼器提供多重數目的輸出,即對平行之兩編碼器;該 組合提供兩倍於許多的輸出數值。對將用於進一步處理的 那些輸出數值接著進行選擇。多重位元透過該平行編碼器 來被處理。於每個編碼器内的處理係平行地執行。 該典範具體實施例每個系統時鐘週期處理多重位元,例 如每週期四個位元。該典範具體實施例的編碼器使用硬體 與軟體的組合來被實作。該硬體被用來儲存與處理資訊輸 入位元。該軟體包括用於控制該硬體的指令,且其他編碼 計算、如在該編碼程序期間内產生該過渡(interim)數值。 圖11例示根據每週期編碼4位元之一具體實施例的加速 編碼器區塊1500。例示於圖11中之加速編碼器區塊1500使 用兩個系統的(systematic)、卷積編碼器1502、1552與一交錯 器1522平行連接於該第二卷積編碼器1552之前。該交錯器 1522被稱為加速交錯器。該兩個卷積碼被稱為該加速碼的 組成(constituent)碼。組成編碼器的輸出被穿刺且被重複以 達成加速編碼器輸出符號所想要的數目。根據一具體實施 例之該組成碼的移轉函數被給定為: -45- 1306698 (41)
0(D)- 1 n^{D) n'{D) L d(D) d{D)_ 等式(9) d(D) = l + D2 +D3 等式(10) η0(Ό) = 1 + Ό + Ό3, and 等式(11) n}(D) = l + D + D2 +D1. 等式(12) 其中 每個組成編碼器1502、1552包括複數個暫存器,特別地 位於編碼器1502内為暫存器15 10、1512、與1514,且位於編 碼器1552内為暫存器1560、1562、與1564。初始地,於组成 編碼器1502、1552内之暫存器狀態被設定為零。每個編碼 器1502、1552分別經由輸入開關1501、1551來時控(clocked)。 資訊位元被當做輸入以經由開關1501提供給第一編碼器 1502,該輸入資訊位元包括Nturb。個位元,其有效地為進入 該編碼器1500的位元數。該輸入資訊位元進一步被提供給 一加速交錯器1522,其中這些位元被交錯、即拌碼 (scrambled)以增加資料傳輸的準確性。該加速交錯器1522 的輸出經由開關1551提供給該第二編碼器1552。該編碼器 1502與1552的運作皆類似,因此以下的討論僅詳述編碼器 1502的運作。對於包括在加速編碼器區塊1500中的每個編 碼器,交替具體實施例可實作不同型態的編碼器。 對該編碼器1502的輸入被提供一開關,其中該開關受一 系統時鐘(未顯示)控制。對每個Nturb。資料位元期間,該資 訊位元以該開關在上來被時控一次;接著對每個尾位元期 間以該開關在下來被時控許多次。根據一具體實施例,該 資訊位元對尾位元期間時控6次,包括對每個編碼器 -46- 1306698
1502、1552三個週期。被編碼資料輸出符號以該開關在上 的位置且根據一預足穿刺型樣穿刺該輸出來時控該組成 編碼器1502、1552 Nturb。次。編碼器15〇〇的輸出以該順序來 產生:X、Υ〇、Υι、X’、Y’ 〇、Y’ i。根據該典範具體實施例, 符號重複未在該輸出符號產生中來被實作^該加速編碼器 1500產生尾輸出符號以附加在被編碼資料輸出符號。該尾 輸出符號於該組成編碼器1502、1552已被時控Nturb。次後產 生。 該加速交錯器1522的運作被設計成產生一功能性的等 效結果,似乎該輸入位元順序中的每個位元在一連串位址 循序地寫入一陣列,其中該順序接著從由預定交錯程序或 協定所定義的其他順序位址讀出。該交錯器運算以參考圖 12來進一步詳述。 繼續圖11,該開關1501的一個節點與該輸入耦合。該開 關1501的第二節點耦合於一互斥或(x〇R)閘15〇4。互斥或閘 1504的輸出耦合至一連串的暫存器或延遲元件151〇、 1512、1514。每個延遲元件具有一所結合的狀態,其中儲 存於延遲元件1510的資訊被稱為在”狀態〇";儲存於延遲元 件1512的資訊被稱為在"狀態1” ;且儲存於延遲元件1514的 資訊被稱為在"狀態2"。延遲元件1510的輸出被識別為 "S0";延遲元件1512的輸出被識別為"S1";延遲元件1514 的輸出被識別為"S2"。 延遲元件1512與1514的輸出每個皆耦合至對互斥或閘 1516的輸入。互斥或閘1516的輸出耦合至該輸入開關1501 -47-
1306698 (44) 重複。加速編碼器的碼速率可為1/3或1/5。 於第二階段期間内,四個位元在該編碼器1500上接收, 其中該四個位元被平行處理,因此增加該編碼器的通量 (throughput)。有效地,雖然該輸入資訊位元1[〇]:1[3]同時呈 現給編碼器1500,當串列地呈現給該編碼器1500時,該輸 入資訊位元被處理。這藉由遞迴地將等式(16)與(17)應用到 該輸入資料來完成。於一個別系統時鐘週期内,該狀態的 數值被決定,即分別為 S0[0]:S0[4]、S1[0]:S1[4]、S2[0]:S2[4]。 圖12例示根據一具體實施例之交錯器的運作。如所示, 一交錯器1300從計數器(未顯示)接收一輸入以遞增該加法 (ADD)電路1302。功能上,該位址的產生等效於將計數器 數值窝入記憶體儲存列的陣列。該列根據倒位元 (bit-reversal)或其他規則來混洗(shuffle),且於每列的元件根 據列特定線性同餘順序(row-specific linear congruential sequence)來置換。該輸出位址接著依欄來讀出。該線性同 餘順序可被給定為: X(z + l) = (^(〇 + c)mod2\ 等式(18) 其中x(0)=c且c為從查詢表來的列特定數值。 繼續圖12,來自該計數器數值的最高有效位元(Most Significant Bit,MSB)被提供給加法單元' 1302。該加法單元 1302遞增該計數器的MSB數值且將該結果提供給乘法單元 1304。於一具體實施例中,所得到的數值被修改以提供僅 為預定數目的位元做為輸出。來自該計數器數值的最低有 效位元(Least Significant Bit,LSB)被提供給查詢表(LUT)1308 -49-
1306698 (45)
與倒位元(bit reverse)單元13ι〇。該LSB資訊被用來定址LUT 1308,其中存於該位置的數值還被提供給乘法單元1304。 對乘法單元1304的輸入相乘在一起且该乘積被提供給選 擇單元13〇6。於—具體實施例中,該乘法單元1304僅提供 該乘積的一部份做為選擇單元1306的輸出’像是該乘積的 LSB部分。該倒位元單元131〇對該計數器數值的LSB部分執 行倒位元運算,其類似上述所討論。倒位元單元13 10的輸 出被提供給選擇單元13〇6。根據該典範具體實施例’從乘 法單元1304所接收之選擇單元13〇6的輸入被用做為LSB部 分’從倒位元單元1310所接收之輸入被用做為MSB部分。 選擇單元1306還決定該所得到的輸出位址是否為有效位 址。如果該位址非為有效,該選擇單元則忽略該結果,其 中在該次個計數器遞增,產生一新的位址。交替具體實施 例可實作應用在該平行卷積編碼器間的替用交錯設計。 注意到圖11的編碼器15〇〇可被於一無線接收發器 (transceiver)内的多重調變器區塊共用並且因此該典範具 體實施例的編碼器每時鐘週期編碼多重位元,因而滿足高 速資料傳輸系統的速度需求。例如,如圖13中所示,編碼 器1100的功能運作每時鐘週期編碼四個位元,其中該編碼 器1100被設計成使用40 MHz的時鐘於大約32微秒内編碼最 大尺寸的訊框。如本文以上所述,該編碼器11〇〇在兩階段 運作《於該第一階段期間,一訊框從外部來源讀出且該 CRC被計算。於該第二階段期間,該訊框被編碼、穿刺、 與重複。如用在本典範具體實施例之詳述中,一訊框為具 -50-
1306698 (46) 有一額外花費(overhead)部分與酬載(payload)部分的資料傳 輸單位。 圖13為根據該典範具體實施例之編碼器1100運作的功 能性例示。該編碼器1100從外部來源、根據一具體實施例 為複數個隨機存取記憶體(RAM),以16位元字元來接收資 訊位元。五個相等的副本被儲存在編碼器1100内的記憶 體。該位元接著選擇性地經由解多工器1130被提供給一平 行編碼器1132。根據該典範具體實施例,16個位元從該記 憶體1128被提供給該解多工器1130,其一次選擇四個位元 給平行編碼器1132。該平行編碼器接收該四位元的輸出且 產生三個輸出X、Y〇與Υι。每個輸出為一四位元的輸出, 其中該平行編碼器使用遞迴處理以在每個時鐘週期產生 四位元輸出。 如本文以上所討論,該CRC產生器1134於該第一狀態期 間運作,其中一 16位元的CRC在封包當下處理時計算。一 封包包括一酬載、CRC部分與尾部分。一具體實施例支援 各種長度的封包。當該資料以每個時鐘週期16個位元來讀 出時,該CRC產生器1Π4每週期計算該CRC。於該第一階 段結束前,該CRC已預備好。於此點上,該CRC被寫入到 記憶體儲存單元(MEM) 1128及還窝入四個記憶體儲存裝置 MEM 1104至1106。還有於該第一階段内,該資訊位元被提 供給MEM 1104至1106。該資訊位元受MEM 1104至1106的時 控,其中每個時鐘週期時控16個位元。注意到於典範具體 實施例中,MEM 1104至1106包括四個記憶體,然而交替具 1306698 (47)
體實施例可包括替用數目的記憶體。MEM 1104至1106從位 址產生器1124與計數器1126接收定址控制資訊,每個皆耦 合至多工器1136的輸入。該多工器1136的輸出提供控制訊 號給MEM 1104至1106。該位址產生器1124對四個數值的儲 存增加了該定址。於對MEM 11 〇4至1106的寫入作業,MEM 1104至1106每個接收到相同的位址。於對MEM 1104至1106 的讀取作業,MEM 1104至1106每個接收到不同的位址。如 圖13所示,該MEM 1128饋入到其中一個平行編碼器1132, 同時MEM 11〇4至11〇6饋入到第二平行編碼器1144。來自平 行編碼器1132與1144,每個皆提供輸出集合X、丫〇與,該 輸出位元被提供給符號重複與穿刺區塊,像是圖11中的 1520。 如圖14中所示,資訊位元1[〇]:1[3]被呈現給一編碼器 1200,類似編碼器1500與1100。該編碼器11〇〇包括預看 (lookahead)狀態產生器12〇0,以將等式(16)與(17)應用到輸入 資訊位元資訊位元1[0]:1[3]。該預看狀態產生器1202產生該 狀態資訊並將狀態S0[4]、Sl[4]、S2[4]儲存在一暫存器或記 憶體儲存裝置1204。該狀態資訊在每個系統時鐘週期更 新。於該第一數值被儲存之前,該記憶體儲存裝置1204被 初始成預定狀態數值。該狀態數值S0[0]:S0[3]、S1[0]:S1|:3] 、S2[0]:S2[3]被提供給多位元輸出產生器1206、1208 »該資 訊位元1[0]:1[3]被提供成為輸出X[0]:X[3]。多位元輸出產生 器1206產生輸出Y〇[0]: Y0[3];同時多位元輸出產生器1208產 生輸出YJOLYip]。根據本文上述所給定之等式(16)與 -52- 1306698 (48)
(17),該多位元輸出產生器1206、1208遞迴地計算數值。 如本文上述所討論,該典範具體實施例的位址產生提供 四個讀取位址給四個加速交錯器記憶體1104、…、1106。 加速交錯記憶體不必具有可辨別型樣,並且因此產生每個 位址四份副本以獲得每時鐘週期讀取四位元的通量係為 可行的。加速交錯器記憶體1104、…、1106之每個記憶體 提供一 16位元的字元以做為一讀取字元;透過多重16:1多 工器,從每個16位元的讀取字元選出一個位元。於典範具 體實施例中,每個交錯器1104、…、1106分別耦合至一多 工器1140、...、1142。該4位元(即從每個交錯器1104、…、 1106來之一位元)接著被傳送給該第二編碼器1144。 總編碼時間為於該第一階段期間内將這些位元讀進該 記憶體所需時間再加上於該第二階段期間内編碼所需時 間。例如,考量4096位元的訊框大小,其中編碼該訊框的 大約週期數為: 等式(19) 二 1280 4096 4096 --1-- 16 4 因此,對於具有40 MHz系統時鐘的系統,一 4096位元的訊 框將需大約32微秒來編碼,其落在目標40微秒編碼時間期 間之内^ 如本文上述所討論,該兩階段編碼器提供了整個封包位 在内部記憶體的架構。於該架構中,該輸入資訊經由能處 理四個位元、即四讀取槔(quad read port)的讀取璋來提供給 該編碼器。一外部訊框來源記憶體通常為一個讀取埠,且 因此一替用方法被用來從此記憶體直接編碼。該典範具體 -53 - 1306698 (49)
實施例提供每時鐘週期多重資訊位元的遞迴處理以為了 提供每時鐘週期四個編碼位元。 CRC產生器1134與編碼器1132和1144對資料以大於每時 鐘週期1位元的速率來運作。該典範具體實施例實作一 AND-XOR樹結構整個以允許平行處理。交替具體實施例可 實作遞迴地實作等式(13)、(14)、(15)之任何邏輯結構。每 個AND-XOR樹被給予一唯一的位元二維陣列,其決定該 AND-XOR樹的抽取(tap)。例如,考量到編碼器1132、1144, 其中每個皆包括一内部3位元狀態,以不同的XOR抽取給 該同位位元輸出,即Y〇、Y!。每個編碼器1132、1144於該 平行的實作中,每時鐘週期編碼4個位元,其中1/3速率編
碼器將每時鐘週期產生12個資料位元,即4個X位元、4個 Y〇位元、4個丫1位元。每個輸出位元決定於所有4個輸入位 元還有現有狀態。每個編碼器包括3個AND-XOR樹以產生 次兩群的4位元輸出以及次個3位元狀態。該X輸出直接從 該輸入提供給該編碼器,且不透過AND-XOR樹來提供。 於該典範具體實施例中,多重有效位址在每個時鐘週期 為必要的。根據該典範具體實施例,該多重位址包括四個 位址。四個獨立電路被用來產生該四個獨立讀取位址。對 於編碼器1144»每個時鐘週期使用四個輸入位元。這些四 個輸入位元來自在該4個訊框記憶體中的4個不同交錯器 位址,且因此4個位址產生器提供該4個位址。 做為由圖11的編碼器1502 (還有1552)所執行的遞迴運算 範例並詳述於圖14的特定運算中,考量以下應用。於元件 -54-
1306698 (50) 1510、1512、15 14所產生與儲存的狀態被分別識別為SG、Si、 及S2。於一給定疊代(iteration)上,每個狀態的計算由以下 組等式來決定。 S〇 [n+1] = I [η]㊉ S, [η]㊉ S2 [η] 等式(20)
Si[n+1] = S〇[n] 等式(21) S2[n+1] = S, [π] ______________ 等式(22$ 其中n為疊代索引(iteration index)。該編碼器1500已接收一 輸入1[0],對應至於疊代0的輸入。相對應地,元件1510、 1512、1514之每個元件已經被初始為數值S〇[0]、SJO]、S2[〇]。 於本例中,對於疊代n=l,該等式被實作成: S〇 [1 】=丨[0] Θ Si [0]㊉ S2 [0] 等式(23)
Si [1] = S〇{0] 等式(24)
SatlpSUO] 等式(25) 其中該輸入數值與狀態數值係對於n=0(於初始)。類似地, 在疊代n=2,從疊代n=l的數值被儲存在元件1510、1512、 15 14且被用來計算狀態數值為: S〇[2] = l meSn [1]©S2[1] 等式(26)
Sn [2] = S〇 [1] 等式(27) S2[2] = S1 [1]. 等式(28) 使用先前所產生的數值與關係,等式(26)、(27)、及(28)導 出:
So [2】: :丨⑴㊉已“”㊉日“·!] 等式(29) S〇[2] = ^[ijesotojes^o] 等式(30) Si[2] = S〇[1] 等式(31) Si[2] = =1103 0 8^010 5210] 等式(〗2ί S2[2]: [1] 等式(33) S2[2] = =So [0]. 等式(34) -55
1306698 (,) 對於叠代11=3的結果為: S〇 [3] = I [2] ® S·! [2]㊉ S2 [2] S<j [3] = I [2]㊉(丨[0] Θ S,[0]㊉ S2 [0])㊉ S〇 [0] St [3] = S0 [2] s^sj^injeSotojeSTtO] Sat^-S, [2] s2[3] = i[〇]®s1[〇]es2[〇]. 等式(35) 等式(36) 等式(37) 等式(38) 等式(39) 1 等式(4〇) 類似地,對於疊代n=4的結果為:
S〇[4] = I[33©S,[3]0S2[3]
So [4]=丨[3]㊉(I [1] e So [0]㊉ Si [0]) θ (I [0]㊉ S, [0]㊉ S2 [0]) # 式(42) 50 [4] = I [0] @ (I [1 ]㊉ I [3]㊉ S〇 [0]) Φ S2 [0] 等式(43) 51 [4] = S〇 [3] 等式(44)
Si [4]=丨[2] © 丨[0] Θ Si [0]㊉ S2 [〇]㊉ S〇 [0] 等式(45) 等式(46) S2【4] = I [1]㊉ S〇 [0] Θ Si [0] 等式(47) 注意到某些疊代得出類似的狀態計算關係,其可用於編碼 器的設計與運作。 繼續編碼器1100的運作,於該第一階段期間内’於該編 碼器内的記憶體以相同的資料在相同的記憶體位址上被 寫入。於該第二階段期間内,該記憶體獨立地從不同位址 讀出。 回到圖I2,圖12的電路每個時鐘週期產生一個位址。該 輸入計數器為二的冪次,並且因此某些位址可被產生而超 出由該加速交錯器區塊大小所定義的範園。該位址產生器 偵測該無效位址且跳過。一管線(pipeline)暫存器可透過該 位址產生電路在丰途插入以增加運算速度。 根據一具體實施例之加速交錯器位址產生器電路1400 例示於圖15。一啟動(enable)訊號與封包大小指示器被提供 •56- 1306698 (52) 給位址指標1402。位址指標1402的輸出被提供給平行電路 路徑,且到用來遞增該位址數值的LUT 1404、1454。附加 單元1406、1456分別將1位位元加入至從LUT 1404、1454接 收到的2位位元。附加單元1406、1456的輸出被分別提供給 加法器1408、1458。該加法運算的結果接著被提供給多工 器1410、1460。一啟動訊號被提供給每個多工器1410、1460, 其產生12個位元。多工器1410 ' 1460的輸出提供給延遲元 件1412、1462,其輸出饋回到加法器1408、1458。延遲元件 1412、1462的輸出提供給延遲元件網路,包括加速編碼器 LUT 1414、1464。延遲元件1412、1462輸出的7個MSB提供給 延遲元件1416、1466。5個LSB提供LUT 1414、1464兩者與延 遲元件1420、1470。延遲元件1416、和1418的輸出耦合至一 多工器的輸入,其耦合至延遲元件1422。延遲元件1466、 1468的輸出耦合至一乘法閘的輸入,其耦合至延遲元件 1472。延遲元件1420的輸出耦合至一倒位元單元1424。延 遲元件1470的輸出耦合至一倒位元單元1474。每個路徑最 後分別提供給一延遲元件1426、1476。 根據一具體實施例,該有效位址被分成四群。得出一有 效位址的每個計數器數值被決定,以及那些得出無效位址 之計數器數值。計數器數值對位址之對應儲存於LUT 1404、1454中。對每個個別LUT,當該計數器數值增加到 對應於一無效位址的數值時,該LUT輸出一適當的偏移 (offset)數值以提供對應於一有效位址的次個計數器數 值。依此方式,該位址產生器僅產生有效位址。該程序避 -57- 1306698 (53)
免不必要的位址計算,即將於稍後忽略之無效位址的計 算。 圖15的位址產生電路可被應用到一編碼器配置,像是圖 16的編碼器1600 =編碼器1600可回應提供將被編碼之外部 記憶體。從該輸入資料做出五份副本且儲存在每個記憶體 1622、1624、1626、1628、與 1630中,分別名為 MEM 1、MEM 2、MEM 3、MEM 4、與MEM 5。MEM 1提供4個循序位元給 編碼器1650。於MEM 1内的位址以循序方式來存取。該編 碼器1650提供4個位元輸出給X、Y〇與Y!。 位址產生器1632、1634、1636、及1638分別耦合至MEM 2、 MEM 3、MEM 4、與 MEM 5。MEM 2、MEM 3、MEM 4、與 MEM 5每個皆提供一個位元給編碼器1652。該編碼器1652還提供 4個位元輸出給X、Y〇與Yj。 該位址產生器1632、1634、1636、及1638產生對所結合的 記憶體產生唯一序列的位址位置。例如,於一設計中,位 址產生器1632產生位址位置0、4、8等;位址產生器1634 產生位址位置1、5、9等;位址產生器163 6產生位址位置2、 6、10等;位址產生器1638產生位址位置3、7、11等。當所 產生位址超過該交錯器的區塊大小時,該位址產生器跳過 該位址。 圖17例示用於產生交錯用的位址、如用於平行加速編碼 器之一方法2000。該方法於步驟2002遞增一計數器。該計 數器數值被用來產生在加速編碼器中交錯輸入資料的位 址,像是如圖16中所例示的具體實施例。於決策鑽石方塊 -58- 1306698
2004上,該計數器數值被檢查以決定該計數器數值是否得 出一無效位址。該無效位址為大於該資料封包的大小。如 果該計數器數值將得到一無效位址,該程序持續到步驟 2006來調整該計數器至一次個有效位址。或者該程序繼續 到步驟2008以根據該計數器數值來產生一位址,無論是原 始產生或調整的。如果該封包在決策鑽石區塊2〇1〇上完 成,則處理程序終止。否則處理程序將回到步驟2〇〇2。 本發明提供一種平行編碼多重位元的方法,其使用處理 各種輸出之一遞迴方法。於每個時鐘週期内,該編碼器處 理多重位元且產生那些將於傳統卷積編碼器中被循序產 生的多重位元。於一具體實施例中,輸入資料被儲存在多 重記憶體像存單元,其接著每個被唯一地定址以將資料提 供給該兩個平行編碼器’如具體實施一加速編碼器。 因而,一種新的、改良的用於平行編碼多重位元之方法 與裝置係使用處理已出現的各種輸出之遞迴方法。藉由使 用多重記憶體儲存裝置,位址對該交錯運算來產生,其中 一計數器被用來產生該交錯器的位址且提供一對應來識 別無效位址。那些熟悉本技藝人士將了解到於以上詳述中 整個可參考得到的資料 '指令、命令、資訊 '訊號、位元、 符號及晶片為有利地用電壓、電流、電磁波、磁場或粒子、 光場或粒子、或任何其中的组合來呈現。那些熟悉本技藝 人士將進一步認知到各種例示性的邏輯區塊、模組、電 路'與演算法步驟與此中所揭示的具體實施例連在一起描 述可用電予硬體、電腦軟體、或其中的组合來被實作。各 -59·
1306698 (55) 種例示性的組件、區塊、模組、電路、與步騾已用其功能 性來被一般地描述。無論該功能性係已硬體或軟體來實作 皆決定於該特殊應用與加諸在該整個系統上設計限制。具 有本技藝之人士將認知到在這些環境下硬體與軟體的可 交換性,且如何來最佳地實作每個特殊應用之所述功能 性。例如,各種例示性的邏輯區塊、模组、電路、與演算 法步騾與此中所揭示的具體實施例連在一起描述可用數 位訊號處理器(digital signal processor,DSP)、特定應用積體 電路(ASIC)、場可程式化閘陣列(field programmable gate array ,FPGA)、或其他可程式化邏輯裝置、離散(discrete)閘或電 晶體閘 '離散硬體组件、像是如暫存器與先進先出裝置 (FIFO)、執行一組韌體指令的處理器、任何傳統可程式化 軟體模組與一處理器、或設計來執行本文所述功能之任何 此中的組合來實作或執行。該處理器可有利地為一微處理 器、但是可替用地,該處理器可為任何傳統處理器、控制 器、微控制器、可程式化邏輯裝置、邏輯元件陣列、或狀 態機。該軟體模組可位於RAM記憶體、快閃記憶體、唯讀 記憶體(ROM)、可抹除可程式化唯讀記憶體(EPROM)、電子 抹除可程式化唯讀記憶體(EEPROM)、暫存器、硬碟、可移 式碟(removable disk)、CD-ROM、或任何於本技藝中所已知 的其他形式的儲存媒體中。一典範處理器為有利地耦合至 該儲存媒體,因此可從該儲存媒體讀取資訊或將資訊寫 入。於可替用方式中,該儲存媒體可被整合入該處理器。 該處理器與儲存媒體可位在電話或其他使用者終端中。該 -60- 1306698 (56)
處理器可被實作成DSP與微處理器的組合,或是以兩個微 處理器來與DSP核心接合等。 本發明之較適具體實施例因而已被顯示與描述。對熟悉 本普通技藝人士將為明顯,然而可不遠離本發明的精神或 範圍來對此處所揭示具體實施例進行各種改變。因而,本 發明非意圖被受限,除非根據以下的申請專利範圍。 通訊系統 傳輸器單元 資料來源 編碼器 調變器 傳輸器 圖式代表符號說明 100 110 112 114 116 118 120 ' 132 天線 130 接收器單元 134 接收器 136 解調變器 138 解碼器 140 數據槽 200 編碼器 212 外部卷積編碼器 214 交錯器 216 内部卷積編碼器 300 編碼器 -61- 1306698 (57)
310 312、316A〜3 16D、 318、342、346A、346B 314a~314d、344A、344B 330 340 400 410 420 430 440A ' 440B 500 510 512A-512D 514A〜514D 520 522A 〜522H 530
532A-532J 540A > 540B 542A-542F 544A〜544H 600 外部卷積編碼器 加總器 暫存器 交錯器 内部卷積編碼器 卷積編碼器 編碼器狀態機 資料相位輸出產生器 碼尾相位輸出產生器 多工器 卷積編碼器 編碼器狀態機 及閘 暫存器 資料相位輸出產生器 及閘 碼尾相位輸出產生器 及閘 多工器 2X1多工器 2X1多工器 卷積編碼器 編碼器狀態機 -62- 610 1306698 (58) 620 輸出產生器 612 ' 622 及閘 614A 〜614B 暫存器 642A〜642D、644A〜644D 2x1多工器 700 交錯器 710 多埠記憶體 720 位址產生器 730A-730R 多工器 800 編碼器 810 處理單元 812 輸入介面 814 多位元編碼器 816 輸出介面 818 控制單元 820 位址產生器 830 記憶體 802 、 850 緩衝器 1000 通訊系統 1020A-1020G 細胞 1040A 〜1040G 基地台 1060 終端 1500 加速編碼器區塊 1502 ' 1552 卷積編碼器 1501 、 1551 輸入開關 -63 - 1306698 (59)
1504 1522 1510 、 1512 、 1514 、 1560 ' 1562 ' 1564 1520 1300 1302 1304 1308 1310 1306 1100 1104〜1106 1124 1126 1128 1130 1132、1144 1134 1136 1140〜1142 1200 1202 1204 1206 ' 1208 互斥或閘 交錯器 暫存器 符號穿刺與重複單元 交錯器 加法單元 乘法單元 查詢表 倒位元單元 選擇單元 編碼器 記憶體儲存裝置 位址產生器 計數器 記憶體 解多工器 平行編碼器 CRC產生器 多工器 多工器 編碼器 預看狀態產生器 記憶體儲存裝置 多位元輸出產生器 -64- 1306698 (60) 1400 1402 1404 1406 1408 1410 1412 1420 1468 1424 1600 1622 1628 1632 1454 1456 1458 1460 1416 、 1418 、 加速交錯器位址產生器電路 位址指標 查詢表 附加單元 加法器 多工器 延遲元件 1462 、 1466 、 1470 、 1472 1474 1624 ' 1626 ' 倒位元單元 編碼器 記憶體 1630 1634、1636、1638 位址產生器 -65-

Claims (1)

  1. 請專利範圍替換本(97年10月)
    拾、申請專利範圍
    計算對於該編竭器之_ 編碼器處; 第一組延遲元件狀態數值;及 使用該第一組狀態數值及該複數個輸入資訊位元以產 生一第一組經編碼輸出數值,且遞迴地應用: Y〇=I㊉S1㊉so;及 Υι=1㊉ S 0 其中’ I表示一輸入資訊位元、S0及S1表示第一及第二 延遲元件狀態數值、Y 〇係一第一同位位元輸出、Y1係— 第二同位位元輪出、及”㊉',表示數位邏輯XOR運算,及 其中: S〇[n+l]=I[n]e Sl[n]0 S2[n]; SJn+l]。S〇[n];及 S2[n+l] = S,[n] > 其中’ S2表示—第三延遲元件之一狀態數值,且”n”係一 疊代索引。 2_如申請專利範圍第1項之方法,其中該方法於每個系統 時脈週期裡處理多個輸入資訊位元,I。 3.如申請專利範圍第2項之方法,其中該第一組經編碼輸 出數值包括: 82599-971007.doc 1306698 -申_?專利範亂襯頁 Yl > 位位7L輸出,及γ丨表示 其中’Y〇表示一多位元第一 多位元第二同位位元輪出。 4.如申睛專利範圍第1項之方、、纟4 位元係表示為: U該複數個輸入資訊 1=/[〇]: /[3],及 其中該方法進一步包括: 於一個別系統時脈週期期n,、五6 錢間決疋該延遲元件狀態數 值^[〇]而[3]、&[0]^3]、&[0]而[3]。 5·如申請專利範圍第4項之方法,進—步包括: 儲存該等延遲元件狀態數值於一記憶儲存裝置中。 6. 如申請專利範圍第2項之方法,其中該等輸入資訊位元 係同作遞交至該編碼器。 其中該編碼器係一在一 其中該加速編碼器包括 7. 如申請專利範圍第1項之方法 加速編碼器中之卷積編碼器。 8. 如申請專利範圍第7項之方法 -平行於該編碼器之第二卷積編碼器,及一在該二 積編竭器前之交錯器,並且其中該方法進一步包括: 交錯該複數個輸入資訊位元; 基於該複數個經交錯的輸入資訊位元,計算給予該第 二卷積編碼器之一第一組延遲元件狀態數值; 使用給予該第二卷積編碼器之該第一組狀態數值及該 複數個經交錯的輸人資訊位W產生^第二組經編瑪輸 S2599-971007.doc 1306698
    出數值。 如申請專利範圍第 產生如下之等價功 將該複數個輸入 址;及 9. 8項之方法,其中該交錯進一步包含 能: 貝讯位兀视為一矩陣寫入至一連續位 產生另一連續輸出位址用 元。 以讀出該複數個輸入資訊位 1 0.如申請專利範圍第 " 4^貝之方法,其中該交錯進一步 - 包括: · 遞增-a十數器’其中該計數器數值係用來產生一用以 交錯輸入資料之位址; 判定《亥s十數器是否將導致一無效位址其中無效位址 係儲存於-€憶儲存裝置中;如該計數器數值將導致一 無效位址,則調整該計數器至一鄰近的有效位址。 Π·如申請專利範圍第10項之方法,其中一無效位址係大於 一資料封包。 12.如申請專利範圍第1〇項之方法,其中計數器數值至有效φ 位址之對映係儲存在一查詢表(LUT)中。 13 ·如申請專利範圍第8項之方法,其中該交錯進一步包括: 從一計數器接收一計數器數值; 由該計數器數值決定最高有效位元(MSB)資訊; 遞增該MSB資訊; 由該計數器數值決定最低有效位元(LSB)資訊; 使用該LSB資訊以定址一 LUT,該LUT儲存計數器數 82599-971007.doc
    1306698 值至位址之一對映; 將該經遞增的MSB資訊與—儲存在由該遺資訊所定 址之該LUT中的一數值相乘以產生一積; 位元反向該LSB資訊; 基於該位元經反向的LSB資訊及該積以產生一輸出位 址。 14. 如申請專利範圍第12之方法,進一步包括: 判定該經產生之輸出位址是否有效;及 如該經產生之輸出位址係無效,則放棄該經產生之輸 出位址。 15. 如申請專利範圍第13項之方法,進一步包括: 判疋該經產生之輸出位址是否有效;及 如該經產生之輸出位址係無效,則放棄該經產生之輸 出位址。 16· —種編碼器裝置(15〇〇),包括: 一接收構件’其用於接收複數個輸入資訊位元; 一計算構件,其用於基於該複數個輸入資訊位元來計 算一第一組延遲元件狀態資訊;及 產生構件,其使用該第一組狀態數值及該複數個輸 入貢訊位元以產生一第一組經編碼輸出數值,且遞迴地 應用: Y〇=I㊉S1㊉S0 ;及 Υι=Ι㊉ so 其中,I表示一輸入資訊位元、ISO及§1表示第一及第二 82599-971〇〇7.do< -4- 1306698 ί 讀薰 延遲元件(1510、1512)之狀態數值、Y〇係一第一同位位 元輸出、Υ!係一第二同位位元輪出、以及π㊉”表示數位 邏輯XOR運算,及 其中: S〇[n+l]=I[n]® SJn]㊉ S2[n]; SJn+l]: S〇[n];及 S2[n+1 ] = S 1 [η], 其中,S2表示一第三延遲元件(1514)之一狀態數值,且”n” 係一疊代索引。 17. 如申請專利範圍第16項之裝置,其中該編碼器裝置係調 適於一系統時脈週期中處理多個輸入資訊位元,卜 18. 如申請專利範圍第17項之裝置,其中該第一組經編碼輸 出數值包括: Υί Υι 其中,Y〇表示一多位元篦— 几弟一冋位位7L輸出,及Υι表示 多位元第二同位位元輸出。 19.如申請專利範圍第16項之驻恶甘丄 貝之裝置,其中該複數個輸入資 位元係表示為: 1=/[0]: / [3],及 其中該裝置係進一步調適以: 於一個別系統時脈週期 , rm , Γ,Ί c巧功期間,決定該延遲元件狀態 值心[〇]%[3]、&[〇]:心[3]、&[〇]而⑴。 82599-971007.doc
    1306698 〇’如申請專利範圍第19項之裝置,進一步包括: 2ι —儲存構件,其用於儲存該等延遲元件狀態數值。 ’如申請專利範圍第17項之裝置,其中該等輸人資訊位元 係同作遞交至該編碼器。 ’如申请專利範圍第16項之裝置,其中該裝置包括一第一 卷積編碼器(1502)用以加速編碼。 23.如申請專利範圍第22項之裝置,其中該裝置包括: —平行於該第一卷積編碼器之第二卷積編碼器(丨5 5 2); 一在該第二卷積編碼器前之交錯器(1522),其適於交錯 該複數個輸入資訊位元,及 用於基於該複數個、經交錯的輸入資訊位元以計算給予 該第二卷積編碼器之—第—組延遲元件狀態數值的構 件; 用於使用 予該第二卷積編碼器之該第一組狀態數值 及該複數個經交錯的輸人資訊位元以產生-第二組經編 碼輸出數值的構件。 24,如申請專利範圍第 .^ ^ 币J項之裝置’其中該交錯進一步包含 產生如下之等價功能: 將該複數個輸入資3目& 询八頁^位視為一矩陣寫入至一連續位 址;及 產生另一連續輸出位址以 止M磧出該複數個輸入資訊位 元。 其中該交錯進一 25.如申請專利範圍第23或24項之裝置 步包括: ~ 82599-971007.doc -6 - 1306698 遞增一計數器’其中該計數器數值係用來產生一用以 交錯輸入資料之位址; 判定該計數器是否將導致一無效位址,其中無效位址 係儲存於一 5己憶儲存裝置中;如該計數器數值將導致一 無效位址,則調整該計數器至一鄰近的有效位址。 26. 如申請專利範圍第25項之裝置,其中一無效位址係大於 一資料封包。 27. 如申請專利範圍第25項之裝置,其中計數器數值至有效 位址之對映係儲存在一查詢表(LUT)中。 28. 如申請專利範圍第23項之裝置,其中該交錯進一步包括: 從一計數器接收一計數器數值; 由§亥计數器數值決定最高有效位元(MSB)資訊; 遞增該MSB資訊; 由該§十數器數值決定最低有效位元(L§Β)資訊; 使用該LSB資訊以定址一 LUT,該LUT儲存計數器數 值至位址之一對映; 將該經遞增的M S B資訊與一儲存在由該L s B資訊所定 址之該LUT中的一數值相乘以產生一積; 位元反向該LSB資訊; 基於該位元經反向的LSB資訊及該積以產生一輸出位 址0 29. 如申請專利範圍第27項之裝置,進一步包括: 判定該經產生之輸出位址是否有效;及 如該經產生之輸出位址係無效,則放棄該經產生之輸 82599-971007.doc -7- 申請專利範困績頁I 1306698 出位址。 3 0.如申請專利範圍第28項之裝置,進一步包括: 判定該經產生之輸出位址是否有效;及 如該經產生之輸出位址係無效,則放棄該經產生之輸 出位址。 82599-971007.doc
TW091136117A 2001-12-14 2002-12-13 Method and apparatus for coding bits of data in parallel TWI306698B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/020,532 US6954885B2 (en) 2001-12-14 2001-12-14 Method and apparatus for coding bits of data in parallel

Publications (2)

Publication Number Publication Date
TW200301624A TW200301624A (en) 2003-07-01
TWI306698B true TWI306698B (en) 2009-02-21

Family

ID=21799121

Family Applications (1)

Application Number Title Priority Date Filing Date
TW091136117A TWI306698B (en) 2001-12-14 2002-12-13 Method and apparatus for coding bits of data in parallel

Country Status (10)

Country Link
US (1) US6954885B2 (zh)
EP (2) EP1459450B1 (zh)
JP (4) JP4326956B2 (zh)
KR (2) KR20100080847A (zh)
CN (1) CN100481738C (zh)
AU (1) AU2002361684A1 (zh)
BR (1) BR0214915A (zh)
ES (1) ES2474215T3 (zh)
TW (1) TWI306698B (zh)
WO (1) WO2003052997A2 (zh)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10207146A1 (de) * 2002-02-20 2003-08-28 Infineon Technologies Ag Hardware-Schaltung zur Punktierung und Wiederholungscodierung von Datenströmen und Verfahren zum Betrieb der Hardware-Schaltung
US7318189B2 (en) * 2002-08-01 2008-01-08 Zarbana Digital Fund Llc Parallel convolutional encoder
US7738596B2 (en) * 2002-09-13 2010-06-15 Broadcom Corporation High speed data service via satellite modem termination system and satellite modems
US20040267968A1 (en) * 2003-06-25 2004-12-30 Agilent Technologies Belgium S.A./N.V Implementation of a column interleaving function with a limited amount of columns
US7315549B2 (en) * 2003-07-24 2008-01-01 Intel Corporation Formatting data for a buffer
US7305593B2 (en) * 2003-08-26 2007-12-04 Lsi Corporation Memory mapping for parallel turbo decoding
US7600163B2 (en) * 2003-09-23 2009-10-06 Realtek Semiconductor Corp. Convolutional interleaver and deinterleaver
US7712004B1 (en) * 2003-09-30 2010-05-04 Emc Corporation Method of and system for error checking in a data storage system
KR101050570B1 (ko) * 2003-12-03 2011-07-19 삼성전자주식회사 시공간 트렐리스 코드를 사용하는 이동 통신 시스템에서 성능 개선을 위한 데이터 송수신 장치 및 방법
KR100762134B1 (ko) 2004-10-07 2007-10-02 엘지전자 주식회사 블록 인터리빙을 위한 읽기 주소 발생 방법
JP2008527878A (ja) * 2005-01-14 2008-07-24 エヌエックスピー ビー ヴィ チャネル符号化
US7340669B2 (en) * 2005-03-11 2008-03-04 Via Telecom Co., Ltd. Memory efficient streamlined transmitter with a multiple instance hybrid ARQ
US7219292B2 (en) * 2005-04-14 2007-05-15 Industrial Technology Research Institute Cyclic redundancy check modification for length detection of message with convolutional protection
FR2896359A1 (fr) * 2006-01-19 2007-07-20 France Telecom Procede d'encodage et de decodage rapides et dispositifs associes.
KR20070080921A (ko) * 2006-02-09 2007-08-14 삼성전자주식회사 통신시스템에서 인터리빙 장치 및 방법
US7962827B2 (en) * 2006-03-08 2011-06-14 Marvell World Trade Ltd. Systems and methods for achieving higher coding rate using parity interleaving
US8493973B2 (en) * 2006-04-04 2013-07-23 Samsung Electronics Co., Ltd. Method of and apparatus for transmitting digital broadcasting signal in advanced-VSB (A-VSB) system in which transport packet without adaptation field is provided at fixed location in data field slices
US7830957B2 (en) 2006-05-02 2010-11-09 Qualcomm Incorporated Parallel bit interleaver for a wireless system
US20080120530A1 (en) * 2006-11-22 2008-05-22 Yu-Min Chuang Transceiver puncture circuit of wireless communication system
US8140946B2 (en) * 2007-03-27 2012-03-20 Hughes Network Systems, Llc Method and apparatus for generating low rate turbo codes
US8156413B2 (en) * 2007-11-28 2012-04-10 Qualcomm Incorporated Convolutional encoding with partitioned parallel encoding operations
CN101286816B (zh) * 2008-03-05 2011-05-18 中国科学院嘉兴无线传感网工程中心 一种应用于多媒体传感网的并行信道编码装置
JP4935778B2 (ja) * 2008-08-27 2012-05-23 富士通株式会社 符号化装置、送信装置および符号化方法
US8397123B2 (en) * 2009-09-30 2013-03-12 Qualcomm Incorporated Recursive realization of polynomial permutation interleaving
JP5499760B2 (ja) * 2010-02-23 2014-05-21 富士通株式会社 符号化装置
EP2525497A1 (en) * 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
EP2525495A1 (en) 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
US9892188B2 (en) * 2011-11-08 2018-02-13 Microsoft Technology Licensing, Llc Category-prefixed data batching of coded media data in multiple categories
EP2693673A1 (en) * 2012-08-01 2014-02-05 Alcatel Lucent Bit-interleaver for an optical line terminal
WO2014045906A1 (ja) * 2012-09-21 2014-03-27 日本電信電話株式会社 並列データ符号復号化システム
EP2899991A1 (en) * 2014-01-24 2015-07-29 Alcatel Lucent Space time switch and bit interleaver
KR102359265B1 (ko) 2015-09-18 2022-02-07 삼성전자주식회사 프로세싱 장치 및 프로세싱 장치에서 연산을 수행하는 방법
WO2017116293A1 (en) * 2015-12-31 2017-07-06 Telefonaktiebolaget Lm Ericsson (Publ) Communication device and method therein for transmitting data packets in a wireless communication network
US11071162B2 (en) * 2017-03-20 2021-07-20 Qualcomm Incorporated Broadcast or multicast physical layer configuration and channel structure
FR3113214A1 (fr) * 2020-07-31 2022-02-04 Airbus Defence And Space Sas Dispositif et procédé d’encodage de codes LDPC
CN112290952B (zh) * 2020-10-10 2023-07-18 中科驭数(北京)科技有限公司 一种并行数据编码装置及方法
US12021548B2 (en) 2022-05-10 2024-06-25 Samsung Display Co., Ltd. System and method for efficient transition encoding for decimation CDR

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4488142A (en) * 1981-12-31 1984-12-11 International Business Machines Corporation Apparatus for encoding unconstrained data onto a (1,7) format with rate 2/3
US4901307A (en) 1986-10-17 1990-02-13 Qualcomm, Inc. Spread spectrum multiple access communication system using satellite or terrestrial repeaters
US4922507A (en) * 1987-12-01 1990-05-01 California Institute Of Technology Multiple trellis coded modulation
US5101501A (en) 1989-11-07 1992-03-31 Qualcomm Incorporated Method and system for providing a soft handoff in communications in a cdma cellular telephone system
US5103459B1 (en) 1990-06-25 1999-07-06 Qualcomm Inc System and method for generating signal waveforms in a cdma cellular telephone system
US5392037A (en) * 1991-05-21 1995-02-21 Matsushita Electric Industrial Co., Ltd. Method and apparatus for encoding and decoding
US5592492A (en) * 1994-05-13 1997-01-07 Lsi Logic Corporation Convolutional interleaving/de-interleaving method and apparatus for data transmission
US5675590A (en) * 1994-11-23 1997-10-07 At&T Wireless Services, Inc. Cyclic trellis coded modulation
US6023783A (en) * 1996-05-15 2000-02-08 California Institute Of Technology Hybrid concatenated codes and iterative decoding
US5912898A (en) * 1997-02-27 1999-06-15 Integrated Device Technology, Inc. Convolutional interleaver/de-interleaver
KR100237745B1 (ko) * 1997-05-23 2000-01-15 김영환 회전형 인터리버/디인터리버의 메모리 주소 발생장치 및 그 방법
JP3277856B2 (ja) * 1997-08-29 2002-04-22 日本電気株式会社 ビタビデコーダ
US6028541A (en) * 1998-03-12 2000-02-22 Liquid Audio Inc. Lossless data compression with low complexity
US6178530B1 (en) * 1998-04-24 2001-01-23 Lucent Technologies Inc. Addressing scheme for convolutional interleaver/de-interleaver
JP2000068863A (ja) * 1998-08-19 2000-03-03 Fujitsu Ltd 符号化装置及びその方法
WO2000013323A1 (en) 1998-08-27 2000-03-09 Hughes Electronics Corporation Method for a general turbo code trellis termination
JP2000114986A (ja) * 1998-10-08 2000-04-21 Oki Electric Ind Co Ltd 符号化方法及び装置
US6304991B1 (en) * 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence
US6625234B1 (en) * 1998-12-10 2003-09-23 Nortel Networks Limited Efficient implementations of proposed turbo code interleavers for third generation code division multiple access
US6463556B1 (en) * 1999-01-04 2002-10-08 Motorola, Inc. Method and apparatus for interleaving in a communication system
EP1650873B1 (en) * 1999-02-26 2011-05-11 Fujitsu Ltd. Turbo decoding apparatus and interleave-deinterleave apparatus
JP2000286722A (ja) * 1999-03-30 2000-10-13 Kokusai Electric Co Ltd インターリーバ
US6314534B1 (en) * 1999-03-31 2001-11-06 Qualcomm Incorporated Generalized address generation for bit reversed random interleaving
JP3246471B2 (ja) * 1999-03-31 2002-01-15 日本電気株式会社 マルチレート送信装置
KR100480286B1 (ko) * 1999-04-02 2005-04-06 삼성전자주식회사 터보 인터리빙 어드레스 발생 장치 및 방법
WO2000064058A1 (fr) * 1999-04-16 2000-10-26 Fujitsu Limited Codeur et decodeur
KR100526512B1 (ko) * 1999-05-20 2005-11-08 삼성전자주식회사 이동 통신시스템의 직렬 쇄상 컨볼루션 부호화를 위한 인터리빙장치 및 방법
EP1085660A1 (en) 1999-09-15 2001-03-21 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Parallel turbo coder implementation
JP3345396B2 (ja) * 1999-10-07 2002-11-18 松下電器産業株式会社 インターリーブアドレス生成装置及びインターリーブアドレス生成方法
US6549998B1 (en) * 2000-01-14 2003-04-15 Agere Systems Inc. Address generator for interleaving data
JP2001332980A (ja) * 2000-05-19 2001-11-30 Sony Corp インタリーブ装置及びインタリーブ方法
US6854077B2 (en) * 2000-08-05 2005-02-08 Motorola, Inc. Apparatus and method for providing turbo code interleaving in a communications system
SG97926A1 (en) * 2000-08-29 2003-08-20 Oki Techno Ct Singapore Pte Soft-in soft-out decoder used for an iterative error correction decoder
US6845482B2 (en) * 2001-02-28 2005-01-18 Qualcomm Incorporated Interleaver for turbo decoder
US6701482B2 (en) * 2001-09-20 2004-03-02 Qualcomm Incorporated Method and apparatus for coding bits of data in parallel
US6871270B2 (en) * 2001-12-03 2005-03-22 Samsung Electronics Co., Ltd. Device and method for minimizing puncturing-caused output delay

Also Published As

Publication number Publication date
JP2005513867A (ja) 2005-05-12
CN1618175A (zh) 2005-05-18
JP2013176114A (ja) 2013-09-05
CN100481738C (zh) 2009-04-22
TW200301624A (en) 2003-07-01
JP5886235B2 (ja) 2016-03-16
KR20040065268A (ko) 2004-07-21
ES2474215T3 (es) 2014-07-08
JP6077041B2 (ja) 2017-02-08
EP1459450B1 (en) 2014-03-19
WO2003052997A3 (en) 2003-10-09
BR0214915A (pt) 2004-12-07
KR101046289B1 (ko) 2011-07-04
JP4326956B2 (ja) 2009-09-09
KR20100080847A (ko) 2010-07-12
EP2251982A1 (en) 2010-11-17
US20030140304A1 (en) 2003-07-24
EP1459450A2 (en) 2004-09-22
AU2002361684A1 (en) 2003-06-30
US6954885B2 (en) 2005-10-11
JP2009194916A (ja) 2009-08-27
JP2015159582A (ja) 2015-09-03
AU2002361684A8 (en) 2003-06-30
WO2003052997A2 (en) 2003-06-26

Similar Documents

Publication Publication Date Title
TWI306698B (en) Method and apparatus for coding bits of data in parallel
KR100898467B1 (ko) 데이터를 병렬로 인코딩하기 위한 방법 및 장치
KR100963718B1 (ko) 터보 디코더용 버퍼 아키텍처
EP2323265A2 (en) Efficient multi-symbol deinterleaver
IL145319A (en) A very parallel map decoder
WO2002099994A1 (en) System and method for interleaving data in a wireless transmitter
AU766116B2 (en) Memory architecture for map decoder
KR20020030170A (ko) 터보 디코딩 방법
EP1445885B1 (en) Code puncturing method and apparatus
AU2003204597B2 (en) Rate matching device and method for a data communication system