<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 設計應用 > 寬帶載波電力線(xiàn)通信協(xié)議中信道交織的FPGA實(shí)現

寬帶載波電力線(xiàn)通信協(xié)議中信道交織的FPGA實(shí)現

作者: 時(shí)間:2016-10-10 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要 介紹了協(xié)議中用到的。在此協(xié)議的基礎上,提出了基于模塊的設計方案。文中對的物理層實(shí)現方法進(jìn)行了介紹,該方法是通過(guò)ROM讀操作和RAM的讀寫(xiě)操作來(lái)實(shí)現信道交織過(guò)程,較好地滿(mǎn)足了資源和時(shí)延的雙重要求。

本文引用地址:http://dyxdggzs.com/article/201610/306124.htm

關(guān)鍵詞 信道交織;;

隨著(zhù)通信技術(shù)的不斷發(fā)展,出現了各種各樣的通信,一般有線(xiàn)通信和無(wú)線(xiàn)通信之分,有線(xiàn)通信一般是通過(guò)光纜電纜進(jìn)行的通信,而無(wú)線(xiàn)則是通過(guò)電磁波進(jìn)行空中信息傳遞的通信。雖然無(wú)線(xiàn)通信省缺了有形的傳輸媒介,通過(guò)空中接口進(jìn)行通信,但無(wú)線(xiàn)通信在傳輸容量和傳輸質(zhì)量都不如有限通信。電力線(xiàn)網(wǎng)絡(luò )覆蓋范圍廣,是其他網(wǎng)絡(luò )無(wú)法比擬的,而且是有限通信,通過(guò)電力線(xiàn)進(jìn)行通信則成為研究重點(diǎn),但電力線(xiàn)的初衷只是用來(lái)進(jìn)行電力傳輸,還沒(méi)有考慮到用電力線(xiàn)進(jìn)行信息的傳遞,所以原有電力線(xiàn)的鋪設導致電力線(xiàn)信道特性較差、干擾大、時(shí)變性差,不僅存在多徑時(shí)延問(wèn)題,且存在頻率選擇性衰落的現象。隨著(zhù)信號處理技術(shù)和信道調制技術(shù)的不斷發(fā)展,現在已經(jīng)能克服這種電力線(xiàn)信道差的問(wèn)題。其中的關(guān)鍵技術(shù)就是正交頻分復用(Orthogonal Frequency Division Multiplexing,OFDM),這是一種復用技術(shù),同時(shí)是一種用多個(gè)相互正交的子載波來(lái)傳送信息的一種多載波調制技術(shù)。該技術(shù)可以解決電力線(xiàn)通信信道差的問(wèn)題,大幅提高了平鋪利用率,并可實(shí)現電力線(xiàn)的有效通信。

圖1是基于FFT的OFDM實(shí)現框圖。發(fā)送端:從數據鏈路層接收數據,經(jīng)過(guò)一系列的信號處理和變換,以OFDM調制方式通過(guò)將信號發(fā)送到電力線(xiàn)。接收端:從電力線(xiàn)檢測到信號后,做相應的反向處理,最終將電力線(xiàn)上的載波信號還原為數據,送到數據鏈路層。在電力線(xiàn)通信系統中采取信道交織技術(shù),在時(shí)間的維度上離散信道的突發(fā)差錯,從而使得有記憶信道可近似轉變?yōu)闊o(wú)記憶信道,使得設計的糾隨機差錯的糾錯碼同樣適用于多徑衰落信道。

1 信道交織的基本理論

信道交織的理論建立在香依理論的基礎上。Claude.E.Shannon提出:對于任意給定的有噪聲信道至少存在一種復雜的編碼方法,可使信道的傳輸速率無(wú)限逼近信道容量而同時(shí)保證傳輸差錯率達到任意小。而信道交織就是逼近這一相同理論的一種較好的實(shí)現方式。

信道交織的實(shí)質(zhì)是一種置亂器,僅通過(guò)改變信息的結構來(lái)提高數據傳輸的可靠性。信道交織是通過(guò)把連續的比特信息分散開(kāi)以避免突發(fā)差錯事件。這樣就能把錯誤的范圍盡量控制在糾錯電路的能力范圍之內。在接收端經(jīng)過(guò)糾錯譯碼電路后,將這種置亂順序信息還原就能最大限度的的正確譯碼出發(fā)送的信息。

按照信道交織技術(shù)對于數據次序的改變規律,信道交織碼可分為周期交織和偽隨機交織兩類(lèi)。周期交織又分為分組交織和卷積交織,周期交織指交織規律有明確的周期性,序列內數據之間的交織間隔恒定。所謂偽隨機交織,指交織不采用唯一的單個(gè)交織深度值而采用有變化的交織深度值,但變化仍有一定的規律。

2 電力線(xiàn)通信協(xié)議的信道交織實(shí)現

協(xié)議中的信道交織過(guò)程包括信息位的交織、校驗碼交織、信息碼和校驗碼之間的交織,半字節移位4個(gè)步驟。具體的信道交織的過(guò)程如下:首先設定K代表信息bit的數量,N-K代表校驗bit的數量,K個(gè)信息bit會(huì )分成4個(gè)子塊,每個(gè)子塊的大小為K/4 bit,N-K個(gè)校驗bit會(huì )分成4個(gè)子塊,每個(gè)子塊的大小為(N-K)/4 bit,然后就是按步驟依次操作。

(1)信息位的交織。將信息bit存入一個(gè)K/4行4列的矩陣,依次把每列存滿(mǎn)。進(jìn)行交織時(shí)每行的4個(gè)bit是同時(shí)讀出的。從這個(gè)矩陣讀出數據時(shí),從第0 行開(kāi)始,從第二次開(kāi)始每次讀時(shí)行地址加上參數StepSize,這樣第一輪讀的行地址順序為(0,StepSize,2×StepSize,… [K/4]-StepSize),當讀了[K/4]/StepSize行之后,就讀到了矩陣的尾部,然后讀下一輪的行地址初始化為1,之后每次讀取時(shí)行地址加上參數StepSize,當讀了[K/4]/StepSize行之后又到了行尾,這樣第二輪讀的行地址順序為(1,1+StepSize,1+2 ×StepSize,…[K/4]-StepSize+1),然后第三輪的行地址加1為2,依次類(lèi)推,經(jīng)StepSize輪后全部行均已讀出。

(2)校驗碼交織。校驗碼的交織與信息位的交織類(lèi)似,只是每次讀行地址時(shí)均加一個(gè)偏移量。因此,校驗bit第一次讀從參數offset定義的行開(kāi)始,步長(cháng)參數還是StepSize,文中定義T=(N-K)/4,第一輪讀出的行的順序為(offset,(offset+StepSize)mod T,(offset+2×StepSize)mod T,…(T-StepSize+offset)mod T),然后第二輪第一行的指針加1,再重復作StepSize-1輪,最后經(jīng)過(guò)StepSize輪,每輪讀出了T/StepSize行數據,一共讀出T行數據。表1列舉了信道交織中3種傳輸塊用到的參數。

(3)信息碼和校驗碼之間的交織。輸出的前4 bit為信息碼,接著(zhù)4 bit為校驗碼,以此類(lèi)推。

(4)半字節移位。半字節移位以4 bit為單位進(jìn)行移位,無(wú)論信息bit還是校驗bit,每2個(gè)半Byte調整一次順序,表2列舉了具體移位模式。并且整體以32 bit為一個(gè)循環(huán)進(jìn)行半字節移位操作。

3 電力線(xiàn)通信協(xié)議中信道交織設計

在寬帶載波電力線(xiàn)通信協(xié)議中信道交織處理的數據單元塊有3種:PB16,PB136和PB520。中信道交織主要有兩種實(shí)現方式:一是通過(guò)計數器和邏輯控制單元來(lái)實(shí)現;另一種是通過(guò)存儲在ROM中的信道交織表來(lái)實(shí)現。通過(guò)計數器和邏輯控制單元來(lái)實(shí)現,其中會(huì )涉及到大量的除法和取模運行,時(shí)間延遲大且不易控制。但采用存儲在ROM中的信道交織表來(lái)實(shí)現的話(huà),只需通過(guò)Matlab計算出信道交織表的映射關(guān)系,然后將Matlab中的數據導出生成HEX 文件作為ROM的初始值。最后按ROM中存儲的地址寫(xiě)到RAM即可實(shí)現信道交織。其中ROM和RAM直接調用Altera的IP核??紤]到后者只用通過(guò) ROM讀和RAM讀寫(xiě)就實(shí)現了信道交織,且邏輯簡(jiǎn)單、時(shí)延小,所以本設計方案采用后者。且每種數據單元塊對應一張信息交織表,因此只需信道交織表就能滿(mǎn)足系統的要求。寬帶載波電力線(xiàn)通信協(xié)議中信道交織的FPGA實(shí)現就是采用存儲在ROM中的信道交織表來(lái)實(shí)現的方式。

為了對數據進(jìn)行連續處理,設計采用兩個(gè)RAM同時(shí)工作的方式,實(shí)現框圖如圖2所示。具體做法就是通過(guò)對兩個(gè)RAM的乒乓操作來(lái)實(shí)現數據的緩存和發(fā)送。在第 1個(gè)傳輸周期,在輸入端通過(guò)選擇器1將數據寫(xiě)入RAM1。在第2個(gè)傳輸周期,在輸入端切換選擇器1將數據寫(xiě)入RAM2,在輸出端同時(shí)將RAM1中的數據通過(guò)選擇器2讀出。在第3個(gè)傳輸周期,在輸入端切換選擇器1將數據寫(xiě)入RAM1,在輸出端同時(shí)將RAM2中的數據通過(guò)選擇器2讀出。如此循環(huán)便可實(shí)現對數據的連續緩存和讀出。

對其中一片RAM實(shí)現信道交織具體的實(shí)現過(guò)程就是通過(guò)控制ROM的讀出和控制RAM的讀寫(xiě)來(lái)實(shí)現:在ROM中存放交織地址表,將RAM作為存放數據的緩存器,先將計數器的輸出送至ROM地址總線(xiàn),選擇器再選擇從ROM讀出的交織地址送至RAM的地址線(xiàn)完成交織;然后按計數器的順序地址將RAM中的數據讀出,即為交織后的輸出結果。詳細的信道交織流程如圖3所示。

4 仿真結果分析

本文用Verilog HDL語(yǔ)言編程實(shí)現信道交織,并通過(guò)QuanusⅡ和Modelsim軟件進(jìn)行仿真驗證。圖4為截取的一段仿真波形,波形顯示的是先按信道交織表的地址將輸入數據寫(xiě)入RAM,輸入數據是連續的256個(gè)0,1比特流,最后按計數器的順序地址讀出交織后的數據,交織后的結果是前64個(gè)數據均為0,接著(zhù)64個(gè)數據均為1,然后接著(zhù)64個(gè)數據均為0,最后64個(gè)數據為1,與Matlab中的仿真結果一致,證明了該實(shí)現方案的正確性。

5 結束語(yǔ)

本文在寬帶載波電力線(xiàn)通信協(xié)議的基礎上,給出了基于FPGA的信道交織模塊的物理層實(shí)現方法。該方法從實(shí)際出發(fā),權衡資源和時(shí)延的要求,實(shí)用性較強。其中,采用雙RAM可實(shí)現流水線(xiàn)操作,解決了單RAM等待的時(shí)延的問(wèn)題;采用信道交織表的方式,相比單純采用邏輯控制的方式,可操作性和可移植性強。該方案已成功應用于某寬帶載波電力線(xiàn)通信模塊中,證明該方案切實(shí)可行。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>