TW201703443A - 時間及單元解交錯電路及執行時間及單元解交錯處理之方法 - Google Patents
時間及單元解交錯電路及執行時間及單元解交錯處理之方法 Download PDFInfo
- Publication number
- TW201703443A TW201703443A TW104122018A TW104122018A TW201703443A TW 201703443 A TW201703443 A TW 201703443A TW 104122018 A TW104122018 A TW 104122018A TW 104122018 A TW104122018 A TW 104122018A TW 201703443 A TW201703443 A TW 201703443A
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- unit
- read
- time
- units
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/2782—Interleaver implementations, which reduce the amount of required interleaving memory
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6522—Intended application, e.g. transmission or communication standard
- H03M13/6552—DVB-T2
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/2757—Interleaver with an interleaving rule not provided for in the subgroups H03M13/2703 - H03M13/2753
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/276—Interleaving address generation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/2778—Interleaver using block-wise interleaving, e.g. the interleaving matrix is sub-divided into sub-matrices and the permutation is performed in blocks of sub-matrices
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6561—Parallelized implementations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0052—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0071—Use of interleaving
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
- H03M13/1165—QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2906—Coding, 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
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)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
執行時間及單元解交錯之方法,對一交錯訊號進行時間解交錯處理及單元解交錯處理,該交錯訊號包含複數單元,該方法包含:提供第一記憶體,用來儲存該些單元,每次寫入及讀取係以一單元組為單位,該單元組包含K個單元,K為大於1之正整數;提供第二記憶體,用來儲存讀取自該第一記憶體之該些單元;自該第一記憶體讀取該些單元,並依據複數交換規則之一寫入規則寫入該第二記憶體,寫入該第二記憶體之連續K個單元係來自同一單元組;以及依據該些交換規則之一讀取規則將該些單元讀出該第二記憶體,使讀取自該第二記憶體之該些單元完成時間解交錯處理及單元解交錯處理。
Description
本發明是關於時間及單元解交錯的電路與方法,尤其是關於可以減少對系統記憶體的存取次數之時間及單元解交錯的電路與方法。
一般而言,地面數位視訊廣播(digital video broadcasting-terrestrial second generation,DVB-T2)的廣播訊號在發送之前會先將資料經過單元交錯(Cell-interleaving,CI)處理及時間交錯(Time-interleaving,TI)處理以儘可能降低傳輸過程中各種干擾對傳輸資料的影響,接收端才可以取得正確的傳輸資料,而訊號接收端在接收訊號後必須先經過時間解交錯(Time de-interleaving)處理及單元解交錯(Cell de-interleaving)處理才能將資料正確解碼。請參閱圖1,其係習知訊號接收端之功能方塊圖。訊號接收端100包含解調變電路(demodulator)110、頻率解交錯(frequency de-interleaving)電路120、時間解交錯電路130、單元解交錯電路140、去映射(de-mapping)電路150以及解碼電路160。輸入訊號為調變過後的訊號(例如基於正交分頻多工(orthogonal frequency division
multiplexing,OFDM)的正交振幅調變(quadrature amplitude modulation,QAM)訊號),經過解調變電路110處理後所得到的交錯訊號包含兩個正交的分量(I、Q)及訊號雜訊比(signal to noise ratio,SNR)等資訊,之後經由頻率解交錯電路120、時間解交錯電路130、單元解交錯電路140的解交錯處理後,使該些資訊以正確的順序重新排列,再經過去映射電路150的處理後還原成位元資訊,最後經由解碼電路160的處理後(例如低密度奇偶檢查(Low-density parity-check,LDPC)及BCH解碼)得到傳輸資料。
時間交錯之處理係以一個TI區塊為單位,每一個TI區塊
包含NFEC個向前錯誤校正(forward error correction,以下簡稱FEC)區塊,而每個FEC區塊包含Ncell個單元(cell)。假設一個TI區塊包含4個FEC區塊(NFEC=4),每個FEC區塊包含40個單元(Ncell=40),在傳送端執行時間交錯處理時,其動態隨機存取記憶體(dynamic random access memory,DRAM)的大小設定為Nr列及Nc欄,其中Nr為Ncell/5(此例中等於8),Nc為NFEC×5(此例中等於20)。請參閱圖2a及圖2b,其係習知用於時間交錯處理之記憶體的配置圖。記憶體的大小為Nr×Nc個單元,每一格的數字代表所寫入/讀出(圖2a為寫入之順序,圖2b為讀出之順序)之記憶體位址的順序。在此例中,記憶體每次寫入/讀出的字組(word)大小等於一個單元的大小(例如都為32bits),在圖2a的寫入程序中,從左上角開始直向依序寫入單元,寫滿一欄後再換至下一欄,而在圖2b的讀出程序中,從左上角開始橫向依序讀出單元,讀完一列後再換下一列,若圖2a中寫入之位址順序亦代表寫入之單元的編號,則寫入之單元的編號順序為:0、1、2、
3、...、79、80、...、158、159,而讀出之單元的編號順序為:0、8、16、24、...、155、4、...、151、159,因此達到將單元分散的效果。
請參閱圖3,其係習知訊號接收端之時間解交錯電路及單
元解交錯電路之功能方塊圖。時間解交錯電路130包含DRAM 132、寫入位址產生器134及讀取位址產生器136。藉由寫入位址產生器134及讀取位址產生器136的控制,寫入TI區塊的每個單元時從DRAM 132的左上角開始直向依序寫入,滿一欄後再換至下一欄,而讀取時從DRAM 132的左上角開始橫向依序讀出,讀完一列後再換下一列,以完成時間解交錯處理,然而其欄與列之個數分別等於傳送端之列與欄之個數,因此DRAM 132之大小設計為Nc×Nr(如果以橫向的順序寫入DRAM 132,而以直向的順序讀出,則DRAM 132之大小為Nr×Nc)。請參閱圖4a及圖4b,其係習知用於時間解交錯處理當記憶體頻寬與單元大小相同時之記憶體讀寫位址的順序。
同樣的,每一格的數字代表所寫入/讀出(圖4a為寫入之順序,圖4b為讀出之順序)之記憶體位址的順序,而且DRAM 132每次寫入/讀出的字組大小同樣等於一個單元的大小。因此在圖4a的寫入程序中,從左上角開始直向依序寫入單元,寫滿一欄後再換至下一欄,而在圖4b的讀出程序中,從左上角開始橫向依序讀出單元,讀完一列後再換下一列。DRAM 132所收到的單元編號的順序即為單元交錯後的順序:0、8、16、24、...、155、4、...、151、159,以圖4a之順序寫入DRAM 132後,單元編號在DRAM 132中的排列正好與圖4b所示的讀取順序的號碼相同,因此從DRAM 132所讀出之單元的編號順序為:0、1、2、3、...、79、80、...、158、159,而完成時間解交錯之處理(共需對DRAM 132寫入/讀取160+160=320次)。之
後單元解交錯電路140再以FEC區塊為單位(單元編號0~39為第0個FEC區塊、單元編號40~79為第1個FEC區塊,以此類推),利用CDI(Cell De-interleaving,單元解交錯)暫存器142(一般以SRAM實作)依據交換規則(permutation rule)進行單元解交錯之處理。
請參閱圖5,其係習知CDI暫存器142之單元的儲存狀
態、交換規則以及輸出順序之示意圖。左邊的圖表示第0個FEC區塊在CDI暫存器142中的儲存位址,每一列右側的數字(3、7、11、...)代表記憶體位址(第一列所對應的記憶體位址為0~3,第二列對應4~7...),CDI暫存器142依記憶體位址由小至大的順序將接收的單元依序填入。中間的圖為單元解交錯處理的交換規則的示意圖,數字代表應該讀取之記憶體位址,從左上角開始橫向依序讀出,讀完一列再換至下一列,因此記憶體位址的讀取順序為位址0、位址32、位址1、...、位址10、位址37、位址2、...、位址34,因為單元的儲存位址正好與其編號相同,所以CDI暫存器142的輸出順序為0、32、1、...、34(如右邊的圖所示),而完成單元解交錯處理。
為了因應系統單晶片(system on chip,SoC)設計之潮
流,時間解交錯電路130所使用之DRAM 132必須與系統之其他電路共用,然而因為DRAM 132的頻寬有限,因此每個電路皆必須儘可能減少對DRAM 132的存取次數,才不致於拖累系統的效能。減少DRAM 132存取次數的方法之一,便是增加其頻寬,使每次讀寫的字組增大。假設DRAM 132的頻寬變為原來的4倍(字組變為128bits,每次讀寫4個單元),記憶體之配置雖不變(同樣為20×8),但其寫入/讀出之位址順序則會改變。請參
閱圖6a及圖6b,其係習知用於時間解交錯處理當記憶體頻寬為單元大小之4倍時記憶體中單元之儲存位址及讀寫順序之一示意圖。直向的數字(0~159)代表單元的編號,橫向的數字(圖6a為0~39,圖6b為0~159)代表寫入/讀取的順序。圖5a為寫入DRAM 132之順序,寫入時同樣從左上角開始直向依序寫入字組,第0次寫入時寫入包含單元編號0、8、16、24之字組,第1次寫入時寫入包含單元編號32、40、48、56之字組,以此類推,因此160個單元總共需要對DRAM 132進行40次的寫入操作;圖6b為讀取DRAM 132之順序,讀取時從左上角開始橫向依序讀取字組,但需以單元編號為0、1、2、3、...的順序讀出單元,所以第0次讀取包含單元編號0、8、16、24的字組,但只取單元編號0使用,第1次讀取包含單元編號1、9、17、25的字組,但只取單元編號1使用,以此類推,所以寫入時的每個字組於讀取時皆要被讀取4次,40個字組共需讀取160次,因此以此方法對160個單元進行解交錯處理共需對DRAM 132進行的寫入/讀取次數為40+160=200次。請參閱圖7a及圖7b,其係習知用於時間解交錯處理當記憶體頻寬為單元大小之4倍時記憶體中單元之儲存位址及讀寫順序之另一示意圖。圖7a為寫入DRAM 132之順序,在這個操作方法中,雖然每次傳送4個單元的資料給DRAM 132,但只寫入一個單元,也就是包含單元編號0、8、16、24的字組分4次寫入(對應寫入次數第0次、第1次、第2次、第3次),包含單元編號32、40、48、56的字組分4次寫入(對應寫入次數第4次、第5次、第6次、第7次),以此類推,所以40個字組分160次寫入;圖7b為讀取DRAM 132之順序,讀取時則依所需之單元編號的順序進行讀取,因此第0次讀取包含單元編號0、1、2、3的字組,第1次讀取包含單元
編號4、5、6、7的字組,以此類推,160個單元共需讀取40次。因此以此方法對160個單元進行解交錯處理共需對DRAM 132進行的寫入/讀取次數為160+40=200次。
雖然提高DRAM的頻寬(圖6a/6b及圖7a/7b的方法)可以
減少對DRAM 132的寫入或讀取次數,但對於記憶體使用頻率高的系統,若能進一步減少進行時間解交錯處理時對記憶體的讀寫次數,有助提升系統的整體效能。
鑑於先前技術之不足,本發明之一目的在於提供一種時間及單元解交錯電路及執行時間及單元解交錯處理之方法,以減少對記憶體的讀寫次數。
本發明揭露一種時間及單元解交錯電路,位於一通訊系統之訊號接收端,用來對一交錯訊號進行時間解交錯處理及單元解交錯處理,該交錯訊號包含複數單元,該時間及單元解交錯電路包含:一第一記憶體,用來儲存該些單元;一儲存控制電路,用來控制該第一記憶體之存取操作,該存取操作係以一單元組為單位,該單元組包含K個單元,K為大於1之正整數;一第二記憶體,用來儲存讀取自該第一記憶體之該些單元;以及一規則產生單元,用來產生複數交換規則,並依據該些交換規則之一寫入規則將讀取自該第一記憶體之該些單元寫入該第二記憶體,使寫入該第二記憶體之連續K個單元係來自同一單元組,以及依據該些交換規
則之一讀取規則將儲存於該第二記憶體之該些單元讀出該第二記憶體,使讀取自該第二記憶體之該些單元完成時間解交錯處理及單元解交錯處理。
本發明另揭露一種執行時間及單元解交錯處理之方法,
應用於一通訊系統之訊號接收端,用來對一交錯訊號進行時間解交錯處理及單元解交錯處理,該交錯訊號包含複數單元,該方法包含:提供一第一記憶體,用來儲存該些單元,每次寫入及讀取係以一單元組為單位,該單元組包含K個單元,K為大於1之正整數;提供一第二記憶體,用來儲存讀取自該第一記憶體之該些單元;自該第一記憶體讀取該些單元,並依據複數交換規則之一寫入規則寫入該第二記憶體,寫入該第二記憶體之連續K個單元係來自同一單元組;以及依據該些交換規則之一讀取規則將該些單元讀出該第二記憶體,使讀取自該第二記憶體之該些單元完成時間解交錯處理及單元解交錯處理。
本發明另揭露一種時間及單元解交錯電路,位於一通訊
系統之訊號接收端,用來對一交錯訊號進行時間解交錯處理及單元解交錯處理,該交錯訊號包含複數單元,該時間及單元解交錯電路包含:一儲存控制電路,用來控制將該些單元存取於一第一記憶體之存取操作,該存取操作係以一單元組為單位,該單元組包含K個單元,K為大於1之正整數;一第二記憶體,用來儲存讀取自該第一記憶體之該些單元;以及一規則產生單元,用來產生複數交換規則,並依據該些交換規則之一寫入規則將讀取自該第一記憶體之該些單元寫入該第二記憶體,使寫入該第二記憶體之連續K個單元係來自同一單元組,以及依據該些交換規則之一讀取規則將
儲存於該第二記憶體之該些單元讀出該第二記憶體,使讀取自該第二記憶體之該些單元完成時間解交錯處理及單元解交錯處理。
本發明之時間及單元解交錯電路及執行時間及單元解交
錯處理之方法利用適當的交換規則來完成時間及單元解交錯處理,以減少對記憶體的存取次數。本發明在一個較佳的實施例中還利用一個額外的暫存記憶體來暫存單元,使單元組成適當的單元組再寫入記憶體,以進一步減少對記憶體的存取次數。相較於習知技術,本發明不完全依賴同一記憶體完成時間解交錯處理,因此不會受限於時間解交錯處理之規則而對記憶體產生過多的存取次數。
有關本發明的特徵、實作與功效,茲配合圖式作較佳實施例詳細說明如下。
100‧‧‧訊號接收端
110‧‧‧解調變電路
120‧‧‧頻率解交錯電路
130‧‧‧時間解交錯電路
140‧‧‧單元解交錯電路
150‧‧‧去映射電路
160‧‧‧解碼電路
132‧‧‧動態隨機存取記憶體
134、813、1313‧‧‧寫入位址產生器
136、815、1315‧‧‧讀取位址產生器
142‧‧‧CDI暫存器
800、800a、1300‧‧‧時間及單元解交錯電路
810、1310‧‧‧儲存電路
811、1311‧‧‧緩存單元
812、1312‧‧‧記憶體模組
813‧‧‧寫入位址產生器
815‧‧‧讀取位址產生器
814、814a、821、1314、1321‧‧‧記憶體
816‧‧‧儲存控制電路
820、1320‧‧‧解交錯運算電路
822、1322‧‧‧規則產生單元
1330‧‧‧選擇單元
1340‧‧‧暫存記憶體模組
1341‧‧‧暫存記憶體
1342‧‧‧位址產生器
S1710~S1740、S1810~S1850‧‧‧步驟
〔圖1〕為習知訊號接收端之功能方塊圖;〔圖2a〕及〔圖2b〕為習知用於時間交錯處理之記憶體的配置圖;〔圖3〕為習知訊號接收端之時間解交錯電路及單元解交錯電路之功能方塊圖;〔圖4a〕及〔圖4b〕為習知用於時間解交錯處理當記憶體頻寬與單元大小相同時之記憶體讀寫位址的順序;〔圖5〕為習知CDI暫存器142之單元的儲存狀態、交換規則以及輸出順序之示意圖;
〔圖6a〕及〔圖6b〕為習知用於時間解交錯處理當記憶體頻寬為單元大小之4倍時記憶體中單元之儲存位址及讀寫順序之一示意圖;〔圖7a〕及〔圖7b〕為習知用於時間解交錯處理當記憶體頻寬為單元大小之4倍時記憶體中單元之儲存位址及讀寫順序之另一示意圖;〔圖8〕為本發明時間及單元解交錯電路之一實施例的功能方塊圖;〔圖8a〕為本發明時間及單元解交錯電路之另一實施例的功能方塊圖;〔圖9a〕~〔圖9d〕為本發明用於時間及單元解交錯處理當記憶體頻寬為單元大小之4倍時記憶體814及記憶體821的記憶體位址、單元編號、讀寫順序及交換規則之一示意圖;〔圖10a〕~〔圖10c〕為本發明用於時間及單元解交錯處理當記憶體頻寬為單元大小之2倍時記憶體814的記憶體位址、單元編號及讀寫順序之一示意圖;〔圖11a〕~〔圖11c〕為本發明用於時間及單元解交錯處理當記憶體頻寬為單元大小之8倍時記憶體814的記憶體位址、單元編號及讀寫順序之一示意圖;〔圖12〕為本發明在不同的LDPC區塊長度及不同的調變模式下記憶體814的讀寫次數,以及與習知記憶體讀寫次數的比值;〔圖13〕為本發明時間及單元解交錯電路之另一實施例的功能方塊圖;
〔圖14a〕~〔圖14d〕為本發明用於時間及單元解交錯處理當記憶體頻寬為單元大小之4倍時記憶體1314、記憶體1321及記憶體1341中的記憶體位址、單元編號、讀寫順序及交換規則之一示意圖;〔圖15a〕~〔圖15c〕為本發明用於時間及單元解交錯處理當記憶體頻寬為單元大小之2倍時記憶體1314及記憶體1321的記憶體位址、單元編號及讀寫順序之一示意圖;〔圖16〕為本發明在不同的LDPC區塊長度及不同的調變模式下記憶體1314的讀寫次數,以及與習知記憶體讀寫次數的比值;〔圖17〕為本發明之執行時間及單元解交錯處理之方法之一實施例的流程圖;以及〔圖18〕為本發明之執行時間及單元解交錯處理之方法之另一實施例的流程圖。
以下說明內容之技術用語係參照本技術領域之習慣用語,如本說明書對部分用語有加以說明或定義,該部分用語之解釋係以本說明書之說明或定義為準。
本發明之揭露內容包含時間及單元解交錯電路及執行時間及單元解交錯處理之方法,能夠減少對記憶體的讀寫次數。在實施為可能的前提下,本技術領域具有通常知識者能夠依本說明書之揭露內容來選擇等效之元件或步驟來實現本發明,亦即本發明之實施並不限於後敘之實
施例。由於本發明之時間及單元解交錯電路所包含之部分元件單獨而言可能為已知元件,因此在不影響該裝置發明之充分揭露及可實施性的前提下,以下說明對於已知元件的細節將予以節略。此外,本發明之執行時間及單元解交錯處理之方法可藉由本發明之時間及單元解交錯電路或其等效裝置來執行,在不影響該方法發明之充分揭露及可實施性的前提下,以下方法發明之說明將著重於步驟內容而非硬體。
請參閱圖8,其係本發明時間及單元解交錯電路之一實施
例的功能方塊圖。時間及單元解交錯電路800包含儲存電路810及解交錯運算電路820。儲存電路810包含緩存單元811以及記憶體模組812。在此實施例中,記憶體模組812的頻寬為w個位元(亦即每次讀寫的字組為w個位元),而一個單元的大小為c個位元,當緩存單元811(例如是先進先出暫存器)儲存w/c個單元(即一個單元組,w個元位)後,再一併寫入記憶體模組812的記憶體814。記憶體模組812包含寫入位址產生器813及讀取位址產生器815,分別用來於對記憶體814的寫入及讀取操作時產生目標記憶體位址,其中寫入位址產生器813及讀取位址產生器815構成記憶體814之儲存控制電路。解交錯運算電路820包含記憶體821及規則產生單元822,記憶體821可以由靜態隨機存取記憶體(static random access memory,SRAM)實作,規則產生單元822產生複數交換規則,從儲存電路810輸出的單元依據該些交換規則寫入及讀出記憶體821,以完成時間及單元解交錯處理,解交錯運算電路820的輸出即為經過時間解交錯處理及單元解交錯處理的結果。在此實施例中,記憶體814係包含於時間及單元解交錯電路800。如圖8a所示,實施上,時間及單元解交錯電路亦可利用外部的記
憶體來暫存交錯訊號的各單元,此時,時間及單元解交錯電路內部並不包括記憶體814,並利用一外部的記憶體814a來取代記憶體814的功能,時間及單元解交錯電路800a並利用儲存控制電路816來控制將交錯訊號存取於記憶體814a之存取操作。
請參閱圖9a、圖9b、圖9c及圖9d,其係本發明用於時間
及單元解交錯處理當記憶體頻寬為單元大小之4倍時記憶體814及記憶體821的記憶體位址、單元編號、讀寫順序及交換規則之一示意圖。圖9a為記憶體814之位址編號,共有24個(0~23)位址,每個位址可以寫入一個單元組(包含4個單元)。圖9b為寫入記憶體814之順序,從左上角開始橫向依序寫入單元組,寫滿一列後再換至下一列,寫入位址產生器813係遵循以下的規則產生位址:
其中i代表緩存單元811依序輸出之單元組的編號,共有
()×N r 個單元組(除數4代表一個字組包含4個單元),mod為取餘數之運算子,div為取商之運算子,WRi為寫入之位址,寫入位址及寫入的內容詳述如下:
第0次在記憶體位址0寫入包含編號{0、8、16、24}等單元的單元組;
第1次在記憶體位址8寫入包含編號{32、40、48、56}等單元的單元組;第2次在記憶體位址16寫入包含編號{64、72、空白字串、空白字串}等單元的單元組(空白字串為不具意義的資料,目的在於與有意義的資料組成單元組);…第22次在記憶體位址15寫入包含編號{39、47、55、63}等單元的單元組;第23次在記憶體位址23寫入包含編號{71、79、空白字串、空白字串}等單元的單元組。
圖9c為讀取記憶體814之順序,從左上角開始直向依序讀
取單元組,讀完一欄後再換至下一欄,讀取位址產生器815係遵循以下的規則產生位址,自記憶體814讀取出的單元組再依下面所列的規則寫入記憶體821中:
RDi為自記憶體814讀取之位址。需注意的是,從記憶體814讀取之單元組在某些情況下只將部分的單元寫入記憶體821,如上面的規則所示,其中「DRAM[X:Y]」代表讀出的單元組中將寫入記憶體821的位元位址,例如「DRAM[0:127]」代表單元組中全部的128個位元(即4個單元)都將寫入記憶體821,而「DRAM[0:31]」及「DRAM[63:127]」則分別代表將寫入單元組的前32個位元(即1個單元)及後64個位元(即2個單元)的資料,其餘類推。上述的r代表FEC區塊的編號。可以發現,在此實施例中,一個FEC區塊的所有單元在記憶體821中的分佈有4種情形:1.對編號為4n(n為大於等於0之正整數)的FEC區塊而言,先連續寫入8個單元組的全部資料,再連續寫入接下來的8個單元組的第一個單元的資料;
2.對編號為4n+1的FEC區塊而言,先連續寫入8個單元組的後三個單元的資料,再連續寫入接下來的8個單元組的前二個單元的資料;3.對編號為4n+2的FEC區塊而言,先連續寫入8個單元組的後二個單元的資料,再連續寫入接下來的8個單元組的前三個單元的資料;4.對編號為4n+3的FEC區塊而言,先連續寫入8個單元組的後一個單元的資料,再連續寫入接下來的8個單元組的全部資料。
因此對記憶體814的讀取位址、讀取內容及輸出給解交錯運算電路820的內容詳述如下:第0次在記憶體位址0讀取包含編號{0、8、16、24}的單元組,輸出所有的讀取資料(DRAM[0:127]);第1次在記憶體位址1讀取包含編號{1、9、17、25}的單元組,輸出所有的讀取資料(DRAM[0:127]);…第7次在記憶體位址7讀取包含編號{7、15、23、31}的單元組,輸出所有的讀取資料(DRAM[0:127]);第8次在記憶體位址8讀取包含編號{32、40、48、56}的單元組,輸出讀取資料的第一個單元(DRAM[0:31]);…第15次在記憶體位址15讀取包含編號{39、47、55、63}的單元組,輸出讀取資料的第一個單元(DRAM[0:31]);第16次在記憶體位址8讀取包含編號{32、40、48、56}的單元組,輸出讀取資料的後三個單元(DRAM[32:127]);
…第23次在記憶體位址15讀取包含編號{39、47、55、63}的單元組,輸出讀取資料的後三個單元(DRAM[32:127]);第24次在記憶體位址16讀取包含編號{64、72、空白字串、空白字串}的單元組,輸出讀取資料的前二個單元(DRAM[0:63]);…第31次在記憶體位址23讀取包含編號{71、79、空白字串、空白字串}的單元組,輸出讀取資料的前二個單元(DRAM[0:63]);。
規則產生單元822可產生複數交換規則,包含寫入規則及讀取規則。請參閱圖9d所示,其係本發明解交錯運算電路820之記憶體821中單元的儲存狀態、交換規則以及輸出順序之示意圖。在一個較佳的實施例中,將單元寫入記憶體821時依據單元自記憶體814的讀出順序,在記憶體821中依位址由小到大的順序依序寫入。如圖9d所示,以第4n個FEC區塊為例,即以記憶體814輸出之單元順序依序寫入,而得到左邊的圖的結果。讀取記憶體821時依據中間的圖所示的讀取規則,最後可得如右邊的圖所示的單元解交錯結果。對第4n+1個FEC區塊而言,其寫入規則與4n個FEC區塊的寫入規則相同,然而讀出規則不同,是因為在此實施例中(w/c=4),一個FEC區塊的單元在記憶體821中共有4種分佈態樣(如前述),所以相同的寫入規則必須搭配4種不同的讀取規則。此4種讀取規則可以表示如下:對編號為4n的FEC區塊,使用L r,0(q)的讀取規則:
對編號為4n+1的FEC區塊,使用L r,1(q)的讀取規則:
對編號為4n+2的FEC區塊,使用L r,2(q)的讀取規則:
對編號為4n+3的FEC區塊,使用L r,3(q)的讀取規則:
其中,L r (q)為輸入單元之順序已經過時間解交錯處理之讀取規則(對應圖5之簡單例示),用於執行單元解交錯處理。L r (q)通常記載於廣播標準的規格書中,舉例來說,當本發明之時間及單元解交電路應用於DVB-T2廣播系統時,即可自DVB-T2規格書中得知對應的L r (q)。
在另一個較佳的實施例中,寫入規則共有4種(編號4n、4n+1、4n+2、4n+3之FEC區塊輪流使用),而讀取規則只有一種。此4種讀取規則可以表示如下:編號為4n的FEC區塊的寫入規則:
編號為4n+1的FEC區塊的寫入規則:
編號為4n+2的FEC區塊的寫入規則:
編號為4n+3的FEC區塊的寫入規則:
其中,CDI_WRi為第i個寫入記憶體821之單元的寫入位址。
事實上,以上述之順序將儲存電路810輸出之單元寫入記憶體821的結果等同經過時間解交錯處理後之單元依序寫入記憶體821的結果,即如圖5之CDI暫存器所示。因此本實施例之讀取規則即習知之單元解交錯處理之規則(如圖5之交換規則所例示),因此解交錯運算電路820的最終輸出結果便是完成時間解交錯處理及單元解交錯處理之結果。
由前述說明可知,為了降低存取記憶體814的次數,交錯
訊號的各個單元自記憶體814讀出時,尚未完成時間解交錯處理,所以,規則產生單元822在產生交換規則時需同時考慮交錯訊號各個單元的時間交錯特性及單元交錯特性,並據以產生適當的交換規則,使交錯訊號的各個單元於存取於記憶體821後,同時完成解時間交錯處理及解單元交錯處理。實施上,規則產生單元822可以是記憶體821的儲存控制電路,並可由邏輯電路所構成,根據交錯訊號所遵循的廣播標準得知交錯訊號中各個單元的時間交錯特性及單元交錯特性,再依據該等單元存取於記憶體814的規則,即可得到交換規則,規則產生單元822並依據交換規則將讀取自記憶體814之各個單元於存取於記憶體821,以完成解時間交錯處理及解單元交錯處理。
請參閱圖10a、圖10b及圖10c,其係本發明用於時間及單
元解交錯處理當記憶體頻寬為單元大小之2倍時記憶體814的記憶體位址、單元編號及讀寫順序之一示意圖。圖10a為記憶體814之位址編號,共有40個(0~39)位址,每個位址可以寫入一個單元組(包含2個單元)。圖10b為寫入記憶體814之順序,從左上角開始橫向依序寫入單元組,寫滿一列後再換至下一列,寫入位址產生器813係遵循以下的規則產生位址:
其中i代表緩存單元811依序輸出之單元組的編號,共有
()×N r 個單元組(除數2代表一個字組包含2個單元)。
圖10c為讀取記憶體814之順序,從左上角開始直向依序
讀取單元組,讀完一欄後再換至下一欄,讀取位址產生器815係遵循以下的規則產生位址:
需注意的是,從記憶體814讀取之單元組在某些情況下只將其部分的單元寫入記憶體821。可以發現,在此實施例中,一個FEC區塊的所有單元在記憶體821中的分佈只有2種情形:1.對編號為2n的FEC區塊而言,先連續寫入16個單元組的全部資料,再連續寫入接下來的8個單元組的前半段資料;2.對編號為2n+1的FEC區塊而言,先連續寫入8個單元組的後半段的資料,再連續寫入接下來的16個單元組的全部資料。
規則產生單元822所產生之複數交換規則包含寫入規則及讀取規則。在一個較佳的實施例中,將單元寫入記憶體821時依據單元自記憶體814的讀出順序,在記憶體821中依位址由小到大的順序依序寫入。因為在此實施例中(w/c=2),一個FEC區塊的單元在記憶體821中共有2種分佈態樣(如前述),所以相同的寫入規則必須搭配2種不同的讀取規則(編號2n、2n+1之FEC區塊輪流使用)。此2種讀取規則可以表示如下:對編號為2n的FEC區塊,使用L r,0(q)的讀取規則:
對編號為2n+1的FEC區塊,使用L r,1(q)的讀取規則:
在另一個較佳的實施例中,寫入規則共有2種(編號2n、2n+1之FEC區塊輪流使用),而讀取規則只有一種。此2種寫入規則可以表示如下:
編號為2n的FEC區塊的寫入規則:
編號為2n+1的FEC區塊的寫入規則:
而對應之讀取規則即習知之單元解交錯處理之規則。
請參閱圖11a、圖11b及圖11c,其係本發明用於時間及單
元解交錯處理當記憶體頻寬為單元大小之8倍時記憶體814的記憶體位址、單元編號及讀寫順序之一示意圖。由於本技術領域具有通常知識者可以由上述之實施例推及其操作細節,故不再贅述。
請參閱圖12,其係本發明在不同的LDPC區塊長度及不同
的調變模式下記憶體814的讀寫次數(細分為頻寬大小為單元大小的2倍、4倍及8倍),以及與習知記憶體讀寫次數的比值。結果顯示,在同一種LDPC區塊長度及同一種調變模式下,不論頻寬大小與單元大小的倍數(w/c)為何,相較於習知的方法,皆能有效降低記憶體的讀寫次數,尤其當w/c愈大時,效果愈顯著。
請參閱圖13,其係本發明時間及單元解交錯電路之另一
實施例的功能方塊圖。時間及單元解交錯電路1300包含儲存電路1310、解交錯運算電路1320、選擇單元1330及暫存記憶體模組1340。儲存電路1310包含緩存單元1311以及記憶體模組1312。在此實施例中,記憶體模組1312的頻寬為w個位元,而一個單元的大小為c個位元,當緩存單元1311(例如是先進先出暫存器)儲存w/c個單元後,再一併寫入記憶體模組1312的記憶體1314。記憶體模組1312包含寫入位址產生器1313及讀取位址產生器1315,分別用來於對記憶體1314的寫入及讀取操作時產生目標記憶體位址。暫存記憶體模組1340包含暫存記憶體1341及位址產生器1342,位址產生器1342用來產生寫入位址或讀取位址以供存取暫存記憶體1341,實作上,暫存記憶體模組1340可例如是靜態隨機存取記憶體。解交錯運算電路1320包含記憶體1321及規則產生單元1322,記憶體1321可以由靜態隨機存取記憶體實作,規則產生單元1322產生複數交換規則,從儲存電路1310輸出的單元依據該些交換規則寫入及讀出記憶體1321,以完成時間及單元解交錯處理,解交錯運算電路1320的輸出即為經過時間解交錯處理及單元解交錯處理的結果。
請參閱圖14a、圖14b、圖14c及圖14d,其係本發明用於
時間及單元解交錯處理當記憶體頻寬為單元大小之4倍時記憶體1314、記憶體1321及記憶體1341中的記憶體位址、單元編號、讀寫順序及交換規則之一示意圖。圖14a為記憶體1314之位址編號,共有20個位址(橫向16個,直向4個),每個位址可以寫入一個單元組(包含4個單元)。記憶體1314的大小可以用一般式表示為:橫向×N r ×4個單元,直向××4個單元。圖14b為暫存記憶體1341之暫存內容及選擇單元1330將資料寫入記憶體1314之順序。在前一個實施中,當一個單元組包含4個單元時(如圖9所示),由於屬於同一個FEC區塊之資料與其他非屬同一個FEC區塊之資料組成一單元組寫入記憶體814(例如圖9b中編號32之單元與編號40、48、56之單元成為一單元組),因此在讀取時,該單元組必須在對第一及第二FEC區塊進行操作時各讀取一次。為了更加減低對記憶體的讀取次數,此實施例利用暫存記憶體1341先儲存某些單元,以安排該些單元寫入至該記憶體模組之順序,選擇單元1330決定以新進的單元或是暫存的單元輸出至儲存電路1314,如此一來,寫入的資料會經過適當的重組,使從記憶體1314讀出單元組時會更有效率,減少對記憶體1314的讀取次數。暫存記憶體1341的大小為NFEC×(w/c-1)單元,此例中NFEC==2,w/c=4,因此暫存記憶體1341共可儲存2×3=6個單元。寫入位址產生器1313係遵循以下的規則產生位址:橫向的記憶體位址:
直向的記憶體位址:
寫入位址及寫入的內容如下:第0次在橫向的記憶體位址0寫入包含編號{0、8、16、24}等單元的單元組;暫存記憶體1341暫存編號32之單元;第1次在橫向的記憶體位址8寫入包含編號{40、48、56、64}等單元的單元組;暫存記憶體1341暫存編號72之單元;第2次在橫向的記憶體位址1寫入包含編號{1、9、17、25}等單元的單元組;暫存記憶體1341暫存編號33之單元;…第6次在橫向的記憶體位址3寫入包含編號{3、11、19、27}等單元的單元組;
第7次寫入時先從暫存記憶體1341讀取編號為32、33、34之單元,連同新進之編號為35之單元組成一個單元組,將該單元組寫入直向的記憶體位址0;第8次在橫向的記憶體位址11寫入包含編號{43、51、59、67}等單元的單元組;第9次寫入時先從暫存記憶體1341讀取編號為72、73、74之單元,連同新進之編號為75之單元組成一個單元組,將該單元組寫入直向的記憶體位址2;第10次在橫向的記憶體位址4寫入包含編號{4、12、20、28}等單元的單元組;暫存記憶體1341暫存編號36之單元;第11次在橫向的記憶體位址12寫入包含編號{44、52、60、68}等單元的單元組;暫存記憶體1341暫存編號76之單元;…第17次寫入時先從暫存記憶體1341讀取編號為36、37、38之單元,連同新進之編號為39之單元組成一個單元組,將該單元組寫入直向的記憶體位址1;第18次在橫向的記憶體位址15寫入包含編號{47、55、63、71}等單元的單元組;
第19次寫入時先從暫存記憶體1341讀取編號為76、77、78之單元,連同新進之編號為79之單元組成一個單元組,將該單元組寫入直向的記憶體位址3。
圖14c為讀取記憶體1314之順序,讀取位址產生器1315係
遵循以下的規則產生位址:橫向的記憶體位址:
直向的記憶體位址:
RDi為讀取之位址,讀取位址及讀取的內容詳述如下:第0次在橫向的記憶體位址0讀取包含編號{0、8、16、24}的單元組,並寫入記憶體1321;第1次在橫向的記憶體位址1讀取包含編號{1、9、17、25}的單元組,並寫入記憶體1321;…
第8次在直向的記憶體位址0讀取包含編號{32、33、34、35}的單元組,並寫入記憶體1321;第9次在直向的記憶體位址1讀取包含編號{36、37、38、39}的單元組,並寫入記憶體1321;第10次在橫向的記憶體位址8讀取包含編號{40、48、56、64}的單元組,並寫入記憶體1321;…第18次在直向的記憶體位址2讀取包含編號{72、73、74、75}的單元組,並寫入記憶體1321;第19次在直向的記憶體位址3讀取包含編號{76、77、78、79}的單元組,並寫入記憶體1321。
請參閱圖14d,其係本發明解交錯運算電路1320之記憶體1321中單元的儲存狀態、交換規則以及輸出順序之示意圖。在一個較佳的實施例中,將單元寫入記憶體1321時依據單元自記憶體1314的讀出順序,在記憶體1321中依位址由小到大的順序依序寫入。如圖14d所示,以第0個FEC區塊為例,即以記憶體1314輸出之單元順序依序寫入,而得到左邊的圖的結果。讀取記憶體1321時依據中間的圖所示的讀取規則,最後可得如右邊的圖所示的單元解交錯結果。對第1個FEC區塊而言,其寫入規則與0個FEC區塊的寫入規則相同,且讀出規則亦相同,是因為在此實施例中對每個FEC區塊而言從記憶體1314讀出資料之相對位置相同,所以在記憶體1321中也有相同的排列,因此只需要依循同一種讀取規則。此讀取規則可以表示如下:
新的讀取規則(L r,new (q))依據L r (q)的範圍有不同的操
作方法,其中L r (q)為輸入單元之順序已經過時間解交錯處理之讀取規則(對應圖5之簡單例示),用於執行單元解交錯處理。
在另一個較佳的實施例中,規則產生單元1322改變單元
寫入記憶體1321的順序,使單元寫入記憶體1321之順序等同時間解交錯處理後之順序,因此之後將單元讀出記憶體1321時可以依據習知技術之單元解交錯處理所使用之讀取規則,而不需再加以調整。此寫入規則如下:
請參閱圖15a、圖15b及圖15c,其係本發明用於時間及單
元解交錯處理當記憶體頻寬為單元大小之2倍時記憶體1314及記憶體1321的記憶體位址、單元編號及讀寫順序之一示意圖。由於本技術領域具有通常知識者可以由上述之實施例推及其操作細節,故不再贅述。
請參閱圖16,其係本發明在不同的LDPC區塊長度及不同
的調變模式下記憶體1314的讀寫次數(細分為頻寬大小為單元大小的2倍、及4倍),以及與習知記憶體讀寫次數的比值。結果顯示,在同一種LDPC區塊長度及同一種調變模式下,不論頻寬大小與單元大小的倍數
(w/c)為何,相較於習知的方法,皆能有效降低記憶體的讀寫次數,尤其當w/c愈大時,效果愈顯著。
請參閱圖17,其係本發明之執行時間及單元解交錯處理之方法之一實施例的流程圖。除前述之時間及單元解交錯電路外,本發明亦相對應地揭露了一種執行時間及單元解交錯處理之方法,應用於通訊系統的訊號接收端。本方法由前揭時間及單元解交錯電路800或其等效電路來執行。如圖17所示,本發明執行時間及單元解交錯處理之方法之一實施例包含下列步驟:步驟S1710:提供第一記憶體,用來儲存交錯訊號之複數單元。此交錯訊號包含複數FEC區塊,每個FEC區塊包含複數單元。每次寫入及讀取第一記憶體以一個單元組(即第一記憶體之字組)為單位,一個單元組包含K個單元,K為大於1之正整數;步驟S1720:提供第二記憶體。第二記憶體用來儲存從第一記憶體讀出的單元,並可同時儲存一個向前錯誤校正區塊的所有單元。從第一記憶體讀出的單元並未完成時間解交錯的處理,也就是說從該第一記憶體讀出的單元的順序並非依照時間解交錯處理後之順序;步驟S1730:自該第一記憶體讀取該些單元,並依據複數交換規則之一寫入規則寫入該第二記憶體;以及步驟S1740:依據該些交換規則之一讀取規則將該些單元讀出該第二記憶體,使讀取自該第二記憶體之該些單元完成時間解交錯處理及單元解交錯處理。
在一個較佳的實施例中,將每一個FEC區塊之單元寫入
第二記憶體時係依據同樣的寫入規則,但將單元自第二記憶體讀出時係依據不同的FEC區塊而有不同的讀取規則。該寫入規則為依據單元自第一記憶體讀出的順序依序寫入第二記憶體,而其相對應的讀取規則共有K個,每一個FEC區塊依據寫入第二記憶體之順序輪流使用該K個讀取規則。
在另一個較佳的實施例中,將每一個FEC區塊之單元從
該第二記憶體讀出時係依據同樣的讀取規則,但將單元寫入第二記憶體時係依據不同的FEC區塊而有不同的寫入規則。寫入規則共有K個,各FEC區塊依據寫入第二記憶體的順序輪流使用K個寫入規則。依據寫入規則寫入第二記憶體的單元呈現時間解交錯處理後之分佈,因此該K個寫入規則對應同一個讀取規則,該讀取規則即是習知技術中單元解交錯處理之規則,亦即將單元依據該讀取規則自第二記憶體讀出後即完成單元解交錯處理。
請參閱圖18,其係本發明之執行時間及單元解交錯處理之方法之另一實施例的流程圖。本方法由前揭時間及單元解交錯電路1300或其等效電路來執行。如圖18所示,本發明執行時間及單元解交錯處理之方法之一實施例包含下列步驟:步驟S1810:提供第一記憶體,用來儲存交錯訊號之複數單元。此交錯訊號包含複數FEC區塊,每個FEC區塊包含複數單元。每次寫入及讀取第一記憶體以一個單元組為單位,一個單元組包含K個單元,K為大於1之正整數;步驟S1820:提供第二記憶體。第二記憶體用來儲存從第一記憶體讀出的單元,並可同時儲存一個向前錯誤校正區塊的所有單元。從
第一記憶體讀出的單元並未完成時間解交錯的處理,也就是說從該第一記憶體讀出的單元的順序並非依照時間解交錯處理後之順序;步驟S1830:於接收該些單元之後及將該些單元寫入該第一記憶體之前,選擇性地暫存該些單元。某些單元在存入第一記憶體之前先予以暫存,以等待之後的單元共同組成一個單元組,再寫入第一記憶體,如此一來讀取同一個FEC區塊的所有單元的過程中,不會讀出屬於其他FEC區塊的資料,以提高讀取效能;步驟S1840:自該第一記憶體讀取該些單元,並依據複數交換規則之一寫入規則將該些單元寫入該第二記憶體;以及步驟S1850:依據該些交換規則之一讀取規則將該些單元讀出該第二記憶體,使讀取自該第二記憶體之該些單元完成時間解交錯處理及單元解交錯處理。
在此方法中,對同一個單元組而言,對該第一記憶體之寫入及讀取操作次數各為一次。各FEC區塊的單元依據同一個寫入規則寫入第二記憶體,並且讀出時也依據同一個讀取規則操作。在一個較佳的實施例中,該寫入規則為依據單元自第一記憶體讀出的順序依序寫入第二記憶體,且依據該讀取規則所讀出的單元順序,即為完成時間解交錯處理及單元解交錯處理之順序。在另一個較佳的實施例中,依據該寫入規則寫入第二記憶體的單元呈現時間解交錯處理後之分佈,該讀取規則即是習知技術中單元解交錯處理之規則,亦即將單元依據該讀取規則自第二記憶體讀出後即完成單元解交錯處理。
雖然本發明之實施例如上所述,然而該些實施例並非用
來限定本發明,本技術領域具有通常知識者可依據本發明之明示或隱含之內容對本發明之技術特徵施以變化,凡此種種變化均可能屬於本發明所尋求之專利保護範疇,換言之,本發明之專利保護範圍須視本說明書之申請專利範圍所界定者為準。
800‧‧‧時間及單元解交錯電路
810‧‧‧儲存電路
811‧‧‧緩存單元
812‧‧‧記憶體模組
814、821‧‧‧記憶體
820‧‧‧解交錯運算電路
822‧‧‧交換規則產生單元
813‧‧‧寫入位址產生器
815‧‧‧讀取位址產生器
Claims (20)
- 一種時間及單元解交錯電路,位於一通訊系統之訊號接收端,用來對一交錯訊號進行時間解交錯處理及單元解交錯處理,該交錯訊號包含複數單元,該時間及單元解交錯電路包含:一第一記憶體,用來儲存該些單元;一儲存控制電路,用來控制該第一記憶體之存取操作,該存取操作係以一單元組為單位,該單元組包含K個單元,K為大於1之正整數;一第二記憶體,用來儲存讀取自該第一記憶體之該些單元;以及一規則產生單元,用來產生複數交換規則,並依據該些交換規則之一寫入規則將讀取自該第一記憶體之該些單元寫入該第二記憶體,使寫入該第二記憶體之連續K個單元係來自同一單元組,以及依據該些交換規則之一讀取規則將儲存於該第二記憶體之該些單元讀出該第二記憶體,使讀取自該第二記憶體之該些單元完成時間解交錯處理及單元解交錯處理。
- 如申請專利範圍第1項所述之時間及單元解交錯電路,其中該交錯訊號係包含複數向前錯誤校正區塊,該些交換規則係包含一個該寫入規則及K個讀取規則,該寫入規則適用每一向前錯誤校正區塊,該K個讀取規則分別適用於該些向前錯誤校正區塊中不同的向前錯誤校正區塊。
- 如申請專利範圍第2項所述之時間及單元解交錯電路,其中該規則產生單元依據該寫入規則將該些單元以自該第一記憶體讀出之順序依序寫入該第二記憶體。
- 如申請專利範圍第1項所述之時間及單元解交錯電路,其中該交錯訊號係包含複數向前錯誤校正區塊,該些交換規則係包含一個該讀取規則及K個寫入規則,該讀取規則適用每一向前錯誤校正區塊,該K個寫入規則分別適用於該些向前錯誤校正區塊中不同的向前錯誤校正區塊。
- 如申請專利範圍第4項所述之時間及單元解交錯電路,其中該規則產生單元依據該寫入規則將該些單元寫入該第二記憶體之結果係等同於該些單元以時間解交錯後之順序依序寫入該第二記憶體之結果,並且該讀取規則係為單元解交錯處理之規則。
- 如申請專利範圍第1項所述之時間及單元解交錯電路,更包括:一暫存記憶體,用來於該些單元寫入該第一記憶體之前暫存該些單元之部分,以安排該些單元寫入至該記憶體模組之順序;以及一選擇單元,用來選擇將該交錯訊號之該等單元寫入該第一記憶體及將暫存於該暫存記憶體之該等單元寫入該第一記憶體二者其中之一。
- 如申請專利範圍第6項所述之時間及單元解交錯電路,其中在時間解交錯處理及單元解交錯處理過程中,對同一單元組而言,對該第一記憶體之寫入及讀取操作次數各為一次。
- 如申請專利範圍第6項所述之時間及單元解交錯電路,其中該交錯訊號之一時間區塊包含N個向前錯誤校正區塊,該暫存記憶體係至少可同時儲存N×(K-1)個單元,N為大於1之正整數。
- 一種執行時間及單元解交錯處理之方法,應用於一通訊系統之訊號接收端,用來對一交錯訊號進行時間解交錯處理及單元解交錯處理,該交錯訊號包含複數單元,該方法包含:提供一第一記憶體,用來儲存該些單元,每次寫入及讀取係以一單元組為單位,該單元組包含K個單元,K為大於1之正整數;提供一第二記憶體,用來儲存讀取自該第一記憶體之該些單元;自該第一記憶體讀取該些單元,並依據複數交換規則之一寫入規則寫入該第二記憶體,寫入該第二記憶體之連續K個單元係來自同一單元組;以及依據該些交換規則之一讀取規則將該些單元讀出該第二記憶體,使讀取自該第二記憶體之該些單元完成時間解交錯處理及單元解交錯處理。
- 如申請專利範圍第9項所述之方法,其中該交錯訊號係包含複數向前錯誤校正區塊,該些交換規則係包含一個該寫入規則及K個讀取規則,該寫入規則適用每一向前錯誤校正區塊,該K個讀取規則分別適用於該些向前錯誤校正區塊中不同的向前錯誤校正區塊。
- 如申請專利範圍第9項所述之方法,其中該寫入規則係使該些單元依據自該第一記憶體讀出之順序依序寫入該第二記憶體。
- 如申請專利範圍第9項所述之方法,其中該交錯訊號係包含複數向前錯誤校正區塊,該些交換規則係包含一個該讀取規則及K個寫入規則,該讀取規則適用每一向前錯誤校正區塊,該K個寫入規則分別適用於該些向前錯誤校正區塊中不同的向前錯誤校正區塊。
- 如申請專利範圍第9項所述之方法,更包括:提供一暫存記憶體,用來於該些單元寫入該第一記憶體之前暫存該些單元之部分;以及於接收該些單元之後及將該些單元寫入該第一記憶體之前,選擇性地暫存該些單元於該暫存記憶體。
- 如申請專利範圍第13項所述之方法,其中在時間解交錯處理及單元解交錯處理過程中,對同一單元組而言,對該第一記憶體之寫入及讀取操作次數各為一次。
- 如申請專利範圍第13項所述之方法,其中該交錯訊號之一時間區塊包含N個向前錯誤校正區塊,該暫存記憶體係至少可同時儲存N×(K-1)個單元,N為大於1之正整數。
- 一種時間及單元解交錯電路,位於一通訊系統之訊號接收端,用來對一交錯訊號進行時間解交錯處理及單元解交錯處理,該交錯訊號包含複數單元,該時間及單元解交錯電路包含:一儲存控制電路,用來控制將該些單元存取於一第一記憶體之存取操作,該存取操作係以一單元組為單位,該單元組包含K個單元,K為大於1之正整數;一第二記憶體,用來儲存讀取自該第一記憶體之該些單元;以及 一規則產生單元,用來產生複數交換規則,並依據該些交換規則之一寫入規則將讀取自該第一記憶體之該些單元寫入該第二記憶體,使寫入該第二記憶體之連續K個單元係來自同一單元組,以及依據該些交換規則之一讀取規則將儲存於該第二記憶體之該些單元讀出該第二記憶體,使讀取自該第二記憶體之該些單元完成時間解交錯處理及單元解交錯處理。
- 如申請專利範圍第16項所述之時間及單元解交錯電路,其中該交錯訊號係包含複數向前錯誤校正區塊,該些交換規則係包含一個該寫入規則及K個讀取規則,該寫入規則適用每一向前錯誤校正區塊,該K個讀取規則分別適用於該些向前錯誤校正區塊中不同的向前錯誤校正區塊。
- 如申請專利範圍第17項所述之時間及單元解交錯電路,其中該規則產生單元依據該寫入規則將該些單元以自該第一記憶體讀出之順序依序寫入該第二記憶體。
- 如申請專利範圍第16項所述之時間及單元解交錯電路,其中該交錯訊號係包含複數向前錯誤校正區塊,該些交換規則係包含一個該讀取規則及K個寫入規則,該讀取規則適用每一向前錯誤校正區塊,該K個寫入規則分別適用於該些向前錯誤校正區塊中不同的向前錯誤校正區塊。
- 如申請專利範圍第19項所述之時間及單元解交錯電路,其中該規則產生單元依據該寫入規則將該些單元寫入該第二記憶體之結果係等同於該些單元以時間解交錯後之順序依序寫入該第二記憶體之結果,並且該讀取規則係為單元解交錯處理之規則。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104122018A TWI551062B (zh) | 2015-07-07 | 2015-07-07 | 時間及單元解交錯電路及執行時間及單元解交錯處理之方法 |
CN201610033444.4A CN106341139A (zh) | 2015-07-07 | 2016-01-19 | 时间及单元解交织电路及执行时间及单元解交织处理的方法 |
US15/202,954 US10164664B2 (en) | 2015-07-07 | 2016-07-06 | Time and cell de-interleaving circuit and method for performing time and cell de-interleaving |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104122018A TWI551062B (zh) | 2015-07-07 | 2015-07-07 | 時間及單元解交錯電路及執行時間及單元解交錯處理之方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI551062B TWI551062B (zh) | 2016-09-21 |
TW201703443A true TW201703443A (zh) | 2017-01-16 |
Family
ID=57445195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104122018A TWI551062B (zh) | 2015-07-07 | 2015-07-07 | 時間及單元解交錯電路及執行時間及單元解交錯處理之方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10164664B2 (zh) |
CN (1) | CN106341139A (zh) |
TW (1) | TWI551062B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109728826B (zh) * | 2017-10-27 | 2023-07-07 | 深圳市中兴微电子技术有限公司 | 一种数据交织与解交织方法和装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6678843B2 (en) * | 1999-02-18 | 2004-01-13 | Interuniversitair Microelektronics Centrum (Imec) | Method and apparatus for interleaving, deinterleaving and combined interleaving-deinterleaving |
KR101033582B1 (ko) * | 2004-04-09 | 2011-05-11 | 엘지전자 주식회사 | 방송 수신기에서의 시간 역인터리빙을 위한 메모리 제어 방법 |
US7657818B2 (en) * | 2005-06-22 | 2010-02-02 | Adaptive Spectrum And Signal Alignment, Inc. | Dynamic minimum-memory interleaving |
US7783826B2 (en) * | 2006-09-28 | 2010-08-24 | Qimonda Ag | Data bus width converter |
GB2461464B (en) * | 2007-04-27 | 2011-11-16 | Lg Electronics Inc | Transmitting a downlink control channel in a mobile communication system and mapping the control channel to a physical resource using a block interleaver |
KR101613893B1 (ko) * | 2007-10-04 | 2016-04-20 | 삼성전자주식회사 | 이동통신 시스템에서 데이터 인터리빙 방법 및 장치 |
CN101800619B (zh) * | 2009-12-28 | 2013-03-06 | 福州瑞芯微电子有限公司 | 一种基于块交织的交织或解交织方法及其装置 |
KR101779026B1 (ko) * | 2011-07-14 | 2017-09-18 | 삼성전자주식회사 | 디인터리빙 방법 및 이를 적용한 방송 수신 장치 |
US8601340B2 (en) * | 2011-07-25 | 2013-12-03 | Cortina Systems, Inc. | Time varying data permutation apparatus and methods |
EP2597837A1 (en) * | 2011-11-25 | 2013-05-29 | Panasonic Corporation | Improved cell interleaving and component separation for rotated constellations |
US8954822B2 (en) * | 2011-11-18 | 2015-02-10 | Sandisk Enterprise Ip Llc | Data encoder and decoder using memory-specific parity-check matrix |
US20150200747A1 (en) * | 2012-07-27 | 2015-07-16 | Panasonic Corporation | Transmission method, reception method, transmitter, and receiver |
KR20150005853A (ko) * | 2013-07-05 | 2015-01-15 | 삼성전자주식회사 | 송신 장치 및 그의 신호 처리 방법 |
-
2015
- 2015-07-07 TW TW104122018A patent/TWI551062B/zh not_active IP Right Cessation
-
2016
- 2016-01-19 CN CN201610033444.4A patent/CN106341139A/zh active Pending
- 2016-07-06 US US15/202,954 patent/US10164664B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20170012737A1 (en) | 2017-01-12 |
CN106341139A (zh) | 2017-01-18 |
TWI551062B (zh) | 2016-09-21 |
US10164664B2 (en) | 2018-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100370239B1 (ko) | 고속 블럭 파이프라인 구조의 리드-솔로몬 디코더에적용하기 위한 메모리 장치와 메모리 액세스 방법 및 그메모리 장치를 구비한 리드-솔로몬 디코더 | |
US7840859B2 (en) | Block interleaving with memory table of reduced size | |
JP2000151426A (ja) | インターリーブ・デインターリーブ回路 | |
TWI569587B (zh) | 解迴旋交錯器 | |
TWI551062B (zh) | 時間及單元解交錯電路及執行時間及單元解交錯處理之方法 | |
US7363552B2 (en) | Method and apparatus for convolutional interleaving/de-interleaving technique | |
TWI565253B (zh) | 時間解交錯電路與執行時間解交錯處理之方法 | |
US9900201B2 (en) | Time de-interleaving circuit and method thereof | |
US20050050284A1 (en) | System and method for interleaving data in a communications device | |
CN105376008A (zh) | Ldpc码字的交织映射方法及解交织解映射方法 | |
KR100499467B1 (ko) | 블록 인터리빙 방법 및 그를 위한 장치 | |
US8799750B1 (en) | Convolutional interleaver for bursty memory access | |
US20070061667A1 (en) | Convolutional interleaving and de-interleaving circuit and method thereof | |
KR100215566B1 (ko) | 정적 램을 이용한 길쌈 인터리버/디인터리버 및정적 램의 주소 생성 방법 | |
TW201842784A (zh) | 數位電視之資料處理電路及資料處理方法 | |
CN110383785B (zh) | 在dvb-t2接收机中执行二进制数据流的时域去交织的装置 | |
US9313069B2 (en) | OFDM processing system and method | |
US9442661B2 (en) | Multidimensional storage array and method utilizing an input shifter to allow an entire column or row to be accessed in a single clock cycle | |
US20180077447A1 (en) | De-interleaving circuit and de-interleaving method | |
TWI597951B (zh) | 時間解交錯電路與執行時間解交錯處理的方法 | |
KR100733767B1 (ko) | 시간 디인터리빙 장치 및 방법 | |
WO2013039376A1 (en) | Interleaver for duo -binary turbo codes for a wimax communication system | |
TW201644206A (zh) | 解迴旋交錯器與解迴旋交錯方法 | |
KR100925429B1 (ko) | 터보 코더 | |
KR20040083697A (ko) | 디지털 tv 시스템에서의 외부 메모리를 이용한디인터리빙 장치 및 그 구현 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees | ||
MM4A | Annulment or lapse of patent due to non-payment of fees |