210 likes | 423 Views
第五章. 傳輸錯誤:偵測與修正. 5.0 導論. 在傳輸過程中,不良的媒介或環境會造成各式各樣的損失, 這些錯 誤可以被分類成以下三種主要的類別: 延遲失真 衰減 雜訊 本章中,我們將討論在傳輸中可能會發生的錯誤,並且看看它們如 何被捕捉和修正. 5.1 錯誤的分類. 延遲的失真 衰減 雜訊. 5.1.1 延遲的失真. 延遲失真 ( Delay distortion ) 是因為具有變化頻率的訊號,以不同的速度穿越媒介遞送而產生的
E N D
第五章 傳輸錯誤:偵測與修正
5.0 導論 在傳輸過程中,不良的媒介或環境會造成各式各樣的損失,這些錯 誤可以被分類成以下三種主要的類別: • 延遲失真 • 衰減 • 雜訊 本章中,我們將討論在傳輸中可能會發生的錯誤,並且看看它們如 何被捕捉和修正
5.1 錯誤的分類 • 延遲的失真 • 衰減 • 雜訊
5.1.1 延遲的失真 • 延遲失真 (Delay distortion) 是因為具有變化頻率的訊號,以不同的速度穿越媒介遞送而產生的 • 在接收端,對於任何頻寬的不同頻率訊號將會在不同時間抵達。如果訊號在一個特定時間被接收以及測量,它們將不會符合原始的訊號而產生出錯誤的解譯
5.1.2 衰減 • 衰減 (Attenuation) 是訊號穿越任何的媒介遞送時,它的強度減低了,衰減會隨著距離而增加
5.1.3 雜訊 • 電磁波的能量在傳輸過程中被插入的部分被稱為雜訊,除了失真和衰減,雜訊是任何通訊系統效能的主要限制因素
5.2 錯誤的類型 訊號遞送二進位的資料,只有兩種類型的錯誤: • 單個位元的錯誤 • 集體錯誤 (burst errors)
5.3 錯誤的偵測 • 垂直冗位檢查或同位檢查 • 縱向冗位檢查 • 循環冗位檢查 • 錯誤的回復
5.3.1 垂直冗位檢查或同位檢查(1) • 垂直冗位檢查 (Vertical Redundancy Check, VRC),同時也被稱為同位數檢查 (parity check),這種方式有兩種機制:偶同位元和奇同位元 • 同位數檢查只能發現單個位元的錯誤。然而,如果訊息因為錯誤(集體)而造成多個位元改變,同位數檢查就無法正常工作
5.3.1 垂直冗位檢查或同位檢查(1) • 假設需要傳輸一個訊息字串1100011,而它是偶同位元。現在將會發生以下的事件: 1. 發送端會檢視此訊息字串,並且注意到此訊息中1 的個數為4。因此,它會加入一個額外的 0 到這個訊息的尾端 2. 發送端會一起遞送原始的位元1100011,以及額外的同位位元0到接收端 3. 接收端會將同位位元從原始位元中分離出來,它同時也會檢查原始的位元 4. 接收端現在重新計算同位位元,並且將此計算出來的位元,跟接收來自發送端的0作比較;它發現它們是相同的,所以就會認為此位元字串是正確無誤的 (以上的部分都由硬體本身來完成)
5.3.2 縱向冗位檢查 • 縱向冗位檢查:一個區塊的位元在縱向冗位檢查( LRC) 中會被組織成一個列表,接著每個欄位的同位位元會被計算出來
5.3.3 循環冗位檢查(1) • 循環冗位檢查 (Cyclic Redundancy Check, CRC) 是一種用在要被傳送資料區塊上的數學演算法—這是一種小區塊的位元,會被附加到發送端要傳送的資料區塊上,接收端也會重新計算
5.3.4 錯誤的回復 • 檢查完 CRC 符合以及正確以後,接收端會傳送正面確認 ( ACK )給發送端 • 如果發現任何的錯誤,它就會傳送負面確認( NAK)給發送端 • 發送端會等到收到了ACK 或 NAK 之後,才會決定是否要再重送相同區塊或訊框的資料,然後只傳送下一個區塊
停止並等候 (Stop-and-wait) • 發送端會送出一個訊框的資料,並且必須等待來自接收端的確認 (ACK) 之後才能送出下一個訊框 • 發送端收到了一個訊框的確認,它才會傳送下一筆資料
回溯-n (Go-back-n)(1) • 在Go-back-n 的情況下,即使接下來的訊框都已正確無誤地抵達接收端,發送端會由最後一個未被確認的訊框開始重傳
回溯-n (Go-back-n)(2) • 回溯-n (Go-back-n),遺失確認訊號
滑動窗口 (Sliding Window )(1) • 滑動窗口的技術是 Go-back-n 技術的變形 • 底層的傳輸媒介定義了一種想像的窗口,其中包含了一次要傳送的最多 n 個訊框。這種傳輸機制讓一次要傳送的資料,最多只能達到視窗的大小。此視窗定義了確認訊息收到前,可以送出的資料數目
滑動窗口 (Sliding Window )(2) • 選擇性的拒絕,要求的訊框
滑動窗口 (Sliding Window )(3) • 滑動窗口 • 滑動窗口的機制
滑動窗口 (Sliding Window )(4) • 發送端的滑動窗口 • 接收端的滑動窗口