天天看點

【大話GSM】BER測量相關

BER測量相關

BER測量過程

BER的測試模型如下:

【大話GSM】BER測量相關

1) 當MS收到NW發來的資料包時, 不管該包資料是正确還是錯誤,它直接将資料A1取出來(假設此時為A1’),然後重新計算一個CRC值,假設為CRC1’,組成完整的包發送給NW;

2) 當NW收到環回上來的資料包後,也會重新計算CRC假設為CRC2然後判斷,如果此時CRC2 == CRC1’,則NW認為在上行這個過程中資料傳輸沒有錯誤,認為A2 == A1’;如果此時CRC2 != CRC1’,則NW認為在上行這個過程中資料傳輸有錯誤,它會直接将該包資料丢棄。

       注意:BER的計算是在HL,在上圖中是NW收到MS環回過來的資料後判斷的。這裡有一個認識需要理清:假設NW的HL需要統計10000bit中的誤碼率(假設100個PDU),則NW作為發送機,有可能發了大于10000bit的資料(大于100個PDU),因為在NW接收環回資料的時候,MAC判斷有CRC錯誤時會丢棄一部分PDU,是以當HL湊夠10000bit時,發送機發送的總bit會大于等于10000bit。

        NW發送過的PDU資料均由儲存,HL在收到上報上來的PDU後,就可以逐bit對比和發送的PDU中的bit,統計出錯的bit數。

        參考上圖,在上下行兩路的傳輸過程中,可能的傳輸組合(按下-上的方式,正-錯辨別下行正确,上行錯誤)為“正-正”、“正-錯”、“錯-正”、“錯-錯”,而NW接收環回的時候将上行CRC錯的資料包都丢棄了,相當于将“正-錯”、“錯-錯”情況下的所有資料包均丢棄,隻統計“正-正”、“錯-正”的情況。這是合理的,因為我需要的隻是計算下行鍊路的錯誤,必須将上行鍊路出錯的可能排除在外。之前不太了解的地方就是在計算的時候,因為BER = 錯誤的bit數/總的bit數,之前考慮的是丢棄一部分資料包,總的bit數沒變,錯誤的bit數不是變少了。其實不是這樣。

        此時,總的bit數 = “正-正”、“錯-正”情況下的總bit數,錯誤的bit數 = “正-正”、“錯-正”情況下的錯誤bit數,這樣計算出來的不就是下行鍊路出錯的機率嘛。

總結:

1. 剛開始了解上出現偏差,總以為是NW發送了多少資料,然後環回回來計算BER的時候分母就要是多少資料。這樣了解是有誤區的,其實通過将“正-正”、“正-錯”、“錯-正”、“錯-錯”這幾種情況畫出來,丢棄“正-錯”、“錯-錯”隻統計“正-正”、“錯-正”是很合理且很容易了解的。多畫圖。

2. W和TD的代碼中RLC、MAC層的處理分的很清楚(每個層都是一個單獨的處理檔案)。GPRS的協定棧和W的已經很接近了,但是在代碼層次上是混亂的,沒有明确的層的劃分。這也是代碼的缺陷吧。

3. 昨天晚上看的《數學之美》上在講解布爾代數的地方,就引入了0-1邏輯操作,感覺當時想到用“正-正”、“正-錯”、“錯-正”、“錯-錯”的方法就是看了那部分的内容,結合了解起來容易多了。