當(dāng)調(diào)制方式為16-AQM,64-QAM和256-QAM時(shí)需要做位交織,交織的目的是將突發(fā)的錯(cuò)誤分散開(kāi)來(lái),把一個(gè)較長(zhǎng)的突發(fā)差錯(cuò)離散成隨機(jī)差錯(cuò),再用隨機(jī)差錯(cuò)的編碼(FEC)等信道編碼技術(shù)消除隨機(jī)差錯(cuò),提高通信的可靠性。交織的越深,抗突發(fā)錯(cuò)誤的能力也越強(qiáng)。位交織的本質(zhì)是做矩陣的轉(zhuǎn)置運(yùn)算,需要轉(zhuǎn)置的數(shù)據(jù)包括信息位和校驗(yàn)位,在交織的過(guò)程中分兩步完成,步為檢驗(yàn)位交織,第二步為列旋轉(zhuǎn)交織。
1.QAM調(diào)制方式介紹
QAM正交振幅調(diào)制,其幅度和相位同時(shí)變化,屬于非恒包絡(luò)二維調(diào)制。它把2ASK和2PSK兩種調(diào)制結(jié)合起來(lái),使得帶寬得到雙倍擴(kuò)展。ASK和PSK調(diào)制方式如下圖所示:
QAM調(diào)制技術(shù)用兩路獨(dú)立的基帶信號(hào)對(duì)頻率相同、相位正交的兩個(gè)載波進(jìn)行調(diào)幅,并將已調(diào)信號(hào)加在一起進(jìn)行傳輸。nQAM代表n個(gè)狀態(tài)的正交調(diào)幅,一般有二進(jìn)制(4QAM)、四進(jìn)制(16QAM)、八進(jìn)制(64QAM)、十六進(jìn)制(256QAM)。得到多進(jìn)制的QAM信號(hào),需要將二進(jìn)制信號(hào)轉(zhuǎn)換為m電平的多進(jìn)制信號(hào),然后進(jìn)行正交調(diào)制,相加輸出。
通信系統(tǒng)中通常把信號(hào)矢量端點(diǎn)的分布圖成為星座圖,同眼圖相比,星座圖可以看成數(shù)字信號(hào)的一個(gè)二維眼圖陣列,屏幕上的圖形對(duì)應(yīng)著幅度和相位,通過(guò)星座圖,可以發(fā)現(xiàn)諸如幅度噪聲,相位噪聲,相位誤差等調(diào)制問(wèn)題,采用格雷碼編碼技術(shù),16QAM星座圖編碼映射關(guān)系如下圖所示:
橫縱、坐標(biāo)的取值均有4種,分別為±1、±3,每種坐標(biāo)需要3bit二進(jìn)制來(lái)表示,差分編碼后輸入的符號(hào)與QAM調(diào)制系統(tǒng)中的I、Q之路幅值映射關(guān)系如下表所示:
2. 檢驗(yàn)位交織
檢驗(yàn)位進(jìn)行交織的時(shí)候,信息為的數(shù)據(jù)需要保持不變,檢驗(yàn)位交織需要滿足以下方程:
根據(jù)校驗(yàn)位交織地址生成公式可知,交織前的矩陣為Qldpc*360,即依次向數(shù)據(jù)每行寫(xiě)入360個(gè)數(shù),第361個(gè)數(shù)為第二行列數(shù),依次類推。存放Rom地址如圖所示:
交織的本質(zhì)是行進(jìn)列出,即取數(shù)據(jù)依次如下地址取數(shù)據(jù),重新生成新的一組向量Matlab 中,重新產(chǎn)生讀數(shù)據(jù)的地址索引,即可實(shí)現(xiàn)矩陣的轉(zhuǎn)置,使用兩個(gè)for循環(huán)在硬件平臺(tái)上實(shí)現(xiàn)上述操作則需要兩個(gè)計(jì)數(shù)器來(lái)實(shí)現(xiàn)地址的累加,實(shí)現(xiàn)的波形如圖所示3. 列旋轉(zhuǎn)交織
校驗(yàn)位交織輸出ui按列順序依次寫(xiě)入列旋轉(zhuǎn)交織器,然后按行依次讀出,完成列旋轉(zhuǎn)交織,每列寫(xiě)入的起始位置由tc決定,整個(gè)旋轉(zhuǎn)交織見(jiàn)下圖列旋轉(zhuǎn)交織用公式表示如下:
輸入為ui,0≤i≤Nldpc,寫(xiě)入交織器的ci列,ri行,其中列旋轉(zhuǎn)交織器的輸出為ui,0≤i≤Nldpc,從交織器的ri行,ci列讀出,其中列旋轉(zhuǎn)交織測(cè)參數(shù)為Nldpc = 16200,Rows Nr =2025,Columns Nc = 8,列旋轉(zhuǎn)參數(shù)tc見(jiàn)下表交織之前的數(shù)據(jù)地址為
對(duì)于列旋轉(zhuǎn)交織,每列Tc的值都是確定的,因此可以按照一定規(guī)律求出每列的地址,如下圖所示,以第四列Tc為7為例,即數(shù)據(jù)整體往后移7行,7行的數(shù)據(jù),移到前面的幾行。求出新的地址后,依次將行地址數(shù)據(jù)讀出即完成位旋轉(zhuǎn)交織。
在計(jì)算列旋轉(zhuǎn)交織的時(shí)候需要考慮固定延遲Tc,在matlab中,可以這樣得到交織的結(jié)果相比奇偶校驗(yàn),列旋轉(zhuǎn)交織多了Tc的延遲,需要在正常產(chǎn)生地址的情況下再進(jìn)行操作,正常地址產(chǎn)生的操作同奇偶校驗(yàn)。Tc是21,因此可以定義一個(gè)狀態(tài)機(jī)來(lái)完成此操作,如下:
對(duì)照交織之后得到的地址矩陣,在狀態(tài)Row_1讀取行的地址,前三列Tc =0,不做任何操作,正常讀出轉(zhuǎn)置后的地址即可;第四列需要加上2025-1,第五列加2025-7,后面的三列也按照Tc的延遲進(jìn)行操作。Row_2代表第二行,依次類推,讀完21行之后,相同的列對(duì)應(yīng)的操作都一樣,都在Row_last中完成Gen_end表示交織完成,跳轉(zhuǎn)到狀態(tài)0,等待下一幀的操作。
從以往的學(xué)習(xí)經(jīng)驗(yàn)來(lái)看,想從新手進(jìn)階為FPGA高手、行業(yè)資深FPGA開(kāi)發(fā)工程師,您不僅要學(xué)習(xí)基礎(chǔ)的數(shù)字電路知識(shí),掌握基礎(chǔ)電路如組合邏輯、時(shí)序邏輯電路的原理與實(shí)現(xiàn)方法。編程語(yǔ)言方面,學(xué)會(huì)使用硬件描述語(yǔ)言Verilog或者VHDL,并選擇相應(yīng)FPGA開(kāi)發(fā)平臺(tái)設(shè)計(jì)軟件(Quartus或者ISE),找相關(guān)的實(shí)例“抄寫(xiě)”代碼,逐漸熟悉FPGA硬件語(yǔ)言編程及編譯器使用。經(jīng)過(guò)前面一段的鋪墊學(xué)習(xí),然后你就可以自行嘗試設(shè)計(jì)數(shù)字電路了。在做項(xiàng)目的時(shí)候,根據(jù)提供時(shí)序圖使用HDL語(yǔ)言去完成它,這時(shí)候你就可以購(gòu)買FPGA開(kāi)發(fā)板去完成項(xiàng)目后續(xù)設(shè)計(jì)、驗(yàn)證和sim仿真設(shè)計(jì)了。
審核編輯 :李倩
-
FPGA
+關(guān)注
關(guān)注
1629文章
21748瀏覽量
603916 -
邏輯電路
+關(guān)注
關(guān)注
13文章
494瀏覽量
42642 -
二進(jìn)制
+關(guān)注
關(guān)注
2文章
795瀏覽量
41674
原文標(biāo)題:FPGA無(wú)限通信技巧—位交織
文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論