最近我對為數眾多的年輕工程師感到擔憂,他們在大學裡似乎沒有學過應用概率課程,不知道如何量化估計的確定性。高速串列通訊需要估計某條通訊鏈路的誤碼率(BER),並量化該估計的可信度。我聽到越來越多的年輕工程師這樣說:

「好吧,我很肯定這條通訊鏈路的誤碼率低於1E-12,」或者更糟糕的,「我對給你的BER估計值有99%的把握。」

但他們對聲稱的99%常常又沒有任何依據。這個數字非常吸引人,因為它顯得非常有把握,同時又留了1%的退路以便在事情出現偏差時有合理的藉口。記住,這種行銷式的思路不應該屬於一個合格的工程師!

信賴區間(Confidence interval)

首先來看一下信賴區間的精確數學定義:

20170821TA01P1-1

其中m是一個可變的整數;m是實際觀察到的誤碼數;BER是鏈路的實際誤碼率;20170821TA01P1-2是估計值。

公式1用文字描述就是:「如果BER比設想的糟,那麼估計的信賴度就是本應觀察到更多誤碼的概率。」

二項式分佈

公式2的二項式分佈定義了在已知任一bit出錯概率p的條件下,在一定bit數n中觀察到一定誤碼數m的概率。

20170821TA01P1-3

公式2完全正確,但並不實用,因為n!通常很大,大多數數位計算機或電腦都無法處理。因此我們必須找出機器能夠處理的近似公式。

帕松分佈(Poisson distribution)

在實際的串列通訊中,假設鏈路設計得非常好,公式2中的m和p值一般都很小,但n很大。在這種情況下,我們可以做以下兩次簡化近似:

20170821TA01P1-4

我們知道:

20170821TA01P1-5

將這兩個公式代入公式2就得到著名的帕松分佈。

值得注意的是,公式7中不再有任何大的階乘項,因而用數位電腦進行運算使其成為可能。

20170821TA01P1-6

信賴區間與無誤碼觀察時間

假定我們看到一條處理n bit不出錯的鏈路,利用P(m)運算式,可以對公式1進行評估。直接將公式1進行擴展得到:

20170821TA01P1-7

雖然透過代數技巧可以得到這些無限和的諸多封閉解,但這並非其中的一個。我們很幸運,因為可以利用如下的概率公理:

20170821TA01P1-8

該公式表明,一個事件發生的概率等於1減去其補發生的概率。這樣公式8可以改寫為:

20170821TA01P1-9

由於m的值幾乎總是很小,所以公式10對設計良好的串列通訊鏈路來說通常都是可跟蹤的。在這個特定案例(無誤碼觀察時間)中,m=0,並且:

CI = 1-e-np (11)

表1針對幾個不同的數值np給出信賴區間的計算結果。數值np可以被想像為無誤碼觀察時間,歸一化為20170821TA01P1-11,其中UI是單位間隔。換句話說,如果我們估計鏈路的BER為1E-12,那麼np = 1意味著我們觀察到1E12個bit,np = 5意味著我們觀察到5E12個bit。

20170821TA01P1-10 表1 信賴區間和無誤碼觀察間隔的關係。

從表中的資料可以看出,只有當無誤碼觀察間隔達到5E12個bit,才可以斷言一條鏈路以等於或小於1E-12的BER運行的確定性高於99%。

有誤碼的信賴區間

如果我們加大觀察間隔會發生什麼?如果觀察間隔足夠大,我們會看到很少的誤碼。這對信賴區間有什麼影響呢?在研究這個問題之前,讓我們先看看另一個問題:在表1所示的每一個案例中,我們希望觀察到多少誤碼?

下面的數學公式可以精確地定義隨機實驗的期望輸出結果:

20170821TA01P1-12

其中n是完成的試驗次數,px是任何一次試驗成功的概率。在本文的案例中,「成功」意味著捕捉到一個誤碼。從公式12來看,不管觀察到的誤碼數是多少,我們的期望值就是觀察到的bit數乘以任何一個bit出錯的概率。它同時表明,表1中的數值np就是我們期望觀察到的誤碼數。

接下來讓我們用更多的資料來豐富表1,如表2所示。

20170821TA01P1-13 表2 觀察到的誤碼數不同時,信賴區間與觀察時間的比較。

現在我們給CI一個數字上標,表示觀察到的誤碼數。對每一列CIN,藍色粗體字代表最小觀察時間,它將產生一個大於99%的信賴區間。注意,觀察時間的單位是期望誤碼數。表3列出了期望誤碼數和實際觀察到的誤碼數,以及兩者的比值(觀察值/期望值):

20170821TA01P1-14 表3 不同觀察時間下觀察到的誤碼數與期望誤碼數之比。

趨勢很明顯:如果延長觀察時間並接受更多觀察到的誤碼,允許觀察到的誤碼數會越來越接近期望值,而在BER估計中仍能提供大於99%的信賴度。這與我們的直覺一致,若是能將觀察時間無限延長,我們應該能夠精確地觀察到期望的誤碼數。

精確度

延長觀察時間的另一個好處是能夠提高BER估計的精確度。為了定量地進行討論,我們需要確定一下「精確」的具體含義,因此,我們為BER估計的信賴區間選擇了一個有用的範圍:70~99%。

如果信賴區間涉及的BER估計範圍更小,就需要將特定的觀察定義得更「精確」。我們一般會說:「我們不信任低於70%的信賴區間,也不在意信賴區間比99%高多少,只要夠高就行。」

圖1顯示了在不同的觀察時間下,信賴區間如何隨BER估計變化。觀察時間已經被歸一化,這樣對於每一個觀察到的誤碼數,1E-12 BER估計中的信賴度就非常接近99%。從這張圖可以清楚地看到,隨著觀察時間(和觀察到的誤碼數)的增加,曲線有效區域的傾斜度也隨之增加,圖2對此進行了量化,將BER估計的有用範圍作為觀察時間的函數繪成了曲線。

20170821TA01P1 圖1 不同觀察時間下信賴區間隨BER估計的變化。

20170821TA01P2 圖2 隨著觀察時間的延長,有用的BER範圍將縮小。

隨著觀察時間接近無限,你可以想像這個極限:「CI與BER」曲線變成完美的階梯函數,有用的BER估計範圍趨於0,我們在不確定性為零的條件下得到了一個完全精確的BER估計。

總結

信賴區間讓我們可以量化鏈路BER估計的確定性。對串列通訊鏈路設計師來說這是必不可少的工具,它能說明我們以定量的方式跟其他工程師談論永遠不具有完全確定性的事件,這對於任何一個嚴肅的工程討論都特別重要。「我很肯定」這樣的表達不適合工程師,最好留給行銷人員推廣和辯解使用。

使用文中介紹的信賴區間的數學定義,可以正確地向其他工程師表達估計的確定性。我還用文字說明了信賴區間的含義,理由有二:

˙可以欣賞工程學理論的進步; ˙可以將信賴區間的基本思想應用到串列通訊鏈路設計以外的學科中去。

本文以數學公式和文字對信賴區間進行了基本定義,還說明觀察時間如何影響觀察到的誤碼和期望誤碼之間的關係,以及BER估計的精度。希望這些已經引起你的興趣,激勵你繼續探索工程學的發展。