硬判決譯碼和軟判決譯碼
錯誤校正中的一項具有挑戰性的任務是解碼透過噪聲通道接收到的碼字。在資料傳輸之前,傳送方會向訊息新增冗餘位或奇偶校驗位,形成碼字。然後透過計算機網路傳輸碼字。接收方檢查傳入的碼字並執行解碼或糾錯過程以檢索原始資料。
如果沒有錯誤,即碼字找到完全匹配,那麼透過消除奇偶校驗位很容易解碼資料。但是,如果找不到匹配項,則會採用更復雜的解碼機制。
解碼技術的兩種類別為:
硬判決譯碼
硬判決譯碼從接收機的閾值階段獲取位元流或位元塊,並透過將其視為絕對為 1 或 0 來解碼每個位元。它對接收到的脈衝進行取樣,並將它們的電壓與閾值進行比較。如果電壓大於閾值,則將其解碼為 1,否則解碼為 0。解碼過程與電壓與閾值的接近程度無關。
軟判決譯碼
軟判決譯碼是一類演算法,它獲取位元流或位元塊,並透過考慮其可能取的一系列值來解碼它們。它考慮每個接收到的脈衝的可靠性,以形成對輸入資料的更好估計。
軟判決解碼器通常用於維特比解碼器,後者用於解碼卷積碼。
示例
讓我們假設源編碼器傳送的有效碼字集為:
- 001
- 010
- 101
- 111
假設位元“0”編碼為 0.2V,“1”位元編碼為 4.2V。如果傳送方想要傳送碼字 001,它會發送電壓為 0.2V、0.2V、4.2V 的脈衝。
假設此訊息在傳輸過程中衰減,並且在目的地接收到的電壓為 0.4V、2.6V、4.2V。
以下兩種情況顯示了硬判決方法和軟判決方法的解碼。
硬判決譯碼
讓我們假設硬判決解碼器選擇的閾值電壓為 2.2V。任何高於 2.2V 的接收電壓都被視為 1 位元,任何低於 2.2V 的接收電壓都被視為 0 位元。
因此,硬判決解碼器將傳入的電壓 0.4V、2.6V、4.2V 視為 011。
由於 011 不是有效碼字,因此硬判決解碼器將此資料與有效碼字集的漢明距離進行比較,並找到最小漢明距離。
在這種情況下,有 3 個碼字的最小漢明距離為 1。解碼器隨機選擇其中任何一個,機率為 1/3。
因此可以看出,硬判決譯碼存在模糊性的可能性。
軟判決譯碼
存在各種軟判決解碼演算法。讓我們考慮在這種情況下,軟判決解碼器計算接收到的電壓與接收到的碼字的電壓之間的歐幾里得距離。然後找到最小歐幾里得距離並選擇相應的碼字。
可以看出,最小歐幾里得距離對應於碼字 001,該碼字實際上是由源傳送的。
因此,軟判決解碼技術比硬判決解碼具有更好的糾錯能力。