基于FPGA的改進型分組交織器的設計與實現(xiàn)
2.1 FPGA選取及總體實現(xiàn)
交織器的設計采用Altera公司生產(chǎn)的Cyclone系列FPGA實現(xiàn)。根據(jù)系統(tǒng)的總體要求選用了一片EP1C3T100C8芯片,該系列芯片具有成本低、設計靈活、系統(tǒng)便于集成等優(yōu)點[4],因而在數(shù)字通信系統(tǒng)設計中得到了廣泛的應用。此外,Cyclone系列芯片內(nèi)部具有嵌入式RAM存儲空間,可以實現(xiàn)較為復雜的邏輯功能,當用作片內(nèi)存儲器時,其存儲數(shù)據(jù)的寬度和深度可由設計人員設定。因而利用存儲器可以方便的設計出交織器,從而能夠大大減小電路的體積和復雜度。
FPGA實現(xiàn)交織器的原理框圖如圖1所示,從圖中可以看出交織器主要由讀、寫地址序列發(fā)生器,雙端口RAM以及讀寫使能控制幾部分組成。其中讀寫使能控制主要用來產(chǎn)生雙端口RAM的讀寫控制信號,并決定讀、寫地址序列發(fā)生器何時啟動工作。
FPGA實現(xiàn)交織器的原理框圖
2.2 讀地址序列產(chǎn)生算法及設計
2.2.1 交織器讀地址產(chǎn)生算法
交織器設計的關鍵部分在于“讀/寫地址”的產(chǎn)生。設交織器的交織矩陣為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)。
評論