WiFi(WirelessFidelity)手機是一種新興的基于WiFi技術的VOIP電話。使用這種手機可以將模擬語音信號轉換為數據包的形式,通過熱點(AccessPoint)接入基于IP協議的互聯網上進行傳輸,從而接打電話。與傳統固話相比,WiFi手機的資費非常廉價,但使用的前提是,WiFi手機只有在熱點覆蓋范圍以內才能進行通話。但熱點的覆蓋范圍往往非常有限。
有兩種方法可以增大熱點的覆蓋范圍:一是提高熱點發射功率和提高手機接收靈敏度,但熱點的發射功率不可能無限制地被提高,所以同時還必須提高手機的接收靈敏度來增大熱點覆蓋范圍。根據自由空間傳輸損耗公式:L(dB)=32.4+20×lgd(km)+20×lgf(MHz)
由此可以得出結論:在自由空間的理想情況下,手機接收靈敏度每增加6dB,便可使熱點的覆蓋范圍增大1倍。所以,提高WiFi手機的接收指標有非常實際的意義。要提高WiFi手機的接收性能,首先就必須準確地測試出其接收指標,然后才能對其進行改進,最終提高整個系統的性能。
在802.11系統中,信息是以幀為單位進行傳輸的,因此可用誤幀率對接收性能進行統計分析,而在PHS系統中,是以誤碼率來定義接收性能指標的。無論在對接收指標的定義上還是在接收性能的測試方法上,WiFi系統和PHS系統均存在較大差異。所以,文中將著重對WiFi射頻接收性能的測試方法進行分析,并給出一種通用的解決方案。
1、射頻接收指標及測試過程
1.1、射頻接收指標的定義
根據IEEE802.11b規范,有3項較為關鍵的射頻接收指標定義如下:
1)接收機最小輸入電平靈敏度 對于在天線連接器上測得的-76dBm的輸入電平而言,若PSDU的長度為1024個字節,其誤幀率(FER)應小于8%;
2)接收機最大輸入電平 對于在接收端天線上測得的-10dBm的最大輸入電平而言,若PSDU長度為1024個字節,則其誤幀率(FER)最大應為8%;
3)接收機鄰道抑制 接收機鄰道抑制在每一信道組中的間隔,不小于25MHz的任意2個信道間鄰道干擾信號功率與有用信號功率的比值。對于采用11Mbit/sCCK調制的FER值為8%以及長度為1024字節的PSDU而言,鄰道抑制必須不小于35dB。
1.2、誤幀率
在上面3項指標的定義中,均提及了1個非常重要的參數:誤幀率,即傳輸過程中丟失和出錯的幀數和發送總幀數的比值。只有獲得正確的誤幀率,才能精確地測試出上述3項接收性能指標。實驗室搭建的接收性能測試平臺,見圖1
在圖1的測試平臺上,由PC為信號源提供一定幀格式的I/Q信號波形文件,并由信號源發出一定數量的幀。同時,DUT在PC的控制下,對這些幀進行接收解調,求得相應的誤幀率。然后根據誤幀率來調節信號源的發射功率,直到誤幀率正好滿足指標要求,此時便能獲得DUT相應的接收性能指標。但在這個平臺上,要獲得正確的誤幀率,也存在2個難點:
1)信號源發出的幀格式必須滿足DUT的要求。不同芯片供應商提供的芯片對幀格式的要求是不同的,若滿足不了芯片對幀格式的需要,DUT便不能正確統計收到的正確幀數,從而導致誤幀率的計算錯誤;
2)信號源要能確保發出一定數目的幀,若信號源發出的總幀數都不能確定,誤幀率便無法計算。
2、幀結構分析
不同的芯片供應商在測試芯片接收性能時,往往采用不同的幀格式。只有幀格式滿足要求,才能統計出正確的收幀數,獲得準確的誤幀率。常見的WiFi芯片供應商Agere、Philips在接收測試時,對幀格式的要求也各不相同。文中主要針對Agere和Philips的幀格式要求進行詳細分析[5-6]。
2.1、幀的形成過程
在802.11DSSS系統中,幀的形成包括以下4個過程。
2.1.1 MSDU的形成
MSDU是MACServiceDataUnit的縮寫,被稱為MAC層業務數據單元,是最原始的待發送數據信息。
2.1.2 MPDU的形成
MPDU(MACProtocolDataUnit)被稱為MAC層協議數據單元。它是將MSDU按一定幀結構封裝后獲得的待發數據信息,見圖2。封裝過程包括在MSDU前加上MAC幀頭和在后面加上幀檢驗序列。
2.1.3 PSDU的形成
PSDU(PLCPServiceDataUnit)被稱為PLCP子層業務數據單元,實際就是從MAC層傳來的MPDU信息。
2.1.4 PPDU的形成
PPDU(PLCPProtocolDataUnit),被稱為PLCP子層協議數據單元。它是將PSDU按照特定的幀格式進行數據封裝后的數據包,具體說來就是在PSDU前面再加上PLCP前導碼和PLCP報頭,見圖3.PPDU是最終將經由物理介質發送出去的數據封裝。
2.2、PPDU格式
幀格式[7]的修改全部由PC的軟件(WinIQsim或SignalStudio)實現,PC傳輸給信號源的I/Q波形文件已確定了幀格式。軟件中主要是使MPDU滿足芯片要求,而PPDU則自動生成的,所以這里只介紹PPDU格式。
整個PLCP前導碼和報頭采用1Mbit/sDBPSK調制進行發射,發送的數據均采用反饋加擾器加擾。SYNC字段由128個加擾的“1”組成,被用來和接收方進行必要的同步操作;SFD被用以指示依賴與PHY的參數在PLCP前導碼中的開始;Signal字段指示發送(和接收)MPDU應采用的調制速率;Service字段為預留字段;Length字段用以指示發送MPDU所需的微秒數;CRC-16字段根據CCITTCRC-16規范計算出Signal、Service和Length字段的CRC校驗碼并一同發送,完成幀檢驗序列保護。
2.3、MPDU
MPDU通常包括3個部分,見圖3.
①MAC幀頭,包括幀控制、持續時間、地址及序列控制信息;
②可變長度的整體,包含基于幀類型的特定信息;
③幀檢驗序列(FCS),包含IEEE32bit的循環冗余碼(CRC)。
2.4、幀控制字段的結構
幀控制字段雖然只有16個字節,但卻包含了用于解釋幀其他部分的全部信息,見圖4.
1)協議版本:當前總是0,其余為保留值,不為0則丟棄;
2)類型和子類型:這2個字段共同標識幀的類型和功能。802.11中總包含3種幀:控制幀、數據幀和管理幀。每種幀類型又分為幾種子類型。幾種常用的幀類型見表1.
3)去往DS和來自DS字段:輔助確定幀的最終傳輸地址;
4)多分段標記:代表數據超過2312字節,將被分成多個數據包傳送;
5)重傳字段:識別當前幀是否為1個數據幀的重傳拷貝;
6)功率管理字段:代表STA的節能狀態;
7)多數據標記字段:代表STA有更多的數據需要發送;
8)排序字段:代表當前幀是數據幀,并按照有嚴格序列要求的幀類型發送數據;
9)持續時間/ID字段:記錄了數據的持續時間數,該時間數將被用來使其他STA更新自己的矢量網絡分配。
2.5、MAC幀格式
MAC幀格式中有4個地址字段,這些字段用于指示基本服務集標識(BSSID)、目的地址(DA)、源地址(SA)、發送站地址(TA)和接收站地址(RA)。某些幀可能不包括某些地址字段。其中數據幀的地址字段內容取決于去往DS和來自DS的2個字段的值,見表2。
序列控制字段:長度為16bit,由序列號和分段號2個字段構成。其中12bit的序列號用來指示MSDU或MMPDU的序列編號。STA發送的每個MSDU或MMPDU被分配1個序列編號,隨著每個MSDU或MMPDU的出現而以1遞增。MSDU或MMPDU每個分段的序列號相同,當MSDU、MMPDU或其分段重傳時,序列號保持不變。4bit長的分段號則用于指示MSDU或MMPDU的分段編號。當MSDU或MMPDU僅有1個分段時,分段編號為0;當MSDU或MMPDU有多個分段時,其第1個分段的分段編號為0,其后的分段編號以1遞增,所有重傳分段的分段編號保持不變。
FCS字段為32bit的CRC,它由MAC頭和幀全部字段計算得到。
3、不同芯片的幀結構分析
以常見的Agere芯片組為例,用無線網卡在測試板下抓拍的由AgereGoldUnit發出的幀結構,見圖5.
幀的類型和子類型為“010000”,對照表1可以得出此幀為單純的數據幀。其去往DS和來自DS均為0,由對照表2可以得出其地址1為DA,地址2為SA,地址3為BSSID。這里DA為“FFFFFFFFFFFF”,即廣播幀;SA為芯片的MAC地址。在序列控制字段中,分段號為0,說明此MSDU沒有分段;而比較相鄰的2個幀,可以看出幀的序列號是以1遞增的,而2個幀之間的時間間隔約為20ms。
由于現在的信號源只能對一定格式的幀進行循環發送,無法使每幀的序列號遞增,所以只有在接收程序中屏蔽掉對幀序號進行驗證的功能。若幀間空閑時間過小,則芯片未能完成CRC校驗,從而導致誤幀率計算錯誤,所以還必須將幀間的間隔時間設置成20ms。最后,再將幀格式設置成數據幀,這樣便能在接收性能測試時,使信號源發出的幀能夠滿足Agere芯片的要求。
在Philips的BGW200芯片組中,用同樣的方法可以發現:幀的格式為數據幀,而且數據區的前10個字節是在61~7A間進行循環,數據區的其他字節均為09。對于這種幀結構要求,首先對幀的數據區進行編程,使其滿足芯片要求,然后將幀的類型設置成數據幀,并使信號源循環發送這26個幀,這樣便能滿足測試Philips芯片的接收性能時對幀格式的要求。
4、發送恒定幀數的實現
由于在接收指標的測試時,是以8%的誤幀率進行判決的,所以權衡了測試時間和測試精度后,決定讓信號源每次發送1000個幀。當DUT解調出的正確幀大于920時,則認為滿足接收指標。
4.1、產生1000個幀的方法
1)通過GPIB卡來控制儀器射頻的開關時間,從而實現1000個幀的發送;
2)通過儀器自帶的ListMode來發送1000個幀;
3)通過將波形文件生成波形序列,從而讓儀器在觸發下發送1000個幀。
在11Mbit/s下,每幀的發送時間約為1ms,所以若采用第1種方法,精度不是很高,不能嚴格發出1000個幀;第2種方法同樣是控制儀器的發送時間,惟一區別就是在儀器自帶的listmode中設置發送時間,使其精度大大提高,時間精度可以達到μs級。不足的是,采用這種方法時,若導入不同的波形文件,則必須對listmode下的時間進行校準,而且在信道切換和功率變化時,均要重新編輯list,大大增加了測試的工作量;第3種方法則是由儀器在觸發模式下精確控制發幀數目。采用這種方法時,儀器并沒有立刻對傳遞過來的I/Q波形文件進行操作,而是根據用戶所需的發幀數,先將波形文件轉換成1個波形序列,然后再對這個波形序列進行調制,從而嚴格地保證了發幀數。相比第2種方法,第3種方法免去了信道切換和功率變化時編輯list的工作,提高了測試效率,也是現在實驗室中普遍采用的測試方法。
4.2、第3種方法發送1000個幀的實現步驟
在AgilentE4438C上用第3種方法發送1000個幀的實現步驟如下:
1)在Signalstudio中生成Wave文件,通過GPIB卡下載到E4438C中;
2)對Signalstudio傳過來的Wave文件進行編輯,并生成Sequence文件;
3)選取第2步生成的Sequence為波形文件;
4)設置Trigger。完成設置后,每按一下[Triggle],便可以發送1000個幀了。
5、應用實例
實際應用中,在屏蔽室中測得Agere評估板在11Mbit/s下的接收指標,見表3。
表中1、6、11表示所用信道為參考文獻[1]中直接序列擴頻物理層規劃的第1、6、11信道,頻率分別為2412、2437和2462MHz。
由表1可以看出,這些接收指標均已超出前面提到的射頻接收指標的要求,說明實際芯片性能已經滿足IEEE802.11b規范。這種測試方法不僅能精確地測試出各項射頻接收指標,而且也是改進整機接收性能的基礎,具有較強的實用性。
評論
查看更多