TWI569587B - 解迴旋交錯器 - Google Patents
解迴旋交錯器 Download PDFInfo
- Publication number
- TWI569587B TWI569587B TW104104007A TW104104007A TWI569587B TW I569587 B TWI569587 B TW I569587B TW 104104007 A TW104104007 A TW 104104007A TW 104104007 A TW104104007 A TW 104104007A TW I569587 B TWI569587 B TW I569587B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- memory
- interleaved
- convolutional
- interlaced
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 27
- 230000003111 delayed effect Effects 0.000 claims description 18
- 238000013500 data storage Methods 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 14
- 238000006243 chemical reaction Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- VVNCNSJFMMFHPL-GSVOUGTGSA-N L-penicillamine Chemical compound CC(C)(S)[C@H](N)C(O)=O VVNCNSJFMMFHPL-GSVOUGTGSA-N 0.000 description 4
- 238000003491 array Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
Description
本發明是關於解交錯器與解交錯方法,尤其是關於解迴旋交錯器與解迴旋交錯方法。
通訊傳輸技術(例如正交分頻多工(OFDM)無線傳輸技術)為了加強訊號對於干擾的抵抗能力,會在傳輸端對訊號施以時間交錯(Time Interleaving)處理,並在接收端對訊號施以時間解交錯(Time De-interleaving)處理。時間交錯處理之架構示意圖如圖1所示,該架構100包含K個交錯處理單元110,每一交錯處理單元110有nc個輸入端及nc個輸出端,分別用來依據訊號取樣時脈依序接收與輸出訊號,且每個交錯處理單元110之架構如圖2所示,包含nc個路徑,用來對訊號施以交錯處理。
上述交錯處理單元110可採用迴旋交錯(Convolutional Interleaving)處理,其一實施例如圖3所示,第1個輸入端與輸出端間有nc-1個單位的延遲((nc-1)D);第2個輸入端與輸出端間有有nc-2個單位的延遲((nc-2)D);...;第nc-1個輸入端與輸出端間有1個單位的延遲(D);以及第nc個輸入端與輸出端間沒有延遲(Bypass),其中每個單位的延遲依設計需求可以是I個訊號週期或訊號取樣時脈,在此I為正整
數。而在訊號經過上述迴旋交錯處理的情況下,訊號接收端會有一相對應的解迴旋交錯處理架構來執行解交錯,該解迴旋交錯處理架構包含K個解交錯處理單元,每個解交錯處理單元同樣依訊號取樣時脈來依序接收與輸出訊號,且具有與交錯處理單元110相反的延遲安排,如圖4所示,每個解交錯處理單元410之第1個輸入端與輸出端間沒有延遲(Bypass);第1個輸入端與輸出端間有1個單位的延遲(D);...;第nc-1個輸入端與輸出端間有nc-2個單位的延遲((nc-2)D);以及第nc個輸入端與輸出端間有nc-1個單位的延遲((nc-1)D)。
上述接收端各種單位的延遲可透過延遲緩衝器(Delay Buffer)來實現。一種目前技術是使用靜態隨機存取記憶體(SRAM)來達到延遲緩衝器的功能,儘管SRAM存取速度快,但由於相當昂貴,故不利於成本效益;另有一種目前技術是使用共用的系統記憶體來實現延遲緩衝器的功能,由於系統記憶體通常是同步動態隨機存取記憶體(SDRAM),價格相對地便宜,故可節省硬體成本,然而,此技術是依資料的接收順序將資料連續地寫入SDRAM中(較早被寫入的記憶體位址較早被覆寫),該接收順序因傳送端之迴旋交錯處理的關係而未依資料的連續性來排序,因此在解迴旋交錯處理時,為還原資料的連續性,此技術經常需從不同列(Different Rows)的記憶體位址來讀取資料,也就是說,由於SDRAM的結構與存取方式之設計所致,當各筆作為解交錯資料之資料儲存於SDRAM中不同的列位址區域時,在第一次讀取操作完成之後,需要進行一次預充電操作(precharge)以將第一次讀取操作所對應的列位址區域關閉,然後再透過一次列開啟操作(row active)將第二次讀取操作所對應的列位址
區域打開,如此,在複數筆資料交錯儲存於不同的列位置區域時,所額外需要的預充電操作與列開啟操作將會耗費大量存取時間,以進行不斷的列存取轉換(Row Accessing Change)上,綜言之,此技術不但需要較長的解迴旋交錯處理時間,也會影響其它電路存取系統記憶體的記憶體頻寬。
鑑於先前技術之不足,本發明之一目的在於提供一種解迴旋交錯器與解旋迴交錯方法,以改善先前技術。
本發明揭露一種應用於處理複數組迴旋交錯資料之解迴旋交錯器,該複數組迴旋交錯資料包含複數筆迴旋交錯資料,該複數筆迴旋交錯資料是藉由對複數組未交錯資料施以一迴旋交錯處理而成,每組未交錯資料包含L筆資料,經該迴旋交錯處理後每組未交錯資料中相鄰二筆資料對應一延遲深度差距,該L為正整數,該解迴旋交錯器之一實施例包含:一輸入資料緩衝器,用來暫存該複數組迴旋交錯資料;一記憶體控制器,藉由將暫存於該輸入資料緩衝器之該複數組迴旋交錯資料存取於一記憶體以進行解迴旋交錯處理,每筆被儲存的該迴旋交錯資料之記憶體位址是依據該筆資料所對應之一已延遲深度、該L之值與該延遲深度差距決定;以及一輸出資料緩衝器,用來暫存自該記憶體讀出之複數組解迴旋交錯資料。
本發明另揭露一種應用於處理複數組迴旋交錯資料之解迴旋交錯器,該複數組迴旋交錯資料包含複數筆迴旋交錯資料,該解迴旋交錯器之一實施例包含:一輸入資料緩衝器,用來暫存該複數組迴旋交錯資料;一記憶體控制器,藉由將暫存於該輸入資料緩衝器之該複數組迴旋
交錯資料存取於一記憶體以進行一解迴旋交錯處理,而得到複數組解迴旋交錯資料,該記憶體控制器將該複數筆迴旋交錯資料中對應該複數組解迴旋交錯資料中之同一組解迴旋交錯資料的複數筆資料儲存於該記憶體中的複數個同列記憶單位;以及一輸出資料緩衝器,用來暫存自該記憶體讀出之該複數組解迴旋交錯資料。
本發明亦揭露一種解迴旋交錯方法,用來處理複數組迴旋交錯資料,該複數組迴旋交錯資料包含複數筆迴旋交錯資料,該解迴旋交錯方法之一實施例包含下列步驟:將該複數組迴旋交錯資料存取於一記憶體以進行解迴旋交錯處理,得到複數組解迴旋交錯資料;其中該複數筆迴旋交錯資料中對應該複數組解迴旋交錯資料中之同一組解迴旋交錯資料的複數筆資料儲存於該記憶體中的複數個同列記憶單位。
有關本發明的特徵、實作與功效,茲配合圖式作較佳實施例詳細說明如下。
100‧‧‧時間交錯處理之架構
110‧‧‧交錯處理單元
410‧‧‧解交錯處理單元
500‧‧‧解迴旋交錯器
510‧‧‧輸入資料緩衝器
520‧‧‧記憶體存取控制器
530‧‧‧動態隨機存取記憶體
540‧‧‧輸出資料緩衝器
600‧‧‧旋迴交錯處理單元
610~640‧‧‧傳輸路徑
S1110、S1120、S1210、S1220‧‧‧步驟
〔圖1〕為時間交錯處理之架構示意圖;〔圖2〕為圖1之交錯處理單元之架構示意圖;〔圖3〕為採用迴旋交錯處理之交錯處理單元的架構示意圖;〔圖4〕為採用解迴旋交錯處理之解交錯處理單元的架構示意圖;〔圖5〕為本發明之解迴旋交錯器之一實施例的示意圖;〔圖6a〕為先前技術之迴旋交錯處理單元處理未交錯資料以輸出迴旋交錯資料的示意圖;
〔圖6b〕為本發明之解迴旋交錯器處理迴旋交錯資料以輸出解迴旋交錯資料的示意圖;〔圖7〕為本發明之記憶體存取控制器將資料存於動態隨機存取記憶體之示意圖;〔圖8〕為先前技術之記憶體存取控制器將資料存於動態隨機存取記憶體之示意圖;〔圖9〕為本發明之記憶體存取控制之一實施例的示意圖;〔圖10〕為先前技術之記憶體存取控制之示意圖;〔圖11〕為本發明之解迴旋交錯方法之一實施例的示意圖;以及〔圖12〕為本發明之解迴旋交錯方法之另一實施例的示意圖。
本發明揭露了一種解迴旋交錯器(Convolutional De-Interleaver)與解迴旋交錯方法,能夠使用動態隨機存取記憶體來進行解交錯以節省硬體成本,並能藉由適當選擇資料存取之記憶體位址來減少記憶體列存取變換之次數,從而改善效能。
圖5為本發明之解迴旋交錯器之一實施例的示意圖,如圖所示,本實施例的解迴旋交錯器500包含:一輸入資料緩衝器510;一記憶體存取控制器520用來控制一動態隨機存取記憶體530(例如同步動態隨機存取記憶體(SDRAM))之資料存取;以及一輸出資料緩衝器540。該輸入資料緩衝器510例如是先進先出緩衝器(FIFO)或其等效裝置,用來接收並輸出複數組迴旋交錯資料至動態隨機存取記憶體530,以做為記憶體存取控制器520進行解交錯運算時之輸入資料緩衝,該複數組迴旋交
錯資料是藉由對複數組未交錯資料施以一迴旋交錯處理而成,每組未交錯資料包含L筆資料,亦即該複數組未交錯資料的一第J組資料包含連續L筆資料,該L筆資料分別對應L種不同延遲深度(或說延遲時間),其中同一組未交錯資料內的相鄰二筆資料所對應之一延遲深度差距為I個操作時脈(例如資料取樣時脈或資料訊號週期等),該L、該J與該I為正整數,且該J對應上述複數組未交錯資料之分組傳輸順序(或上述複數組迴旋交錯資料之分組接收順序),其中L種延遲深度中最大者為[(L-1)×I+Q]個操作時脈,該Q為不小於0之整數,代表該L種延遲深度中最小者。輸出資料緩衝器540可以是先進先出緩衝器或其等效裝置,用來接收來自動態隨機存取記憶體530之複數組解迴旋交錯(Convolutional De-interleaved)資料,以做為記憶體存取控制器520進行解交錯運算時之輸出資料緩衝。
舉例來說,請參閱圖6a,複數組未交錯資料依傳輸順序是(A0,B0,C0,D0)、(A1,B1,C1,D1)、(A2,B2,C2,D2)、(A3,B3,C3,D3)、(A4,B4,C4,D4)、(A5,B5,C5,D5)、(A6,B6,C6,D6)等等,每組資料包含4(即L)筆資料,其中下標代表資料組號(即J),A、B、C、D分別對應3、2、1、0個單位的延遲深度的不同筆資料與不同傳輸路徑,每個單位的延遲深度例如是1個操作時脈,且同一組未交錯資料內的相鄰2筆資料(例如AJ與BJ)所對應之延遲深度差距為1(即I)個操作時脈,該些未交錯資料經一迴旋交錯處理單元600(包含3、2、1、0個單位等四種延遲深度(3D、2D、1D、Bypass)的四條傳輸路徑610、620、630、640)處理後,依序變成複數組迴旋交錯資料(×,×,×,D0)(×是指接收順序更早的資料)、(×,×,C0,D1)、(×,B0,C1,D2)、(A0,B1,C2,D3)、(A1,B2,C3,D4)、(A2,B3,C4,D5)、
(A3,B4,C5,D6)等等,亦即輸入資料緩衝器510所接收到的迴旋交錯資料,其進一步被輸入至動態隨機存取記憶體530以進行解交錯運算。
承上述,為還原資料的連續性(亦即將迴旋交錯資料還原成未交錯(解交錯)資料),記憶體存取控制器520會因應迴旋交錯處理單元600(或其等效單元)所對應之3、2、1、0個單位等四種延遲深度來執行解交錯,請參閱圖6b,其為本發明之解迴旋交錯器500處理迴旋交錯資料以輸出解迴旋交錯資料的示意圖,其中歷經3個單位延遲深度的迴旋交錯資料是直接輸出(Bypassed)(即無延遲輸出,前提是最小延遲深度Q為0,若Q不為0,所有迴旋交錯資料均會延遲輸出),其它迴旋交錯資料則延遲輸出(Non-bypassed),此時記憶體存取控制器520會決定延遲輸出的迴旋交錯資料於動態隨機存取記憶體530中的記憶體位址,每筆被儲存的迴旋交錯資料之記憶體位址與該筆資料所對應之已延遲深度(本例中為3、2或1個單位的延遲深度)、前述L(每組資料筆數或說延遲深度態樣總數)之值(本例中為4)、前述J(未交錯資料之資料組號)之值(本例中以該筆資料之下標來表示)以及前述I(延遲深度差距)之值(本例中為1)相關。更詳細地說,如圖5~6b所示,在傳送端迴旋交錯處理單元600所輸出之複數組迴旋交錯資料(×,×,×,D0)、(×,×,C0,D1)、(×,B0,C1,D2)、(A0,B1,C2,D3)、(A1,B2,C3,D4)、(A2,B3,C4,D5)、(A3,B4,C5,D6)等等於接收端依序被輸入解迴旋交錯器500,並被記憶體存取控制器520所存取,每組資料的第1筆(在本例中,即為圖6b中的×、×、×、A0、A1、A2A3的部分,對應在接收端為最小延遲深度為0個單位的部分,對應在傳送端為最大已延遲深度的部分)被直接輸出至輸出資料緩衝器540,其餘資
料可依序被存取於動態隨機存取記憶體530的(L-1)×(L-1)個資料儲存單位中(或者L×L個資料儲存單位中的(L-1)×(L-1)個單位中,每個單位可儲存一筆迴旋交錯資料,其中減數1代表同組交錯資料中直接輸出而無需儲存單位的資料,在本例中為(L-1)×(L-1)=3×3)。
請參考圖7,於第一時間單位(例如是一段時間或包含複數個時間點)T1時,3×3個資料儲存單位中的第一行資料(□,□,□)(□是指儲存順序更早的資料)被讀出後,與輸入資料中的第一組交錯資料中的第一筆資料「×」對齊,共同做為第一組解迴旋資料(×,□,□,□)以輸出;輸入資料中的第一組交錯資料的其它筆資料(×,×,D0)被寫入,且對應第B、C、及D筆資料所預定之儲存位置的排數。
於第二時間單位T2時,3×3個資料儲存單位中的第二行資料(×,□,□)被讀出後,與輸入資料中的第二組交錯資料中的第一筆資料「×」對齊,共同做為第二組解迴旋交錯資料(×,×,□,□)以輸出;輸入資料中的第二組交錯資料的其它筆資料(×,C0,D1)被寫入,且對應第B、C、及D筆資料所預定之儲存位置的排數。
於第三時間單位T3時,3×3個資料儲存單位中的第三行資料(×,×□)被讀出後,與輸入資料中的第三組交錯資料中的第一筆資料「×」對齊,共同做為第三組解迴旋交錯資料(×,×,×,□)以輸出;輸入資料中的第三組交錯資料的其它筆資料(B0,C1,D2)被寫入,且對應第B、C、及D筆資料所預定之儲存位置的排數。
於第四時間單位T4時,3×3個資料儲存單位中的第一行資料(B0,C0,D0)被讀出後,與輸入資料中的第四組交錯資料中的第一筆資
料「A0」對齊,共同做為第四組解迴旋交錯資料(A0.B0,C0,D0)以輸出;輸入資料中的第四組交錯資料的其它筆資料(B1,C2,D3)被寫入,且對應第B、C、及D筆資料所預定之儲存排數。其餘第五至第七時間單位T5~T7及其後之時間單位的存取可依上述說明類推。
承上述,對應3個已延遲深度的資料AJ會被直接輸出,對應2個已延遲深度的資料BJ的儲存位址位於3×3個資料儲存單位中的第1排第{[J mod(L-1)]×I+1}個位置(mod代表取餘運算),對應1個已延遲深度的資料CJ的儲存位址位於3×3個資料儲存單位中的第2排第{[J mod(L-1)]×I+1}個位置,對應0個已延遲深度的資料DJ的儲存位址是位於3×3個資料儲存單位中的第3排第{[J mod(L-1)]×I+1}個位置,其中每筆資料所處之排數是最大延遲深度的數值(本例中為3)減去該筆資料的已延遲深度的數值,根據上述,本實施例令每個存取位址的資料在被覆寫前就已被讀出,並且透過交錯的讀出位址、寫入位址及額外預留的儲存單位以模擬延遲緩衝元件的行為並使讀取位址對齊於同列存取之位址。請注意,上述用語「行」、「排」、「位置」等描述用語是用來表示存取位址間的相對關係,非限定於記憶體530的實體電路關係。
請注意,前述記憶體存取控制器520在儲存一第一迴旋交錯資料(例如圖7之資料C2)之前,讀出一第二迴旋交錯資料(例如圖7之資料C0),該第一與第二迴旋交錯資料屬於該複數筆迴旋交錯資料之延遲輸出的資料、對應同樣的已延遲深度以及分別儲存於該動態隨機存取記憶體530中的不同位址(如圖7所示),且該記憶體存取控制器520在讀出該第二迴旋交錯資料之後與寫入該第一迴旋交錯資料之前,所讀出之n
筆該迴旋交錯資料(例如圖7之資料D0,此時第一與第二迴旋交錯資料為C2、C0)所對應的已延遲深度與該第一與第二迴旋交錯資料所對應之已延遲深度不同,該n為不小於零之整數。
為便於瞭解本發明與先前技術的差異,圖8繪示了先前技術中的記憶體存取方式,與圖7相同的複數組迴旋交錯資料(×,×,×,D0)、(×,×,C0,D1)、(×,B0,C1,D2)、(A0,B1,C2,D3)、(A1,B2,C3,D4)、(A2,B3,C4,D5)、(A3,B4,C5,D6)中的AJ資料會被直接輸出而其餘資料會依記憶體位址的連續性被存取,簡言之,根據已知技術的實施方式,每個存取位址的資料在同一個時間單位(例如圖8之時間單位T1~T7的任一)時,已知技術會對同一存取位置進行先讀後寫的操作,藉以模擬延遲緩衝元件的行為;因此根據已知技術的實施方式,所有的讀取位址隨著寫入位址一起轉換行與排的位置。由於此部分屬於已知技藝,詳細說明在此予以節略。
在實際應用上,每組迴旋交錯/解迴旋交錯資料(或說第J組迴旋交錯/解迴旋交錯資料)的筆數通常大於前述例子的筆數,舉圖9為例,當每組資料的筆數為32(即L=32),最小與最大延遲深度分別為0與31個單位的延遲,連續二筆資料的延遲深度差距為1個單位的延遲(即I=1),依據本發明用來儲存資料的SDRAM的資料儲存單位可為(L-1)×(L-1)=31×31單位(或說L×L=32×32單位中的31×31個單位),在上述設定下,本發明在寫入第J組(L-1)=31筆迴旋交錯資料(於圖9中標記為w)前,會直接輸出(Bypass)1筆第J組迴旋交錯資料中的一筆(於圖9中標記為b,其同時也屬於第J組解迴旋交錯資料)以及讀出(L-1)=31筆迴旋交錯資料(於圖9中標記為r),藉此將該32筆資料做為一組解迴旋
資料來輸出,若本例中SDRAM的同列存取(Same Row Accessing)最大深度等於L=32(亦即有32筆資料可於同一列進行存取,無需進行列存取轉換(Row Access Change)),且同一列之32筆資料係容納於一同列存取記憶單位(簡稱為Tile,包含4×8=32個資料儲存單位)中,則圖9需要4×8個Tile(如圖9之粗框線所界定之Tile 11、Tile 12、...、Tile 83、Tile 84)來進行資料存取,此時輸出第J組解迴旋交錯資料所需的列存取轉換次數為4(即包含r的Tiles 11、12、13及14的數目),另外,寫入(L-1)=31筆迴旋交錯資料以做為後續被讀出之其他不同組之(L-1)筆解迴旋交錯資料的列存取轉換次數為9(即包含w的Tiles 11、21、32、42、53、63、74、84及14的數目),因此本發明在產生第J組解迴旋交錯資料的存取操作中,總列存取轉換次數為4+9=13次。上述每個同列存取記憶單位儲存第J組解迴旋交錯資料所對應之迴旋交錯資料的一部分,且每該部分的迴旋交錯資料的傳輸順序是相連續的。
請注意,上例中,L×L=32×32個資料儲存單位構成M(4×8=32)個Tile,且每個Tile可儲存(L×L/M)=32×32/32=32筆迴旋交錯資料,其中N=32/8=4個Tile被記憶體存取控制器(例如圖5之控制器520)用來讀取第J組(L-1)=31筆迴旋交錯資料,且在該31筆資料被讀取前,該些資料中的[(L/N)-1]=[(32/4)-1]=7筆儲存於一同列存取記憶單位中(如圖9之Tile 11),另外(N-1)L/N=(4-1)32/4=24筆平均儲存於(N-1)=3個同列存取記憶單位中(如圖9之Tiles 12、13、及14)。另請注意,請繼續參閱圖9,按資料的讀取順序而言,上述第J組L=32筆解迴旋交錯資料的第1筆被直接輸出,其餘(L-1)=31筆資料的第k筆資料是從第(xr,yr)個Tile中被讀
出,其中k為1到(L-1)整數的其中之一,xr代表資料讀取時Tile的橫向位置(亦即xw為1到L/Tc(本例中L/TC=32/4=8)整數的其中之一),yr代表資料讀取時Tile的縱向位置(亦即yr為1到L/TR(本例中L/TR=32/8=4)整數的其中之一),更精確地說,xr=int{{[J mod(L-1)]×I}/TC}+1,yr=int(k/TR)+1,int是指取整數運算;另外,按資料的接收順序而言,上述第J組L=32筆迴旋交錯資料的第1筆(同時也是第J組解迴旋交錯資料的第1筆)被直接輸出,其餘(L-1)=31筆資料的第k筆資料是儲存於第(xw,yw)個Tile中,其中xw代表資料寫入時Tile的橫向位置(亦即xw為1到L/TC=32/4=8整數的其中之一),yw代表資料寫入時Tile的縱向位置(亦即yw為1到L/TR=32/8=4整數的其中之一),更精確地說,xw=int{[k+{[J mod(L-1)]×I}]/TC}+1,yw=int(k/TR)+1。需注意的是,上述J、L、k、I、TR、TC等參數之數值範例以及Tile之劃分及起始點等是供瞭解本發明之用,本領域人士可依其需求決定該些參數之值及Tile之安排規劃。
承上述,在同樣的每組資料之筆數、延遲深度與延遲深度差距的設定下,先前技術的存取情形如圖10所示,由圖可知,先前技術利用16個Tile(大小同為32個資料儲存單位,形狀僅為示意)來進行存取,輸出第J組解迴旋交錯資料所需的列存取轉換次數為15(即包含r的Tile數目),寫入迴旋交錯資料以做為後續被讀出之其他不同組解迴旋交錯資料的列存取轉換次數同為15(即包含w的Tile數目),因此先前技術在產生第J組解迴旋交錯資料的存取操作中,總列存取轉換次數為15+15=30次,遠高於本發明之13次,此意味著本發明之存取效能遠優於先前技術。由於圖10所示之資料存取方式係屬習知,其細節在此予以省
略。
除上述裝置發明外,本發明亦揭露一種解迴旋交錯方法,藉由一動態隨機存取記憶體之M個同列存取記憶單位來處理複數組迴旋交錯資料,該複數組迴旋交錯資料同樣是藉由對複數組未交錯資料施以一迴旋交錯處理而成,每組未交錯資料包含L筆資料,該複數組未交錯資料之第J組包含連續L筆資料,該第J組L筆資料分別對應L種不同延遲深度,該L與J為正整數,且J之數值大小對應該複數組未交錯資料之分組傳輸順序,在上述設定下,本方法之一實施例如圖11所示,包含下列步驟:
步驟S1110:將該複數組迴旋交錯資料之延遲接收的資料寫入一動態隨機存取記憶體之M個同列存取記憶單位中,其中連續二筆被寫入之該迴旋交錯資料的記憶體位址不連續,該複數組迴旋交錯資料的L筆迴旋交錯資料中的(L-1)筆被寫入於該M個同列存取記憶單位中的Nw個同列存取記憶單位中,該M為大於1之整數,且該Nw為不大於該M之正整數。本例中,上述(L-1)筆迴旋交錯資料分散儲存於Nw個同列存取記憶單位中,其中每個同列存取記憶單元所儲存之第J組迴旋交錯資料筆數不大於[int((L-1)/Nw)+1],int代表取整數;另外,連續二筆迴旋交錯資料所對應之一延遲深度差距為I個操作時脈,且每筆迴旋交錯資料之記憶體位址是依據該L、J、I之值來決定。
步驟S1120:輸出該L筆迴旋交錯資料中的一筆以做為一組解迴旋交錯資料中的一筆,以及透過至多Nr次列存取轉換來讀取Nr個同列存取記憶單位中的(L-1)筆該迴旋交錯資料以做為該組解迴旋交錯資料中的(L-1)筆,其中該Nr個同列存取記憶單位包含於該M個同列存取記憶單
位中,該Nr為不大於該M之正整數。本例中,Nw大於Nr。
本發明之解迴旋交錯方法之另一實施例如圖12所示,藉由一動態隨機存取記憶體之M個同列存取記憶單位來處理複數組迴旋交錯資料,該複數組迴旋交錯資料是藉由對複數組未交錯資料施以一迴旋交錯處理而成,每組未交錯資料包含L筆資料,該複數組迴旋交錯資料對應L種不同延遲深度,該L為正整數,在上述前提下,本實施例包含下列步驟:
步驟S1210:將上述複數組迴旋交錯資料之延遲接收的資料寫入一動態隨機存取記憶體之M個同列存取記憶單位中,其中連續二筆被寫入之該迴旋交錯資料之記憶體位址不連續,該M為大於1之整數。本例中,連續二筆迴旋交錯資料所對應之延遲深度差距為I個操作時脈,該複數組未交錯資料之分組傳輸順序為J(或說每組/每筆迴旋交錯資料對應一分組接收順序J),且每筆迴旋交錯資料之記憶體位址是依據該L、J、I之值來決定,其中I與J為正整數。
步驟S1220:透過至多Nr次列存取轉換來讀取該M個同列存取記憶單位所儲存之(L-1)筆迴旋交錯資料以做為一組解迴旋交錯資料中的(L-1)筆資料,該Nr為不大於M之正整數。上述(L-1)筆資料中,有[(L/Nr)-1]筆資料儲存於一同列存取記憶單位中,其它(Nr-1)L/Nr筆資料平均儲存於(Nr-1)個同列存取記憶單位中。
綜上所述,本發明之解迴旋交錯器與方法能夠使用動態隨機存取記憶體來進行解交錯以節省成本,並能藉由適當決定資料存取之記憶體位址來減少記憶體列存取變換之次數,從而提高效能。
雖然本發明之實施例如上所述,然而該些實施例並非用
來限定本發明,本技術領域具有通常知識者可依據本發明之明示或隱含之內容對本發明之技術特徵施以變化,凡此種種變化均可能屬於本發明所尋求之專利保護範疇,換言之,本發明之專利保護範圍須視本說明書之申請專利範圍所界定者為準。
500‧‧‧解迴旋交錯器
510‧‧‧輸入資料緩衝器
520‧‧‧記憶體存取控制器
530‧‧‧動態隨機存取記憶體
540‧‧‧輸出資料緩衝器
Claims (7)
- 一種應用於處理複數組迴旋交錯(Convolutional Interleaved)資料之解迴旋交錯器(Convolutional De-Interleaver),該複數組迴旋交錯資料包含複數筆迴旋交錯資料,該複數筆迴旋交錯資料是藉由對複數組未交錯資料施以一迴旋交錯處理而成,每組未交錯資料包含L筆資料,經該迴旋交錯處理後每組未交錯資料中相鄰二筆資料對應一延遲深度差距,該L為正整數,該解迴旋交錯器包含:一輸入資料緩衝器,用來暫存該複數組迴旋交錯資料;一記憶體控制器,藉由將暫存於該輸入資料緩衝器之該複數組迴旋交錯資料存取於一記憶體以進行解迴旋交錯處理,每筆被儲存的該迴旋交錯資料之記憶體位址是依據該筆資料所對應之一已延遲深度、該L之值與該延遲深度差距決定;以及一輸出資料緩衝器,用來暫存自該記憶體讀出之複數組解迴旋交錯(Convolutional De-interleaved)資料。
- 如申請專利範圍第1項所述之解迴旋交錯器,其中每組未交錯資料對應一分組傳輸順序J,且每筆被儲存的該迴旋交錯資料之記憶體位址更依據該J值決定。
- 如申請專利範圍第1項所述之解迴旋交錯器,其中延遲深度差距為I個操作時脈,該I為正整數,該迴旋交錯資料延遲深度中最大者為[(L-1)×I+Q]個操作時脈,該Q為不小於0之整數,代表延遲深度中最小者。
- 如申請專利範圍第1項所述之解迴旋交錯器,其中該記憶體控制器利用該記憶體中至少(L-1)×(L-1)個資料儲存單位來存取該複數組迴旋交錯資料,每個資料儲存單位可儲存一筆該迴旋交錯資料。
- 如申請專利範圍第4項所述之解迴旋交錯器,其中該記憶體中的L×L個資料儲存單位構成M個同列(Same Row Accessing)記憶單位,且每該同列記憶單位可儲存(L×L/M)筆該迴旋交錯資料,該M為大於1之正整數。
- 如申請專利範圍第5項所述之解迴旋交錯器,其中該記憶體控制器利用N個該同列記憶單位來讀取(L-1)筆該迴旋交錯資料以做為該複數組解迴旋交錯資料之一組的(L-1)筆資料,且該(L-1)筆迴旋交錯資料中,有[(L/N)-1]筆該迴旋交錯資料儲存於該N個同列記憶單位之一者,另有(N-1)L/N筆該迴旋交錯資料儲存於該N個同列取存記憶單位之(N-1)個同列記憶單位裡,該N為不大於該M之正整數。
- 如申請專利範圍第1項所述之解迴旋交錯器,其中該記憶體控制器利用該記憶體中的N個同列記憶單位來讀取(L-1)筆該迴旋交錯資料以做為該複數組解迴旋交錯資料之一組的(L-1)筆資料,且該(L-1)筆迴旋交錯資料中,有[(L/N)-1]筆迴旋交錯資料儲存於該N個同列記憶單位之一者,另有(N-1)L/N筆迴旋交錯資料儲存於N個該同列記憶單位之(N-1)個同列記憶單位裡,該N為正整數。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104104007A TWI569587B (zh) | 2015-02-06 | 2015-02-06 | 解迴旋交錯器 |
US15/000,325 US10025709B2 (en) | 2015-02-06 | 2016-01-19 | Convolutional de-interleaver and convolutional de-interleaving method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104104007A TWI569587B (zh) | 2015-02-06 | 2015-02-06 | 解迴旋交錯器 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201630355A TW201630355A (zh) | 2016-08-16 |
TWI569587B true TWI569587B (zh) | 2017-02-01 |
Family
ID=56566862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104104007A TWI569587B (zh) | 2015-02-06 | 2015-02-06 | 解迴旋交錯器 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10025709B2 (zh) |
TW (1) | TWI569587B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2497154B (en) * | 2012-08-30 | 2013-10-16 | Imagination Tech Ltd | Tile based interleaving and de-interleaving for digital signal processing |
GB2554711B (en) | 2016-10-06 | 2020-11-25 | Imagination Tech Ltd | Buffer addressing for a convolutional neural network |
KR20200057475A (ko) | 2018-11-16 | 2020-05-26 | 삼성전자주식회사 | 연산 회로를 포함하는 메모리 장치 및 그것을 포함하는 뉴럴 네트워크 시스템 |
CN109816093B (zh) * | 2018-12-17 | 2020-12-04 | 北京理工大学 | 一种单路式卷积实现方法 |
CN112925678B (zh) * | 2021-03-11 | 2022-12-06 | 中海艾普油气测试(天津)有限公司 | 一种测试用分布式井下数据安全存储方法 |
CN114598419B (zh) * | 2021-11-12 | 2023-08-01 | 北京智芯微电子科技有限公司 | 交织器、解交织器、及其执行的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6138262A (en) * | 1997-05-23 | 2000-10-24 | Hyundai Electronics Industries Co., Ltd. | Memory address generator in convolutional interleaver/deinterleaver |
US6785862B1 (en) * | 2001-08-14 | 2004-08-31 | Mindspeed Technologies, Inc. | Convolutional interleaver employing an efficient memory scheme |
US20070061667A1 (en) * | 2005-09-13 | 2007-03-15 | Chia-Chun Lin | Convolutional interleaving and de-interleaving circuit and method thereof |
US20080195823A1 (en) * | 2004-05-19 | 2008-08-14 | Wei-Hung Huang | Method and apparatus for convolutional interleaving/de-interleaving technique |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7051171B1 (en) * | 2003-04-11 | 2006-05-23 | Broadlogic Network Technologies, Inc. | Method and system for providing a multi-channel interleaver/deinterleaver using SDRAM |
US7600163B2 (en) * | 2003-09-23 | 2009-10-06 | Realtek Semiconductor Corp. | Convolutional interleaver and deinterleaver |
US7644340B1 (en) * | 2005-07-08 | 2010-01-05 | Marvell International Ltd. | General convolutional interleaver and deinterleaver |
US8127199B2 (en) * | 2007-04-13 | 2012-02-28 | Rgb Networks, Inc. | SDRAM convolutional interleaver with two paths |
US8352834B2 (en) * | 2009-11-12 | 2013-01-08 | Broadlogic Network Technologies Inc. | High throughput interleaver / deinterleaver |
GB2491377A (en) * | 2011-05-31 | 2012-12-05 | British Broadcasting Corp | Method and apparatus for memory access in an interleaver |
-
2015
- 2015-02-06 TW TW104104007A patent/TWI569587B/zh not_active IP Right Cessation
-
2016
- 2016-01-19 US US15/000,325 patent/US10025709B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6138262A (en) * | 1997-05-23 | 2000-10-24 | Hyundai Electronics Industries Co., Ltd. | Memory address generator in convolutional interleaver/deinterleaver |
US6785862B1 (en) * | 2001-08-14 | 2004-08-31 | Mindspeed Technologies, Inc. | Convolutional interleaver employing an efficient memory scheme |
US20080195823A1 (en) * | 2004-05-19 | 2008-08-14 | Wei-Hung Huang | Method and apparatus for convolutional interleaving/de-interleaving technique |
US20070061667A1 (en) * | 2005-09-13 | 2007-03-15 | Chia-Chun Lin | Convolutional interleaving and de-interleaving circuit and method thereof |
Also Published As
Publication number | Publication date |
---|---|
TW201630355A (zh) | 2016-08-16 |
US10025709B2 (en) | 2018-07-17 |
US20160232089A1 (en) | 2016-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI569587B (zh) | 解迴旋交錯器 | |
US8352834B2 (en) | High throughput interleaver / deinterleaver | |
EP1125366B1 (en) | Generalized convolutional interleaver/deinterleaver | |
WO2012079543A1 (en) | System and method for contention-free memory access | |
WO2000062461A2 (en) | Interleavers and de-interleavers | |
CN101969310A (zh) | Turbo码并行译码器的QPP内交织器及其交织方法 | |
Sun et al. | FPGA Design and Implementation of a Convolutional Encoder and a Viterbi Decoder Based on 802.11 a for OFDM | |
KR100518295B1 (ko) | 디지털 통신 시스템의 디인터리빙장치 및 그의디인터리빙방법 | |
TWI617139B (zh) | 解迴旋交錯器與解迴旋交錯方法 | |
US20050262415A1 (en) | Method and apparatus for convolutional interleaving/de-interleaving technique | |
CN102270993B (zh) | 一种同时实现交织与解交织的Turbo译码器 | |
US8799750B1 (en) | Convolutional interleaver for bursty memory access | |
CN110601792B (zh) | 一种用于宽带电力载波通讯的前端编解码系统及方法 | |
US9329785B2 (en) | Method of interleaving, de-interleaving, and corresponding interleaver and de-interleaver | |
Sanchez et al. | A dedicated approach to explore design space for hardware architecture of turbo decoders | |
CN102104387A (zh) | 译码器和译码方法 | |
KR100662804B1 (ko) | 디인터리빙 장치 | |
US8762808B2 (en) | Multi-processing architecture for an LTE turbo decoder (TD) | |
CN103916142A (zh) | 信道译码器和译码方法 | |
Abdel-Hamid et al. | Memory conflict analysis for a multi-standard, reconfigurable turbo decoder | |
KR100733767B1 (ko) | 시간 디인터리빙 장치 및 방법 | |
US20090083514A1 (en) | Apparatus and method for block interleaving in mobile communication system | |
TW201703443A (zh) | 時間及單元解交錯電路及執行時間及單元解交錯處理之方法 | |
US8819517B1 (en) | Systems and methods for a turbo decoder in a universal mobile telecommunication system (UMTS) | |
CN110383785B (zh) | 在dvb-t2接收机中执行二进制数据流的时域去交织的装置 |
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 |