本文介紹一個(gè)Simulink模型,可做為設(shè)計(jì)無(wú)線收發(fā)器及建立無(wú)線網(wǎng)路的基礎(chǔ)架構(gòu)。這個(gè)無(wú)線收發(fā)器包含PHY層與MAC層。藉由使用通訊工具箱、事件模擬模塊組附加的功能模塊,可以將Simulink模型延伸運(yùn)用到更先進(jìn)的無(wú)線收發(fā)器上,如WLAN、V2X與無(wú)線IoT。
本文介紹一個(gè)Simulink模型,可做為設(shè)計(jì)無(wú)線收發(fā)器及建立無(wú)線網(wǎng)路的基礎(chǔ)架構(gòu)。這個(gè)無(wú)線收發(fā)器包含了實(shí)體層(physical layer;PHY層)與媒介存取控制層(medium access control layer;MAC層)。而無(wú)線網(wǎng)路的模型是由多個(gè)在衰減通道(fading channel)進(jìn)行溝通的無(wú)線收發(fā)器所構(gòu)成。
我們使用了一個(gè)QPSK調(diào)變的簡(jiǎn)易PHY層,以及兩種可選擇的MAC層協(xié)定:以ALOHA為基礎(chǔ)的隨機(jī)補(bǔ)償(ALOHA-based random back-off)和CSMA/CA(IEEE 802.11)。為了讓說(shuō)明比較容易,我們省去一些常見於無(wú)線收發(fā)器的模塊,像是交錯(cuò)、加密與通道編碼。
你可以使用這個(gè)無(wú)線收發(fā)器模型來(lái)研究PHY與MAC行為、PHY與MAC之間的互動(dòng)、或者研究整個(gè)網(wǎng)路。你也可以將它做為一個(gè)模板,利用通訊工具箱(Communications Toolbox)、無(wú)線區(qū)域網(wǎng)路工具箱(WLAN Toolbox)、事件模擬模塊組(SimEvents)內(nèi)的工具和演算法來(lái)設(shè)計(jì)如WLAN、V2X與IoT等更複雜無(wú)線收發(fā)器的模板。PHY層模塊與MAC層的事件導(dǎo)向系統(tǒng)模擬軟體(Stateflow)圖表都讓你能夠透過(guò)硬體描述語(yǔ)言轉(zhuǎn)碼器(HDL Coder)產(chǎn)生HDL程式碼,並且以包含了SDR(AD9361)與FPGA(XilinxR ZynqR-7000 SoC)的ADI RF SOM板作為目標(biāo)硬體來(lái)即時(shí)實(shí)現(xiàn)無(wú)線收發(fā)器。
網(wǎng)路架構(gòu)
這個(gè)Simulink模型的頂層是由一個(gè)衰減無(wú)線電網(wǎng)路模塊與幾個(gè)無(wú)線收發(fā)器節(jié)點(diǎn)所構(gòu)成(圖1)。這些節(jié)點(diǎn)以ad hoc的方式溝通:網(wǎng)路中任一個(gè)節(jié)點(diǎn)皆可發(fā)射訊號(hào)至其他節(jié)點(diǎn),也可以從其他節(jié)點(diǎn)接收訊號(hào)。這個(gè)無(wú)線收發(fā)器半雙向(half-duplex)模式運(yùn)作。在網(wǎng)路架構(gòu)裡面,每一個(gè)收發(fā)器節(jié)點(diǎn)的輸出可到達(dá)其他收發(fā)器成為輸入。依無(wú)線電通道的互換原則,每?jī)蓚€(gè)節(jié)點(diǎn)之間的兩條通道設(shè)定必須相同,而不同對(duì)無(wú)線收發(fā)器通道的通道設(shè)定可以不一樣。

圖1 : 無(wú)線收發(fā)器與無(wú)線電網(wǎng)路模型。 |
|
在無(wú)線收發(fā)器的設(shè)計(jì),PHY層模型是以接近真實(shí)硬體實(shí)現(xiàn)的Simulink模塊所建立。MAC層的模型則是透過(guò)Stateflow來(lái)反映現(xiàn)實(shí)中有限狀態(tài)機(jī)器的特性。
封包資料架構(gòu)格式
這個(gè)無(wú)線收發(fā)器所使用的封包資料架構(gòu)格式與 MATLAB範(fàn)例:Packetized Modem with Data Link Layer定義的格式相同。如圖所示,PHY的表頭資料共有4個(gè)區(qū)塊,這裡負(fù)載長(zhǎng)度(Payload Length)表示了資料連結(jié)單元(Data Link Unit)的總位元長(zhǎng)度,並且由Header CRC覆蓋。而MAC的表頭資料有七個(gè)區(qū)塊,架構(gòu)CRC(Frame CRC)覆蓋了MAC表頭資料(MAC Header)和架構(gòu)主體(Frame Body)。架構(gòu)有兩種:資料架構(gòu)(Data frame)與認(rèn)可架構(gòu)(Ack frame)。認(rèn)可架構(gòu)的架構(gòu)主體長(zhǎng)度為零。資料架構(gòu)與認(rèn)可架構(gòu)都有如同在IEEE 802.11所定義的格式。

圖2 : 使用在這個(gè)無(wú)線收發(fā)器的封包資料架構(gòu)格式 |
|
我們現(xiàn)在來(lái)更仔細(xì)地查看頂層Simulink模型的每一個(gè)元件。
無(wú)線收發(fā)器
無(wú)線收發(fā)器節(jié)點(diǎn)模型使用了半雙向(half-duplex)的Tx/Rx模式(圖3)。
它由一個(gè)PHY層、一個(gè)MAC層、一個(gè)邏輯鏈路控制(Logic Link Control;LLC)層組成。PHY層有三個(gè)主要的模塊:發(fā)射器、接收器與Tx/Rx切換開關(guān)。這三個(gè)模塊皆以Simulink建模。MAC和LLC層則透過(guò)Stateflow圖表來(lái)建模,以顯示無(wú)線收發(fā)器MAC和LLC層的狀態(tài)變遷與邏輯運(yùn)作。
發(fā)射器
在無(wú)線收發(fā)器的發(fā)射器模型,TxOn輸出控制了RF雙向切換開關(guān)來(lái)決定發(fā)射或接收,而TxSymbl輸出在發(fā)射時(shí)讓經(jīng)過(guò)調(diào)變的訊號(hào)流出至雙向切換開關(guān)(圖4)。

圖4 : 無(wú)線收發(fā)器的發(fā)射器模型 |
|
輸入訊號(hào)TxDataOn和TxAckOn分別控制了資料架構(gòu)和認(rèn)可架構(gòu)的發(fā)射期間長(zhǎng)短。資料架構(gòu)與認(rèn)可架構(gòu)分別載入至查找表TxData_LUT和TxAck_LUT。查找表變數(shù)的變更將改變被發(fā)射出去的內(nèi)容。
發(fā)射器的符元速率(symbol rate)為10M symbols/sec,而位元速率(bit rate)為20 Mbit/sec。如果沒有符元要發(fā)射,或者節(jié)點(diǎn)處?kù)督邮漳J綍r(shí),TxSymbl會(huì)被設(shè)定為零。發(fā)射與接收的脈衝成形濾波器(pulse shaping filter)則在Tx/Rx Switch模塊裡面。
接收器
無(wú)線收發(fā)器的接收器有三個(gè)主要的功能模塊:訊號(hào)偵測(cè)(Signal Detection;SD)、決策回授等化器(Decision Feedback Equalizer;DFE)、解調(diào)器CRC(DCRC)(圖5)。SD模塊監(jiān)控接收到訊號(hào)的功率等級(jí)。
一旦功率等級(jí)超出界限,SD模塊會(huì)產(chǎn)生一個(gè)訊號(hào)來(lái)啟動(dòng)DFE與DCRC模塊,並開始將收到的訊號(hào)給DFE。DFE會(huì)以每個(gè)符元取樣兩次做為間隔。訓(xùn)練參考前言被儲(chǔ)存在REF_LUT模塊。訓(xùn)練資料會(huì)在等化訓(xùn)練期間的一開始被呼叫出來(lái)。DCRC模塊負(fù)責(zé)將經(jīng)過(guò)等化的符號(hào)流解調(diào)為一個(gè)位元流,辨認(rèn)負(fù)載長(zhǎng)度區(qū)塊的定界符號(hào),以及執(zhí)行表頭CRC來(lái)取得無(wú)錯(cuò)誤的負(fù)載長(zhǎng)度。
當(dāng)負(fù)載長(zhǎng)度被取得,模塊會(huì)執(zhí)行負(fù)載(payload)的CRC操作,辨認(rèn)收到的封包是資料架構(gòu)還是認(rèn)可架構(gòu),並且將架構(gòu)類型資料提供給MAC層。如果任一個(gè)CRC失敗了,架構(gòu)會(huì)被捨棄,且接收器會(huì)轉(zhuǎn)換回備用狀態(tài)。
訊號(hào)偵測(cè)器
圖6所示的訊號(hào)偵測(cè)器(signal detector;SD)被使用來(lái)偵測(cè)訊號(hào)何時(shí)抵達(dá)無(wú)線收發(fā)器。SD的波形呈現(xiàn)如圖7。訊號(hào)的絕對(duì)值會(huì)透過(guò)一個(gè)兩段指數(shù)移動(dòng)平均濾波器(two-stage exponential moving average filter)來(lái)過(guò)濾。當(dāng)移動(dòng)平均濾波器的輸出超出界限,偵測(cè)器會(huì)產(chǎn)生啟動(dòng)訊號(hào)SigDe來(lái)開啟DFE和DCRC模塊。位於輸出SigOut的緩衝模塊會(huì)產(chǎn)生二維(取樣)資料給部分的DFE。

圖7 : 來(lái)自訊號(hào)偵測(cè)器的訊號(hào)波形 |
|
決策回授等化器
無(wú)線收發(fā)器的DFE扮演了相當(dāng)重要的角色。DFE的功能為移除符間干擾(intersymbol interference;ISI)、符元計(jì)時(shí)的同步、架構(gòu)範(fàn)圍的排列、頻率偏差的補(bǔ)償[1-2]。如圖8所示,DFE以符元速率來(lái)操作,並且在等化器權(quán)重的每一次疊代取兩個(gè)新的樣本。
由於前饋細(xì)胞(DFE_Cell_FFW)的輸入維度為2,每一個(gè)DFE_Cell_FFW模塊會(huì)執(zhí)行兩個(gè)前向開關(guān)的過(guò)程。因此,在DFE的向前部分,9個(gè)Cell_FFW模塊被用來(lái)實(shí)現(xiàn)18個(gè)前向開關(guān)。在回授的部分,每一個(gè)DFE_Cell_FBW有一個(gè)一維輸入,並處理一個(gè)回饋開關(guān)。因此DFE有6個(gè)回饋開關(guān)。訓(xùn)練的長(zhǎng)度是在DFE內(nèi)的N-Sample Switch模塊來(lái)設(shè)定。轉(zhuǎn)換器權(quán)重純量是在DFE內(nèi)由「mu」命名的常數(shù)模塊設(shè)定。圖9為DFE前後的星座圖。

圖9 : 說(shuō)明了ISI上通道等化效果的圖表 |
|
解調(diào)器CRC
DCRC模塊(圖10)將來(lái)自於DFE經(jīng)過(guò)等化的符號(hào)流解調(diào)為位元流。它接下來(lái)檢查表頭架構(gòu)CRC並解碼負(fù)載架構(gòu)的長(zhǎng)度。當(dāng)取得負(fù)載架構(gòu)的長(zhǎng)度,DCRC內(nèi)的Payload CRC模塊會(huì)啟動(dòng)。當(dāng)負(fù)載CRC通過(guò),RxType Gen模塊會(huì)檢查MAC Header的To Address欄位。若To Address欄位符合節(jié)點(diǎn)的位址,模塊會(huì)依MAC Header的Type欄位產(chǎn)生RxDataOk或RxAckOk的訊號(hào)給MAC層。只要CRC失敗,或者是位址或資料類型不適當(dāng),則架構(gòu)會(huì)被捨棄。
MAC層
MAC對(duì)無(wú)線收發(fā)器執(zhí)行有智慧的控制。MAC實(shí)現(xiàn)兩個(gè)可選擇的MAC功能:ALOHA-based(MAC_Sel=1)與CSMA/CA(MAC_Sel=0)。ALOHA-based MAC較為直接,而CSMA/CA MAC則更有效率。
對(duì)於以ALOHA為基礎(chǔ)的MAC(圖11與12),當(dāng)一個(gè)節(jié)點(diǎn)發(fā)射出一個(gè)資料架構(gòu)時(shí),它會(huì)期待在AckW定義的期間之內(nèi)收到一個(gè)來(lái)自接收端節(jié)點(diǎn)的認(rèn)可架構(gòu)。如果在AckW內(nèi)沒有接收到Ack,MAC會(huì)進(jìn)入隨機(jī)的補(bǔ)償(back-off)程序。這一個(gè)補(bǔ)償程序會(huì)重複直到資料架構(gòu)成功送出或者達(dá)到最大的重試次數(shù)。

圖11 : 在ALOHA-Based MAC的資料架構(gòu)傳輸 |
|

圖12 : ALOHA-based MAC的Stateflow圖表 |
|
對(duì)於CSMA/CA MAC(圖13與14),媒介在DIFS發(fā)射之前這段期間必須靜止,接下來(lái)節(jié)點(diǎn)會(huì)開始隨機(jī)的競(jìng)爭(zhēng)視窗(Contention Window;CW)期。當(dāng)CW結(jié)束,如果媒介仍為靜止,節(jié)點(diǎn)會(huì)開始發(fā)射一個(gè)資料架構(gòu),否則,節(jié)點(diǎn)會(huì)等到另一個(gè)靜止的DIFS期。當(dāng)發(fā)射的節(jié)點(diǎn)在SIFS期收到認(rèn)可架構(gòu),它會(huì)發(fā)射出下一個(gè)資料架構(gòu);否則會(huì)再一次進(jìn)入DIFS期間。

圖13 : 在CSMA/CA MAC的資料架構(gòu)傳輸 |
|

圖14 : CSMA/CA MAC的Stateflow圖表 |
|
圖15為有兩種MAC功能可選擇的MAC層結(jié)構(gòu)。

圖15 : 具有可選MAC功能的MAC層結(jié)構(gòu) |
|
邏輯鏈路控制層
邏輯鏈路控制層(Logical Link Control Layer;LLC層)掌管較上層與無(wú)線收發(fā)器之間的隨機(jī)資料封包(圖16)。它產(chǎn)生隨機(jī)抵達(dá)的資料封包。對(duì)於一個(gè)很長(zhǎng)的資料封包,LLC層會(huì)把它分割為幾個(gè)資料架構(gòu)。LLC層也控制資料架構(gòu)的排列,以及監(jiān)控資料封包的傳送狀態(tài)。

圖16 : 邏輯鏈路控制層(Logical Link Control layer)的Stateflow圖表 |
|
結(jié)果與呈現(xiàn)
本文描述的Simulink模型有三個(gè)以輪替的方式溝通的無(wú)線收發(fā)器節(jié)點(diǎn):節(jié)點(diǎn)1 →節(jié)點(diǎn)3→節(jié)點(diǎn)2→節(jié)點(diǎn)1。在每一個(gè)節(jié)點(diǎn),由LLC層產(chǎn)生的資料封包抵達(dá)時(shí)間是隨機(jī)的。一個(gè)資料封包可能有多達(dá)四個(gè)資料架構(gòu)。資料框負(fù)載長(zhǎng)度設(shè)定為126 bytes。系統(tǒng)位元率為20 Mbit/Sec。通道模型是透過(guò)一個(gè)雙路徑瑞利通道模式(two-path Rayleigh channel mode)搭配50 Hz的都卜勒頻率擴(kuò)展(Doppler frequency spreading)和25 dB SNR(Eb/No)的AWGN來(lái)建立。
在ALOHA-based MAC(圖17),上面三個(gè)圖表為來(lái)自三個(gè)節(jié)點(diǎn)的發(fā)射波形,而底下的圖表為節(jié)點(diǎn)1的補(bǔ)償計(jì)數(shù)值。在這個(gè)圖表,持續(xù)時(shí)間較寬的訊號(hào)為資料框,而持續(xù)時(shí)間較窄的訊號(hào)為認(rèn)可框。圖18描繪了CSMA/CA MAC相似的圖表。
從圖17與18呈現(xiàn)的結(jié)果,我們可以歸納出以下結(jié)論:
*任兩個(gè)節(jié)點(diǎn)之間,或三個(gè)節(jié)點(diǎn)之間都有可能發(fā)生衝突。
*成功的發(fā)射後面總是會(huì)有一個(gè)認(rèn)可架構(gòu)。
*短暫的周轉(zhuǎn)時(shí)間對(duì)於高網(wǎng)路通量相當(dāng)重要。
*由於CSMA/CA MAC採(cǎi)用載波偵聽的關(guān)係,它比起ALOHA-based MAC更有效率。

圖17 : 有ALOHA MAC的節(jié)點(diǎn)波形。上:網(wǎng)路節(jié)點(diǎn)的發(fā)射器波形。下:節(jié)點(diǎn)1的補(bǔ)償計(jì)數(shù)值。 |
|

圖18 : CSMA/CA MAC的節(jié)點(diǎn)波形。上:網(wǎng)路節(jié)點(diǎn)的發(fā)射器波形。下:節(jié)點(diǎn)1的補(bǔ)償計(jì)數(shù)值。 |
|
圖19為2.8 ms到3.4 ms這段期間媒介傳輸?shù)姆糯髨D。我們可以看到Data1與Data2這兩個(gè)資料架構(gòu)發(fā)生衝突,因此節(jié)點(diǎn)2和節(jié)點(diǎn)3都沒有辦法產(chǎn)生認(rèn)可架構(gòu)。在AckW這段等待期間之後,節(jié)點(diǎn)1和節(jié)點(diǎn)3知道它們的資料框並沒有通過(guò)。接著在一段短暫的補(bǔ)償(back-off)時(shí)期之後,節(jié)點(diǎn)1重新送出Data1,這次資料框成功通過(guò),並且接收到節(jié)點(diǎn)3傳回的認(rèn)可。

圖19 : 圖17之2.8 ms至3.4 ms期間的放大圖 |
|
總結(jié)
在這個(gè)範(fàn)例,我們建立了一個(gè)包含了多個(gè)無(wú)線收發(fā)器與衰減通道的無(wú)線網(wǎng)路的Simulink模型。這個(gè)模型是由Simulink模塊與Stateflow圖表所組成,展現(xiàn)了模型化基礎(chǔ)設(shè)計(jì)的效率。無(wú)線收發(fā)器有PHY和MAC層。PHY層模型提供了一般PHY的基本功能:調(diào)變、解調(diào)變、訊號(hào)偵測(cè)、同步、等化、位元操作(bitwise manipulation)、表頭CRC、架構(gòu)CRC。MAC層模型是透過(guò)Stateflow來(lái)建立。它可以使用ALOHA-based MAC或CSMA/CA(IEEE 802.11)MAC。這個(gè)模型也有助於進(jìn)行HDL實(shí)現(xiàn)與SDR原型化。
有了這個(gè)模型,我們可以在考慮了所有系統(tǒng)元件的網(wǎng)路環(huán)境下研究無(wú)線收發(fā)器的幾種行為,包含了:
*快速同步、等化、與轉(zhuǎn)向
*以架構(gòu)為基礎(chǔ)與以樣本為基礎(chǔ)進(jìn)行處理的比較
*PHY與MAC之間的互動(dòng)
*具備幾種通道模型的網(wǎng)路效能
藉由使用通訊工具箱(Communications Toolbox)、事件模擬模塊組(SimEvents)附加的功能模塊,你可以將這個(gè)Simulink模型延伸運(yùn)用到更先進(jìn)的無(wú)線收發(fā)器上,如WLAN、V2X與無(wú)線IoT。
(本文由鈦思科技提供;作者Chung Wu任職於MathWorks公司)