一種交織器和解交織器的FPGA電路實現(xiàn)(圖)-設計應用_第1頁
一種交織器和解交織器的FPGA電路實現(xiàn)(圖)-設計應用_第2頁
一種交織器和解交織器的FPGA電路實現(xiàn)(圖)-設計應用_第3頁
一種交織器和解交織器的FPGA電路實現(xiàn)(圖)-設計應用_第4頁
一種交織器和解交織器的FPGA電路實現(xiàn)(圖)-設計應用_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

精品文檔-下載后可編輯一種交織器和解交織器的FPGA電路實現(xiàn)(圖)-設計應用交織和解交織是組合信道糾錯系統(tǒng)的一個重要環(huán)節(jié),交織器和解交織器的實現(xiàn)方法有多種。本文利用Altera公司開發(fā)的Quartus軟件平臺和仿真環(huán)境,設計一種交織器和解交織器FPGA電路單倍實現(xiàn)的方法,并分析該電路實現(xiàn)的特點。外交織的基本原理

實際信道中產生的錯誤往往是突發(fā)錯誤或突發(fā)錯誤與隨機錯誤并存,如果首先把突發(fā)錯誤離散成隨機錯誤,然后再去糾隨機錯誤,那么系統(tǒng)的抗干擾性能就會進一步得到提高。交織器的作用就是將比較長的突發(fā)錯誤或多個突發(fā)錯誤離散成隨機錯誤,即把錯誤離散化。交織器按交織方式可分為交織深度固定的交織器(如分組交織器和卷積交織器)和交織深度不斷變化的隨機交織器;按交織對象可分為碼元交織器和碼段交織器,這里主要討論的是交織深度固定的碼段交織器。

交織和解交織是一種很實用也很常用的構造碼方法,不僅可以糾隨機錯誤,還可用來糾突發(fā)錯誤,所以常用于組建信道糾錯系統(tǒng)。例如,以[n,k]線性分組碼作為行碼,設交織深度為i,交織編碼即是將這一線性分組碼排成如圖1所示的i行,n列的碼陣,形成[ni,ki]交織編碼的一個碼字,傳送按列的次序自左向右傳輸,即:a1(n-1)a2(n-1)...ai(n-1)a1(n-2)...ai(n-2)...a10a20...ai0,其中aij代表一個碼段。解交織時,仍排成如圖1的碼陣,并按行的次序自上而下傳輸,再按分組碼[n,k]方式譯出。由于信道中的錯誤被分散到各個行碼中去,因此若行碼能糾t個隨機錯誤或b個長突發(fā)錯誤,則[ni,ki]交織后的碼就能糾所有長度i×t或i×b的突發(fā)錯誤。

交織深度i是交織和解交織的重要參數(shù)。交織深度i越大,突發(fā)錯誤的離散度也越大,錯誤的相關性越小。當i足夠大時,就可把突發(fā)錯誤離散為隨機錯誤。

交織器和解交織器的實現(xiàn)

交織器和解交織器實現(xiàn)的基本原理如圖2所示,其中I表示交織深度。由圖可見,共有I個通道,輸入數(shù)據(jù)依次進入第0到I-1通道,并按照各自通道上的延時規(guī)律輸出,交織器和解交織器相同通道上的延時是互補的,延時之和均為M×(I-1)。這樣經過發(fā)射機交織器數(shù)據(jù)輸出的先后順序被打亂,再經過接收機解交織器又被重新恢復。

圖2:交織器和解交織器原理圖

圖3:單倍交織器實現(xiàn)框圖

交織器和解交織器電路實現(xiàn)如圖3所示。由于交織和解交織要對數(shù)據(jù)進行有規(guī)律的延時處理,所以輸入數(shù)據(jù)首先被存入一雙端口RAM中,然后經過一定時延后被讀出,此延時由雙端口RAM的讀寫地址來控制,因此,其實現(xiàn)的關鍵在于雙端口RAM讀寫地址的產生和分配,不僅要有利于找到地址的變化規(guī)律,而且要易于電路實現(xiàn)。RAM讀寫地址產生的一種辦法是將讀寫地址映射到ROM里,另一種辦法是通過電路計算得到讀寫地址。前者方法簡單,實現(xiàn)方便,但是添加ROM會占用存儲資源,所以一般都采用后者,其實現(xiàn)也并不復雜。后者的實現(xiàn)電路包括單倍實現(xiàn)和雙倍實現(xiàn),所謂單倍和雙倍主要是針對RAM存儲單元的占用量而言,單倍實現(xiàn)所用RAM存儲單元的容量是雙倍的1/2左右。我們所設計的FPGA電路采用的是單倍實現(xiàn),實現(xiàn)框圖如圖3所示。

下面就簡述該設計中雙端口RAM地址分配及讀寫地址的生成規(guī)律。以I=12,M=17的交織器為例。由于交織深度是12,所以有12個通道,表1列出每通道的地址分配,其中第1行對應圖2中交織器的第0通道,第2行對應第1通道,第3行對應第2通道,……第12行對應第11通道。第i通道共有N=i×M+1個地址,且分配的地址是固定的。RAM讀寫地址按照交織器中各通道的延時規(guī)律變化,交織器的地址分配如表1所示。

交織時,第1時刻讀地址可以是任意的,寫地址為0;第2時刻讀地址為1,寫地址為18;第3時刻讀地址為54,寫地址為105,第4時刻讀地址為3,寫地址為27,第12時刻讀地址為946,寫地址為1133,第13時刻讀地址為可以是任意的,寫地址為0,第14時刻讀地址為2,寫地址為1,第15時刻讀地址為20,寫地址為19,余者依次類推??梢?,0~11路通道的讀寫地址按各自的延時規(guī)律變化,第i通道讀寫地址在本通道向右方向循環(huán)相距i×17個單元。設計電路時,除第0通道外,每一通道都可采用一個計數(shù)器,每個計數(shù)器獨立計數(shù),設第i通道計數(shù)器的計數(shù)值為ai,通道的首地址為bi,尾地址為ci,這樣,得到RAM的讀寫地址的變化規(guī)律:

第i通道讀地址:ai+bi;(1)

第i通道寫地址:ai+bi-1,當ai不等于0時;

ci,當ai等于0時;(2)

其中,bi=[0+1+...+(i-1)]×M+i+1;ci=[0+1+...+i]×M+i

電路實現(xiàn)如圖4所示,計數(shù)器0由0到11遞增計數(shù),產生12路始能,分別控制11路計數(shù)器和直通通路的工作,同時選通其中一路從12選1電路輸出。電路中的ai、bi、ci,與式1和式2相對應。由于第0通道不需要任何延時,所以用flag信號作為2選1電路選通輸入數(shù)據(jù)直接輸出;反之,選通從RAM讀出的數(shù)據(jù)輸出。

利用Quartus仿真波形圖如圖5所示。clk為驅動時鐘,synin、dvin、din分別是輸入同步頭、有效位和數(shù)據(jù),synout、dvout、dout分別是輸出同步頭、有效位和數(shù)據(jù),flag是第0直通通道標識,rdad、wrad是RAM讀寫地址。

解交織時各通道的地址分配見表2,由于解交織與交織是互逆的過程,通道的時延相反,所以只要把交織器的地址分配倒置,即交織器的第0通道的地址分配變?yōu)榻饨豢椘鞯牡?1通道,而第11通道的地址分配變?yōu)榻饨豢椘鞯牡?通道。計數(shù)器0改為由11到0遞減計數(shù),其它部分保持不變,所以交織器和解交織器都可以用圖4實現(xiàn),只是計數(shù)器0的計數(shù)方式不同。

電路特點分析

仍然以I=12,M=17的交織器和解交織器為例。

圖4:交織器和解交織器

圖5:波形仿真圖

本設計采用單倍實現(xiàn)所用的存儲單元總數(shù)Nram=[(I-1)×M/2+1]×I=1134,相應要用到地址總線的位數(shù)為Nad=ceil[log2(Nram)]=11。也就是說,要用到2k的雙端口RAM,讀寫地址線各11根。

而采用一般的雙倍實現(xiàn)占用的存儲單元總數(shù)Nram=[(I-1)×M+1]×I=2256,相應要用到地址總線位數(shù)Nad=ceil[log2(Nram)]=12。如果采用雙倍實現(xiàn),要用到4k的雙端口RAM,讀寫地址線各12根。

理論上簡存儲單元的占用量為Nram=[(I-1)×

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論