通信原理(7)—— 信源編碼和差錯控制編碼

信源編碼的功能
  • 壓縮編碼
  • 模數轉換
爲什麼要數字化?
  • 數字通信的優越性;現實的模擬量
A/D轉換(數字化編碼)的技術:波形編碼和參量編碼
  • 波形編碼:抽樣(時間離散化)、量化(幅度離散化)、編碼(二進制)

一、抽樣定理

抽樣:將取值連續,時間連續的模擬信號變換爲取值連續,時間離散的PAM信號。

PAM:脈衝序列的幅度隨着m(t)變化的一種模擬脈衝調製方式。

1. 低通抽樣定理
  • 定理:最高頻率小於fH的模擬信號可由其等間隔的抽樣值唯一確定,抽樣速率應滿足 fs ≥ 2fH(模擬信號最高頻率) 或者 抽樣間隔 Ts ≤ 1 / 2fH ,否則會發生混疊失真
  • 物理含義:如傳輸m(t),只需傳輸按照抽樣定理得到的ms(t),接收端可以根據ms(t)無失真的重建m(t)。
    • 重建原信號:低通濾波器、內插公式
2. 帶通抽樣定理
  • 低通信號和帶同信號的界定:(B = fH - fL爲帶寬, fL爲最低頻率, fH 爲最高頻率)
    • 當 fL < B時,爲低通信號
    • 當 fL > B時,爲帶通信號
  • 帶通抽樣定理:設帶通型模擬信號的頻率限制在(fL,fH )內,且 fL > B,則最小抽樣速率爲 fs = 2B(1 + k/n),其中n爲 fH / B的整數部分,k爲小數部分。

二、模擬脈衝調製(自然抽樣和平頂抽樣)

脈衝幅度調製PAM:脈衝序列的幅度隨着m(t)變化的一種模擬脈衝調製方式。

  • 理想抽樣是使用單位衝激響應作爲採樣脈衝,實際上使用的是窄帶矩形脈衝序列
  • 自然抽樣(曲頂抽樣):樣值脈衝的幅度隨原信號的幅度而變。
    • 直接用低通濾波器進行恢復。
  • 平頂抽樣:每個樣值脈衝的頂部是平坦的。
    • 產生:抽樣,保持。
    • 用修正電路 + 低通濾波器進行恢復。

三、抽樣信號的量化

  • 量化:用有限個量化電平表示無限個抽樣值。
  • 方法:對抽樣信號的幅度進行離散化。

均勻量化:量化間隔相等。設抽樣信號的取值範圍爲[a,b],量化電平數爲M,則量化間隔v = (b - a) / M。

非均勻量化:量化間隔不相等。信號樣值小,量化間隔v小;信號樣值大,量化間隔v大。

  • 實現:先壓縮,再均勻量化,最後再擴張。
  • 壓縮:放大 小樣值,減小 大樣值。一般採用對數壓縮。
    • A律:13折線,中國大陸、歐洲、國際間互連
    • u律:15折線,北美、日本、韓國等少數國家地區

四、脈衝編碼調製(PCM)

量化信號(多電平數字信號)→ PCM信號(二進制編碼信號)

需要考慮:碼型的選擇,碼位的選擇和安排、編譯碼器的設計。

五、差錯控制編碼

1. 概述

通信中的情況:各種干擾(加性、乘性)使傳送中的數據流中產生誤碼。

  • 針對乘性干擾,採用均衡等措施
  • 針對加性干擾
    • 合理選擇調製解調方法,增大發射功率
    • 採用差錯控制,交織等措施

差錯控制編碼:也稱糾錯編碼,屬於信道編碼的範疇。

  • 以降低傳輸的有效性爲代價來換取提高傳輸的可靠性。

目的:糾檢傳輸差錯,降低誤碼率,提高通信質量。

信道類型(根據錯碼的不同分佈規律)

  • 隨機信道:錯碼是隨機獨立出現的
  • 突發信道:錯碼是成串集中出現的
  • 混合信道:既有隨機錯碼又有突發錯碼

差錯控制方式

  • 檢錯重發(自動請求重發ARQ)
  • 前向糾錯
  • 反饋校驗
  • 檢錯刪除
2. 分組碼和系統碼

分組碼:將信息碼每k個分爲一組,按一定規則爲每組信息碼附加r個監督碼的編碼稱爲分組碼。

  • 分組碼的符號:(n,k)。編碼後每組長度爲n = k+r。

系統碼:編碼後的信息碼元保持不變,監督碼元附加在信息碼元的後面。

3. 碼重和碼距
  • 碼重(w):碼組中 1的個數。

  • 碼距(d):又稱漢明距離,指兩個碼組對應位上數字不同的位數稱爲碼組的距離。

  • 最小碼距(d0:某種編碼中各個碼組之間距離的最小值。

    • 若是線性碼,d0等於非全零碼組的最小重量
  • 最小碼距d0和檢錯糾錯能力的關係

    對於線性分組碼(n,k)

    • e個錯,要求滿足 d0 ≥ e + 1
    • t個錯,要求滿足 d0 ≥ 2t + 1
    • 糾t個錯,同時檢e個錯,要求滿足 d0 ≥ e + t + 1 (e > t)

    一種編碼的糾錯和檢錯能力取決於最小碼距。

4. 簡單的實用編碼
奇偶監督碼
  • 編碼規則:加一位監督碼元,將所有碼元模2加得1或者0,在接收端進行計算。

  • 糾檢能力:只能檢測奇數個錯碼,也不具有糾錯能力。

  • 適用於檢測隨機出現的零星差錯。

  • 碼率 r = (n - 1) / n

二維奇偶校驗碼
  • 編碼規則:按行按列實施奇偶檢驗
  • 糾檢能力:檢錯能力較強,有一定的糾錯能力。
恆比碼(等重碼)
  • 編碼規則:每個碼組含有相同數量的1和0,即1的數目和0的數目之比保持恆定。
  • 檢測方法:計算接收碼組中1的個數就可知是否有錯。
  • 適用於電報傳輸系統或者其他鍵盤設備產生的字母和符號。
正反碼(可糾錯)
  • 編碼規則:每個碼組的監督位個數等於信息位數目,監督碼元與信息碼元相同或相反由信息碼中1的個數決定
    • 當信息位有奇數個1時,監督位是信息位的重複;
    • 當信息位有偶數個1時,監督位是信息位的反碼。
  • 譯碼方法:
    • 先將接收碼組的信息位和監督位模2加,得到一個合成碼組。
    • 由此合成碼組產生一個校驗碼組:
      • 若接收碼組的信息位有奇數個1,則校驗碼組就是合成碼組;
      • 若接收碼組的信息位有偶數個1,則校驗碼組就是合成碼組的反碼。
    • 觀察校驗碼組中1的個數,可以判決並糾正可能的錯碼。
5. 線性分組碼
  • 線性碼:按照一組線性方程構成的代數碼,即每個碼字的監督碼元是信息碼元的線性組合。
    • 代數碼:建立在代數學基礎上的編碼。
  • 分組碼:每一碼組的監督碼元僅與本組中的信息碼元有關。
  • 線性分組碼:按照一組線性方程構成的分組碼。
    • 例如,奇偶校驗碼就是一種最簡單的線性分組碼。
漢明碼
  • 定義:對於(n,k)線性分組碼,若希望用 r = n - k 個監督碼元構造出r個監督關係式來指出一位錯碼的n中可能位置, 則 r 必須滿足 2r - 1 ≥ n

    當等號成立時,構造的線性分組碼稱爲漢明碼。——能糾1位錯碼的高效線性分組碼

  • 校驗矩陣H(r行n列),生成矩陣G。

  • 校正子譯碼與錯誤圖樣:

    • 由接收到的碼組B計算:S = B · HT;
    • 由S找出錯誤圖樣E;
    • 由公式A = B + E 得到譯碼器譯出的碼組。
6. 循環碼
  • 循環碼是(n,k)線性分組碼的一個重要子類。

    • 編譯碼設備簡單,檢錯糾錯能力強。
    • RS、BCH碼等高效子類碼,應用廣泛。
  • 循環碼原理

    • 循環性:指任意碼組循環移位(將最右端的一個碼元移至左端,或反之)後仍爲該碼組的一個許用碼組。
    • 循環碼的生成多項式g(x)應當是(xn + 1)一個(n-k)次因子。
  • 循環碼編碼

    • 首先根據給定的(n,k)選定生成多項式g(x)
    • 將m(x)和g(x)相乘就可生成循環碼的全部碼字。
  • 循環碼譯碼

    • 檢錯:對接收碼組B(x)/g(x),若能除盡,則無錯;若除不盡有餘項,則表示有錯誤。

    • 糾錯:由B(x)/g(x)得出的餘式即爲循環碼的校正子多項式S(x);

      ​ 由S(x)得到錯誤圖樣E(x),確定錯碼位置;

      ​ 從B(x)中減去E(x),糾錯完成。

BCH碼——一種獲得廣泛應用的能夠糾正多個錯碼的循環碼
  • 重要性
    • 解決了生成多項式與糾錯能力的關係問題,可以給定糾錯能力的要求下尋找到碼的生成多項式
    • 有了生成多項式,編碼的問題就得到解決了。
  • BCH碼分類
    • 本原BCH碼:生成多項式中含有最高次數爲m的本原多項式,且碼長爲n = 2m - 1 (m ≥ 3,爲正整數)
    • 非本原BCH碼:生成多項式中不含這種本原多項式,且碼長n是 2m - 1 的一個因子,即碼長n一定可以除盡 2m - 1。
  • BCH碼的性能
  • 對於正整數m (m ≥ 3)和正整數t< m/2 必定存在一個碼長爲n = 2m - 1,監督位n - k ≤ mt,能糾錯所有不多於t 個隨機錯誤的BCH碼。
  • 漢明碼是能糾正單個錯誤的碼。可以證明,具有循環性的漢明碼就是能糾正單個錯誤的本原BCH碼。
  • BCH碼的設計:在工程設計中,一般不需要用計算方法去尋找生成多項式g(x)。因爲前人已將尋找到的g(x)列成表,故可以用查表法找到所需的生成多項式。
RS碼——一類具有很強糾錯能力的多進制BCH碼
  • 在(n,k) RS碼中,輸入信號分成k.q比特一組(每組包括k個多進制符號,每個符號由q比特,即q位二進制碼元組成)。
  • 適用於存在突發錯誤的信道,例如通信網絡等衰落信道中。此外,適用於多進制調製的場合。
7. 卷積碼——一種非分組碼
  • 特點:小分組(k和n都小)、延時小、多碼段相關
  • 適用:串行傳輸、突發差錯、前向糾錯的場合
  • 非分組碼:監督碼元不僅和當前的k比特信息段有關,還同前面(N-1)個信息段也有約束關係。即一個碼組中的監督碼元監督着N個信息段。
  • 卷積碼的符號:(n,k,N)
    • N 編碼約束度,表示編碼過程中互相約束的碼段個數;
    • nN 編碼約束長度,表示編碼過程中互相約束的碼元個數;
    • N 、nN 反映了卷積碼編碼器的複雜度。
  • 卷積碼的碼率:r = k / n
  • 卷積碼的表述方法
    • 解析/代數表示
    • 圖解表示:碼樹圖/網格圖/狀態圖
  • 卷積碼的譯碼
    • 代數譯碼:利用編碼本身的代數結構進行譯碼,不考慮信道統計特性。
      • 大數邏輯譯碼(門限譯碼),適用於nN較短的卷積碼
    • 概率譯碼(最大似然譯碼):基於信道的統計特性和卷積碼的特點進行計算。
      • 序貫譯碼:適用於無記憶信道
      • 維特比算法:當碼的nN較短時,效率更高,速度更快
8. Turbo碼——一種特殊的鏈接碼(屬於複合碼類)
  • 由於分組碼和卷積碼的複雜度隨碼長或約束度的增大按指數增長,爲了提高糾錯能力,不要單純的增加碼長,將兩種或多種簡單的編碼組合成複合編碼
  • Turbo碼的編碼器在兩個並聯或串聯的分量碼編碼器之間增加一個交織器,使之具有很大的碼長,能在低信噪比下得到接近理想的性能。
  • Turbo碼的譯碼器由兩個分量碼譯碼器,譯碼在兩個分量譯碼器之間進行迭代譯碼,故整個譯碼過程類似渦輪(turbo)工作,所以又稱Turbo碼。
  • 交織的目的是將突發錯碼分散開,變成隨機錯碼。
9. 低密度奇偶檢驗碼(LDPC碼)

碼組很長時才具有優良性能,廣泛的應用於移動通信、無線局域網和光纖通信領域。

  • LDPC碼是一種線性分組碼,與Turbo碼都屬於複合碼類,兩者的性能相近,且兩者的譯碼延遲都相當長,因此更適用於一些實時性要求不很好的通信。但是LDPC碼比Turbo碼譯碼簡單,更易實現。
  • 分類
    • 規則LDPC碼:H矩陣中每列具有相同個數的1;
    • 不規則LDPC碼:H矩陣中每列中1的個數不一定相同。(譯碼性能高於Turbo碼)
  • 編碼:構造一個低密度的H矩陣,矩陣中1的個數很少,並且矩陣中任意連着的兩行兩列不能都取1,避免短環。編碼時由H矩陣導出生成矩陣G,算出碼組。
  • 譯碼:置信傳播算法(BP)。求最大後驗概率,需要多次迭代運算,逐步逼近最優的譯碼值。
10. 網格編碼調製(Trellis Coded Modulation,TCM)
  • 將糾錯編碼和調製相結合
  • 同時節省功率和帶寬
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章