當(dāng)前位置:首頁 > EDA > 電子設(shè)計自動化
[導(dǎo)讀] Turbo碼是由法國人Berrou于1993年提出的一種性能優(yōu)越的信道編碼方案[1],其應(yīng)用已逐步推廣到衛(wèi)星通信、移動通信和計算機通信等領(lǐng)域。交織器作為Turbo碼編碼器中的重要組成部分,在Turbo碼的性能中起著至關(guān)重要

      Turbo碼是由法國人Berrou于1993年提出的一種性能優(yōu)越的信道編碼方案[1],其應(yīng)用已逐步推廣到衛(wèi)星通信、移動通信和計算機通信等領(lǐng)域。交織器作為Turbo碼編碼器中的重要組成部分,在Turbo碼的性能中起著至關(guān)重要的作用,因此交織器的設(shè)計成了Turbo碼設(shè)計中的一個重要方面,交織器的好壞將直接關(guān)系到整個Turbo碼系統(tǒng)的優(yōu)劣。

  本文分析了交織器在Turbo碼中的作用,以及分組交織器[2]存在的缺陷,提出一種改進型的分組交織器,即交織深度和寬度可控的分組交織器的設(shè)計方法。該交織器可根據(jù)數(shù)字通信中信道的實際特性,做到交織矩陣深度和寬度可控,能夠更好的滿足不同幀長度數(shù)據(jù)傳輸?shù)囊?,從而達到最佳的抗突發(fā)連續(xù)錯誤的目的。

  交織器設(shè)計采用Altera公司生產(chǎn)的Cyclone系列FPGA芯片,利用其內(nèi)部嵌入式存儲資源,用雙端口存儲器實現(xiàn)。

  1 傳統(tǒng)分組交織器的作用、原理及缺陷

  1.1 交織器的作用

  在傳統(tǒng)信道編碼中,交織器的作用是將信源序列打亂,將它們分散到不同的數(shù)據(jù)序列中,以消除相鄰碼元之間的相關(guān)性。這樣,當(dāng)信號經(jīng)歷衰落或突發(fā)干擾時,鄰近碼元被噪聲淹沒的可能性會大大降低,從而增強了抵御長時間突發(fā)噪聲的能力,同時也有利于接收端的譯碼接收。

  另外,交織器作為Turbo碼編碼器中的重要組成部分,對提高Turbo碼的性能起著至關(guān)重要的作用。文獻[3]指出,Turbo碼作為線性碼,其糾錯譯碼性能主要由碼字的重量分布決定,而交織器實際上正是決定了Turbo碼的重量分布。所以,Turbo碼的性能很大程度上由交織器所決定。

  1.2 分組交織器的原理

  分組交織是一種簡單的交織方式,其原理是在發(fā)送端將待交織的輸入數(shù)據(jù)均勻分成m個碼組,每個碼組由n段數(shù)據(jù)組成,這樣便構(gòu)成一個n×m的交織矩陣,其中,m為交織深度,n為交織約束長度或?qū)挾?。待交織?shù)據(jù)以公式的順序進入交織矩陣,再以公式的順序從交織矩陣中送出,這樣就完成了對輸入數(shù)據(jù)的分組交織。

  1.3 分組交織器存在的缺陷

  分組交織器雖然具有原理簡單,易于硬件實現(xiàn)的特點。但其存在的主要缺點是由于交織矩陣的深度和寬度固定,不能夠根據(jù)信道(特別是變參信道)中突發(fā)誤碼長度、糾錯碼的約束長度、糾錯能力做出調(diào)整,這樣,信息序列中出現(xiàn)的突發(fā)錯誤就不能夠盡量隨機分布在數(shù)據(jù)幀內(nèi)。交織后,輸入至編碼器中的消息序列仍有很大的相關(guān)性。這就導(dǎo)致了Turbo碼譯碼器在相繼譯碼中不能正確的譯碼,會產(chǎn)生較高的譯碼錯誤。

  基于以上原因,希望設(shè)計出交織矩陣深度和寬度可控的分組交織器,以適應(yīng)不同數(shù)據(jù)幀長度的需要。從而更好的適應(yīng)通信系統(tǒng)的特性要求,提高系統(tǒng)克服突發(fā)差錯的能力。

  2 改進分組交織器的FPGA設(shè)計與實現(xiàn)

  2.1 FPGA選取及總體實現(xiàn)

  交織器的設(shè)計采用Altera公司生產(chǎn)的Cyclone系列FPGA實現(xiàn)。根據(jù)系統(tǒng)的總體要求選用了一片EP1C3T100C8芯片,該系列芯片具有成本低、設(shè)計靈活、系統(tǒng)便于集成等優(yōu)點[4],因而在數(shù)字通信系統(tǒng)設(shè)計中得到了廣泛的應(yīng)用。此外,Cyclone系列芯片內(nèi)部具有嵌入式RAM存儲空間,可以實現(xiàn)較為復(fù)雜的邏輯功能,當(dāng)用作片內(nèi)存儲器時,其存儲數(shù)據(jù)的寬度和深度可由設(shè)計人員設(shè)定。因而利用存儲器可以方便的設(shè)計出交織器,從而能夠大大減小電路的體積和復(fù)雜度。

  FPGA實現(xiàn)交織器的原理框圖如圖1所示,從圖中可以看出交織器主要由讀、寫地址序列發(fā)生器,雙端口RAM以及讀寫使能控制幾部分組成。其中讀寫使能控制主要用來產(chǎn)生雙端口RAM的讀寫控制信號,并決定讀、寫地址序列發(fā)生器何時啟動工作。

FPGA實現(xiàn)交織器的原理框圖

  2.2 讀地址序列產(chǎn)生算法及設(shè)計

  2.2.1 交織器讀地址產(chǎn)生算法

  交織器設(shè)計的關(guān)鍵部分在于“讀/寫地址”的產(chǎn)生。設(shè)交織器的交織矩陣為n m矩陣,根據(jù)分組交織原理,輸入數(shù)據(jù)以0,1,2…,mn-1的順序地址方式寫入存儲器,交織后輸出為:0,n,2n,…, (m-1)n,1,n+1,2n+1, …,(m-1)n+1,2,…,mn-1.

  地址產(chǎn)生算法采用雙重循環(huán)的方式(算法流程如圖2所示),算法流程說明如下:

算法流程圖

 ?、偈紫雀鶕?jù)信道實際情況及數(shù)據(jù)幀長,選定合適的交織

  將計數(shù)變量i,j清零;

 ?、趯τ嫈?shù)變量j進行判斷:如果j<m,則j++;

  如果j=m,則跳到第3步;

  ③對計數(shù)變量i進行判斷:如果i<n,則i++并將j清零之后跳回第2步;如果i=n,則跳回第1步,開始新一輪循環(huán)。

  在整個循環(huán)過程中,讀地址變量add不斷輸出“亂序”的交織地址add=j n+i,以達到設(shè)計的要求。

  通過上述分析可以看出,算法中運用了加法、乘法、比較、計數(shù)等算術(shù)邏輯運算,則地址生成的FPGA設(shè)計過程中,需要運用加法器,乘法器,比較器,計數(shù)器等器件以實現(xiàn)相應(yīng)功能。在設(shè)計過程中,這些器件采用由QuartusⅡ軟件為設(shè)計人員提供的參數(shù)化宏單元模塊LPM(library of parameterized modules),使用它不僅可以簡化電路復(fù)雜度,而且大大提高了設(shè)計速度。

  2.2.2 讀地址序列產(chǎn)生器設(shè)計

  讀地址是整個交織器設(shè)計部分的關(guān)鍵,采用“亂序讀出”的方式。電路設(shè)計主要由加法、乘法器,計數(shù)器和比較器模塊構(gòu)成,其地址序列產(chǎn)生流程在算法分析中已作過詳細說明,這里只作簡單介紹:計數(shù)器Ⅰ相當(dāng)于變量j,首先在時間脈沖cp的驅(qū)動下從初始狀態(tài)“00000000”開始遞增計數(shù),當(dāng)?shù)扔谠O(shè)定交織深度m時,產(chǎn)生一個時鐘脈沖信號來驅(qū)動計數(shù)器Ⅱ,此時計數(shù)器Ⅱ的計數(shù)加一,同時與另一設(shè)定數(shù)據(jù)n進行比較,當(dāng)相等時計數(shù)器Ⅰ、Ⅱ同時清0,重新開始計數(shù)。

讀地址序列產(chǎn)生器

  讀地址產(chǎn)生結(jié)果由數(shù)據(jù)n與計數(shù)器Ⅰ每次的輸出數(shù)據(jù)相乘,再與計數(shù)器Ⅱ的計數(shù)數(shù)據(jù)相加而得到。產(chǎn)生的序列依次為:0,n,2n,…,(m-1)n,1,n+1,2n+1,…,(m-1)n+1,2,…,mn-1.

  2.3 寫地址序列產(chǎn)生器設(shè)計

  交織器采用“順序?qū)懭搿钡膶懙刂贩绞?,即產(chǎn)生“0,1,2 …,mn-1”的順序地址序列。因此寫地址序列產(chǎn)生器的實現(xiàn)可由乘法器,比較器和計數(shù)器等宏單元模塊構(gòu)成(如圖4所示),寫地址具體產(chǎn)生說明如下:

寫地址序列產(chǎn)生器

  首先8位計數(shù)器在時鐘脈沖cp的驅(qū)動下由初始狀態(tài)“00000000”開始遞增計數(shù),產(chǎn)生的計數(shù)數(shù)據(jù)分成兩路:一路送到雙端口RAM的寫地址端,作為交織器的寫地址產(chǎn)生信號;另一路則送到比較器的一個輸入端,同乘法器輸出的結(jié)果進行比較:當(dāng)計數(shù)器累計計數(shù)值小于乘法器計算結(jié)果時,計數(shù)器繼續(xù)累加計數(shù);而當(dāng)計數(shù)值等于乘法器的計算結(jié)果時,比較器產(chǎn)生中斷控制信號使得計數(shù)器清0,并重新開始計數(shù)。

  2.4 讀寫使能控制設(shè)計

  考慮到雙端口RAM對其內(nèi)部同一單元地址不能同時進行讀寫操作,因此,整個交織器設(shè)計需用讀寫使能控制電路用來對雙端口RAM的地址讀寫進行控制,并同時決定讀寫發(fā)生器何時開始工作。由于雙端口RAM的讀、寫實現(xiàn)都是從零地址開始的,因而RAM內(nèi)的每個存儲單元的讀操作都應(yīng)在寫操作之后,從而保證每個讀出數(shù)據(jù)的有效性。

  讀寫使能控制電路如圖5所示,讀寫控制電路采用類似于分頻器原理[4]的工作方式,電路主要由計數(shù)器、比較器和D觸發(fā)器來實現(xiàn):計數(shù)器與n m比較的結(jié)果作為D觸發(fā)器的時鐘脈沖信號,當(dāng)計數(shù)器的計數(shù)值等于n m時,觸發(fā)器的輸出狀態(tài)進行一次反轉(zhuǎn),即相當(dāng)于構(gòu)成了一個n m的分頻器電路。觸發(fā)器的輸出結(jié)果分成兩路:一路送到雙端口RAM的寫地址使能端;另一路經(jīng)過反相后送給讀地址使能端。這樣便可以使存儲器RAM在“n m”的地址空間范圍內(nèi)交替進行“讀/寫”數(shù)據(jù)的操作。

讀寫使能控制電路

  2.5 設(shè)計中的遇到的問題及解決辦法

  交織器的設(shè)計中包含的運算有相乘和相加,相乘會造成字長的變化。這便會帶來數(shù)據(jù)位數(shù)匹配的問題,下面我們以讀地址電路(圖4)為例給出解決辦法:

  進入乘法器的兩路數(shù)據(jù)均為8位,經(jīng)過乘法運算后,數(shù)據(jù)位數(shù)會增加到16位,同時需要與來自計數(shù)器Ⅱ的8位數(shù)據(jù)進行加法運算。通常情況下多采取舍入或截尾的方法,即將16位數(shù)據(jù)的高8位字節(jié)舍去,這種方法的不足是當(dāng)m、n的乘積大于256(11111111H)時,數(shù)據(jù)的高8位不全為0,舍去會帶來輸出結(jié)果的錯誤,因而可能造成交織器輸出碼字的錯誤。因此,可采用“補位”的辦法,將輸入加法器的8位數(shù)據(jù)補成16位(在8位數(shù)據(jù)前補8位0),以增長位寬從而達到數(shù)位匹配的目的。

  3 QuartusⅡ仿真結(jié)果及分析

       交織器的仿真波形如圖6所示(其中“clk”為驅(qū)動時鐘,“rden”、“wren”為讀、寫使能,“data”、“result”為輸入、輸出雙端口RAM的數(shù)據(jù)序列):

Quartus

  從QuartusⅡ波形仿真結(jié)果看到當(dāng)交織矩陣的m,n值為5和3時,雙口RAM的輸出數(shù)據(jù)為“0、5、10、1、6…”;當(dāng)m,n調(diào)整為8和 6后,雙口RAM的輸出為“0、8、16、24…”??梢钥闯?,在任意選取不同的m值和n值后,交織器能夠根據(jù)分組交織的原理將輸入RAM的數(shù)據(jù)字或比特位流進行交織,輸出所需的數(shù)據(jù)序列,達到了交織矩陣深度和寬度可控的目的。

  4 小結(jié)

  本文介紹了可針對不同交織需要的改進型分組交織器FPGA設(shè)計,該交織器的主要特點是可根據(jù)信道中突發(fā)誤碼的長度、出現(xiàn)的頻率以及糾錯碼的約束長度、糾錯能力設(shè)定合適的交織深度和寬度(m,n),需要指出的是,m,n選得越大,信道編碼的約束長度越大,從而對付信道中長突發(fā)差錯的能力也就越強,但m,n選得越大,也就需要越大的存儲空間,同時會引入更長的延時,所以應(yīng)根據(jù)數(shù)字通信系統(tǒng)的實際情況選擇合適的m值和n值。

  本文作者創(chuàng)新點:對傳統(tǒng)分組交織器進行了改進,實現(xiàn)了分組交織器的交織矩陣深度和寬度可控,能夠很好的滿足不同數(shù)據(jù)幀傳輸?shù)囊?,具有更好的抗信道突發(fā)錯誤的能力。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉