【通信基礎知識】完整通信系統的流程圖及各模塊功能詳解

2024.2.29 抱歉最近在寫畢設大論文,因此沒有太多時間更新。然而,在寫論文的過程中,發現自己對通信系統的了解還不夠全明白,因此差了一些碩博論文總結了一個完整的通信系統流程圖。若有不對的地方請多多指正//部分內容有參考ChatGPT 4.0。

【通信基礎知識補充1】完整通信系統的流程圖及各模塊功能詳解

    • 一、通信系統流程圖
      • 1.1 一般系統
      • 1.2 OTFS系統模型
    • 二、如何理解信源編碼與信道編碼?
      • 2.1 信源編碼(Source Coding)
        • 代表性的信源編碼方式
      • 2.2 信道編碼(Channel Coding)
        • 代表性的信道編碼方式
      • 2.3 總結
    • 三、為什么交織后需要加擾?
      • 3.1 交織的目的
      • 3.2 加擾的目的
      • 3.3 為什么交織后需要加擾
    • 四、如何交織?
      • 4.1 塊交織(Block Interleaving)
      • 4.2 卷積交織(Convolutional Interleaving)
      • 4.3 隨機交織(Random Interleaving)
      • 4.4 交織的實現示例
    • 五、ADC和DAC的作用是什么?為什么需要加這些變換
      • 5.1 ADC的作用和必要性:
      • 5.2 DAC的作用和必要性:
    • 六、關于同步
      • 6.1 定時同步(Timing Synchronization)
        • 實現定時同步的方法包括:
      • 6.2 載波同步(Carrier Synchronization)
        • 實現載波同步的方法包括:
      • 6.3 同步的位置
      • 6.4 總結

一、通信系統流程圖

1.1 一般系統

在這里插入圖片描述

1.2 OTFS系統模型

在這里插入圖片描述(上圖參考:Z. Q. Zhang, H. Liu, Q. L. Wang, et al.,“A survey on low complexity detectors for OTFS systems,”ZTE Commu?nications, vol. 19, no. 4, pp. 03–15, Dec. 2021. doi: 10.12142/ZTECOM.202104002.)

二、如何理解信源編碼與信道編碼?

信源編碼和信道編碼是數字通信系統中的兩個基本概念,它們服務于不同的目的并使用不同的技術。

2.1 信源編碼(Source Coding)

信源編碼的目的是減少待傳輸數據的冗余度,以便更有效地利用通信信道。通過信源編碼,可以在不丟失信息的前提下,減少表示信息所需的比特數,從而提高數據傳輸的效率。

代表性的信源編碼方式
  1. 霍夫曼編碼(Huffman Coding):一種變長編碼方法,根據信源符號出現的概率來分配不同長度的編碼。出現概率高的符號分配較短的編碼,概率低的分配較長的編碼。這種方法可以最小化編碼長度的期望值。
  2. 游程編碼(Run-Length Encoding, RLE):對連續重復的數據進行壓縮的簡單方法。例如,字符串"AAAABBBCCDAA"可以被編碼為"4A3B2C1D2A",有效減少數據量。
  3. Lempel-Ziv-Welch (LZW) 編碼:一種無損數據壓縮算法,廣泛用于文件壓縮。LZW通過建立一個字符串到編碼的字典來壓縮數據,有效處理各種類型的數據。

2.2 信道編碼(Channel Coding)

信道編碼的目的是增加額外的冗余度來保護信息免受傳輸過程中的錯誤影響。通過在數據中加入校驗位,即使在信號傳輸過程中出現錯誤,接收端也能檢測并在一定程度上糾正這些錯誤,從而提高通信的font color=red>可靠性。

代表性的信道編碼方式
  1. 奇偶校驗位:最簡單的錯誤檢測編碼,通過添加一個額外的位來使得整個數據單元(包括校驗位)的位數為奇數或偶數,從而進行錯誤檢測。
  2. 循環冗余校驗(Cyclic Redundancy Check, CRC):一種根據數據生成固定長度校驗碼的方法,廣泛用于檢測數據傳輸或存儲中的錯誤。
  3. 卷積編碼:一種流式的信道編碼技術,通過卷積運算為數據流添加冗余位。它能夠連續處理數據位,適用于實時或高速通信。
  4. 低密度奇偶校驗(LDPC)碼和Turbo 碼(Turbo Codes):這兩種是高效的糾錯編碼,能夠接近香農極限。它們通過復雜的編解碼算法實現高度的錯誤糾正能力,廣泛應用于衛星通信、深空通信和無線通信等領域。
  5. Polar碼(Polar Codes):Polar碼是一種前沿的信道編碼方法,由Erdal Ar?kan教授于2009年提出。它是第一個被證明能夠在一些信道上達到香農極限的編碼,尤其是在二元對稱信道(Binary Symmetric Channel, BSC)和加性高斯白噪聲信道(Additive White Gaussian Noise, AWGN)上。Polar碼的核心思想是通過特定的變換將一組獨立同分布(i.i.d.)的信道轉換成一組極化信道,其中一些信道的容量接近1(可靠信道),而另一些信道的容量接近0(不可靠信道)。通過這種極化效應,Polar碼可以選擇在可靠信道上發送信息比特,在不可靠信道上發送固定的冗余比特或者不使用這些信道。這種策略使得Polar碼能夠高效地利用信道資源,達到接近信道容量的通信效率。因此,Polar碼在理論和實踐中都引起了極大的興趣,被認為是下一代無線通信標準(如5G)中的關鍵技術之一。

2.3 總結

信源編碼和信道編碼在通信系統中扮演著互補的角色。信源編碼通過減少數據的冗余度來提高傳輸效率,而信道編碼通過增加冗余度來提高傳輸的可靠性。選擇合適的編碼方法可以顯著提高通信系統的性能,包括傳輸效率和錯誤恢復能力。

三、為什么交織后需要加擾?

在數字通信系統中,交織(Interleaving)和加擾(Scrambling)都是重要的處理步驟,但它們服務于不同的目的:

3.1 交織的目的

交織是一種用于改善信道引起的錯誤特性的技術。它通過重新排列發送的符號序列(比如比特或符號),使得原本連續的錯誤在經過交織后在時間序列上被分散。這樣,即使信道產生了一串連續的錯誤,這些錯誤在經過解交織后也會被分散開來,減少了因連續錯誤而導致的數據包完全丟失的風險。交織能夠提高糾錯編碼(如前向糾錯編碼)的效率,因為這些編碼更擅長處理隨機分布的錯誤而不是連續的錯誤。

3.2 加擾的目的

加擾的主要目的是為了隨機化傳輸的數據,確保數據流具有良好的統計特性,如避免長序列的重復模式和保持頻譜的均勻分布。這在多種情況下是必要的:

  1. 避免信號干擾:在某些信道中,特定模式的重復可能導致信道的非線性特性引起干擾,加擾可以減少這種干擾。
  2. 確保加密安全:加擾可以作為一種簡單的加密手段,使得截獲的數據不易被未授權的接收者理解。
  3. 頻譜效率:通過隨機化數據,加擾有助于保持傳輸信號的頻譜分布均勻,避免因為數據模式重復而導致的頻譜集中,這對于頻譜利用和避免信道干擾十分重要。

3.3 為什么交織后需要加擾

盡管交織可以有效地分散連續錯誤,但它并不改變數據本身的統計特性。交織后的數據仍可能包含重復模式或不利于信道傳輸的特性。因此,在交織之后進行加擾,可以進一步優化數據的傳輸效果,提高通信系統的整體性能和效率。加擾確保數據在傳輸過程中的隨機性,有利于提高信號的抗干擾能力和保障數據的安全性。

四、如何交織?

交織是通過重新排列數據序列中的元素來實現的,以此來分散信道中可能出現的連續錯誤。存在多種交織技術,每種技術都有其特定的應用場景和優勢。以下是幾種常見的交織方法:

4.1 塊交織(Block Interleaving)

塊交織是最簡單的交織形式之一。在這種方法中,數據被分成等大小的塊,然后按照某種模式重新排列。具體來說,可以將數據寫入一個二維矩陣(行和列),然后按列(或某種不同的順序)讀出,以實現交織。

4.2 卷積交織(Convolutional Interleaving)

卷積交織是一種更為復雜的交織技術,它使用多個先進先出(FIFO)緩存,每個緩存的延遲長度不同。數據序列被分成多個分支,每個分支通過一個不同的延遲緩存。這種方法可以更有效地分散連續的錯誤。

4.3 隨機交織(Random Interleaving)

隨機交織通過隨機排列數據序列中的元素來實現交織。這種方法可以提供很好的錯誤分散效果,但可能需要較大的計算資源來生成隨機序列,并在接收端恢復原始數據順序。

4.4 交織的實現示例

以塊交織為例,假設有一個數據序列,我們想要通過塊交織進行重新排列。我們可以將數據填充到一個具有R行和C列的矩陣中,然后按列而不是按行來讀取數據,以實現交織。這里給出一個簡化的實現示例:

假設有一個數據塊:

1 2 3 4 5 6 7 8 9 10 11 12

我們可以將其排列成一個3x4的矩陣:

1  2  3  4
5  6  7  8
9 10 11 12

按列讀取,得到交織后的序列:

1 5 9 2 6 10 3 7 11 4 8 12

這種方法可以有效地將連續的數據分散開來,減少連續錯誤的影響。在實際應用中,選擇哪種交織方法取決于特定的應用需求和系統設計。

五、ADC和DAC的作用是什么?為什么需要加這些變換

ADC(Analog-to-Digital Converter,模數轉換器)和DAC(Digital-to-Analog Converter,數模轉換器)是信號處理中的基本組件,它們在數字信號處理(DSP)系統中扮演著至關重要的角色。這兩種轉換器連接模擬世界和數字世界,使得模擬信號可以通過數字方法進行處理,以及將處理后的數字信號轉換回模擬信號。下面詳細解釋它們的作用及其必要性:

5.1 ADC的作用和必要性:

  1. 作用:ADC將連續的模擬信號轉換成離散的數字信號。這個過程涉及采樣(確定信號在特定時刻的值)、量化(將采樣值映射到有限的數值級別)、編碼(將量化的數值轉換為二進制表示)三個步驟。

  2. 必要性

    • 數字信號處理:數字信號相對于模擬信號更容易處理,可以使用算法進行過濾、增強、壓縮等處理,而這在模擬域中要復雜得多。
    • 噪聲抗擾性:數字信號對噪聲和干擾的抵抗能力更強,有助于保持信號質量。
    • 存儲和傳輸:數字信號更易于存儲和傳輸,尤其是在現代通信系統中,數字數據可以通過網絡高效傳輸。

5.2 DAC的作用和必要性:

  1. 作用:DAC執行相反的過程,將數字信號轉換回模擬信號。這包括解碼(將二進制數轉換為對應的模擬級別)和重構(生成連續的模擬信號)。

  2. 必要性

    • 與模擬世界的接口:很多設備和傳感器工作在模擬域,如揚聲器、顯示器和各類傳感器,因此需要將處理后的數字信號轉換回模擬信號,以便于這些設備使用。
    • 信號還原:在某些應用中,如音頻和視頻播放,數字信號需要轉換為模擬信號,以便人們可以通過揚聲器和顯示器等設備感知。

總的來說,ADC和DAC是信號處理系統中連接模擬和數字世界的橋梁。它們使得信號可以在數字領域中被高效、準確地處理,同時保證了與現實世界中模擬設備的兼容性和互操作性。

六、關于同步

在數字通信系統中,定時同步(Timing Synchronization)和載波同步(Carrier Synchronization)是確保信號正確接收和解碼的兩個基本而重要的步驟。它們分別解決了不同的同步問題,通常需要在接收信號的早期階段完成。

6.1 定時同步(Timing Synchronization)

定時同步,也稱為符號同步,是確保接收機正確采樣接收信號的過程。在數字通信中,發送的信息是以一系列離散的符號形式傳輸的,每個符號代表了一定數量的比特。定時同步的目的是確保接收機在正確的時間點采樣這些符號,從而最小化符號之間的干擾(例如碼間串擾)和誤差。

實現定時同步的方法包括:
  • 使用同步序列:發送特定的序列(如導頻信號),使接收機能夠通過這些已知序列調整其采樣時鐘。
  • 自適應算法:如早晚門算法(Early-Late Gate algorithm),通過持續調整采樣時刻來最大化接收信號的信噪比。

6.2 載波同步(Carrier Synchronization)

載波同步是確保接收機的本地振蕩器與接收信號的載波頻率和相位對齊的過程。在調制過程中,基帶信號被上轉換(或調制)到一個高頻的載波上以進行傳輸。在接收端,為了正確解調信號,接收機需要準確地恢復出這個載波的頻率和相位。

實現載波同步的方法包括:
  • 相位鎖定環(Phase-Locked Loop, PLL):通過比較接收信號的相位與本地振蕩器產生的相位,并調整本地振蕩器,直到兩者相位一致。
  • 代數算法:如代數成本函數最小化,通過處理接收到的信號以估計并補償頻率和相位偏差。

6.3 同步的位置

  • 定時同步載波同步通常需要在信號的接收和解調過程的早期階段完成。具體來說,它們通常位于下列步驟之后:
    • 信號的初步放大和濾波。
    • 下變頻(如果信號是在射頻傳輸的)。
  • 在這些步驟之后,進行定時和載波同步是必要的,因為只有正確同步后,接收機才能準確地解調和進一步處理信號。
  • 載波同步通常在定時同步之前或同時進行,因為載波的頻率和相位對于確定采樣時刻是關鍵的。

6.4 總結

定時同步和載波同步是數字通信系統中不可或缺的組成部分,它們確保了信號可以被正確接收和解碼。這兩個同步過程解決了不同的問題,但都是為了達到同一目標:最大化接收信號的質量并準確恢復出發送的信息。它們通常在接收鏈路的前端完成,是信號解碼和進一步處理之前的關鍵步驟。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/711282.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/711282.shtml
英文地址,請注明出處:http://en.pswp.cn/news/711282.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Elasticsearch管理】網絡配置

文章目錄 HTTP高級網絡設置高級TCP設置 TransportTCP傳輸概要文件Transport跟蹤 線程池fixed線程池fixed_auto_queue_sizescaling處理器設置 HTTP Elasticsearch只在默認情況下綁定到本地主機。對于運行本地開發服務器(如果在同一臺機器上啟動多個節點,甚至可以運行…

YOLOv7基礎 | 第2種方式:簡化網絡結構之yolov7.yaml(由104層簡化為30層)

前言:Hello大家好,我是小哥談。通過下載YOLOv7源碼可知,原始的yolov7.yaml文件是拆開寫的,比較混亂,也不好理解,并且為后續改進增添了很多困難。基于此種情況,筆者就給大家介紹一種將yolov7.yaml文件簡化的方法,將104層簡化為30層,并且參數量和計算量和原來是一致的,…

內存占用構造方法

#使用虛擬內存構造內存消耗 mkdir /tmp/memory mount -t tmpfs -o size5G tmpfs /tmp/memory dd if/dev/zero of/tmp/memory/block #釋放消耗的虛擬內存 rm -rf /tmp/memory/block umount /tmp/memory rmdir /tmp/memory #內存占用可直接在/dev/shm目錄下寫文件

《極客時間 - 左耳聽風》【文章筆記個人思考】

《極客時間 - 左耳聽風》原文鏈接:https://time.geekbang.org/column/intro/100002201?tabcatalog 10 | 如何成為一個大家愿意追隨的Leader? 10 | 如何成為一個大家愿意追隨的Leader? 這里的Leader是在技術上取得優勢,而不是行政…

2024年2月個人工作生活總結

本文為 2024年2月工作生活總結。 研發編碼 一些警告修正記錄 這個月修正了個人所負責的工程警告,這些警告其實是前人的代碼遺留的,我續寫的代碼,除printf函數的%d、%ld格式,都在寫的過程中改了。 下面記錄一些典型的警告及應對…

NLP(一)——概述

參考書: 《speech and language processing》《統計自然語言處理》 宗成慶 語言是思維的載體,自然語言處理相比其他信號較為特別 word2vec用到c語言 Question 預訓練語言模型和其他模型的區別? 預訓練模型是指在大規模數據上進行預訓練的模型,通常…

測試環境搭建整套大數據系統(七:集群搭建kafka(2.13)+flink(1.13.6)+dinky(0.6)+iceberg)

一:搭建kafka。 1. 三臺機器執行以下命令。 cd /opt wget wget https://dlcdn.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz tar zxvf kafka_2.13-3.6.1.tgz cd kafka_2.13-3.6.1/config vim server.properties修改以下倆內容 1.三臺機器分別給予各自的broker_id…

git操作學習記錄,簡單易上手

配置git 的賬戶郵箱 $ git config --global user.name "Firstname Lastname" $ git config --global user.email "your_emailexample.com"代碼回溯 git rest --hard [commit哈希值]git log命令只能查看以當前狀態為終點的歷史日志 git reflog命令&#x…

Python+neo4j構建豆瓣電影知識圖譜

文章目錄 數據來源數據整理導入節點和關系導入使用Subgraph批量導入節點和關系 多標簽實體和實體去重 數據來源 http://www.openkg.cn/dataset/douban-movie-kg 該網址擁有豐富的中文知識圖譜數據集,OpenKG(Open Knowledge Graph),可供研究人員使用研究…

【golang】25、圖片操作

用 “github.com/fogleman/gg” 可以畫線, 框 用 “github.com/disintegration/imaging” 可以變換顏色 一、渲染 1.1 框和字 import "github.com/fogleman/gg"func DrawRectangles(inPath string, cRects []ColorTextRect, fnImgNameChange FnImgNameChange) (st…

Python爬蟲——Urllib庫-3

目錄 ajax的get請求 獲取豆瓣電影第一頁的數據并保存到本地 獲取豆瓣電影前十頁的數據 ajax的post請求 總結 ajax的get請求 獲取豆瓣電影第一頁的數據并保存到本地 首先可以在瀏覽器找到發送數據的接口 那么我們的url就可以在header中找到了 再加上UA這個header 進行請…

Facebook的元宇宙實踐:數字化社交的新前景

近年來,元宇宙(Metaverse)這一概念備受矚目,被認為是數字化社交的未來趨勢之一。而在眾多科技巨頭中,Facebook(現更名為Meta)一直處于元宇宙發展的前沿。在本文中,我們將深入探討Fac…

萬字帶你走過數據庫的這激蕩的三年

本文收集了卡內基梅隆大學計算機科學系數據庫學副教授 Andy Pavlo 從 2021 到 2023 連續三年對數據庫領域的回顧,希望通過連續三年的回顧讓你對數據庫領域的技術發展有所了解。 關于 Andy Pavlo:卡內基梅隆大學計算機科學系數據庫學副教授,數…

vuepress項目側邊欄菜單配置使用

第一種菜單配置,自定義菜單名稱 {text: 菜單名稱,// 是否折疊collapsible: true,children: [{text: "自定義md菜單名稱",sidebarDepth: 2,link: "/xxx/aa.md",children: [],}],},第二種菜單配置 標題自動生成菜單,使用需要搭配sideb…

c語言求矩陣的局部極大值

給定M行N列的整數矩陣A,如果A的非邊界元素A[i][j]大于相鄰的上下左右4個元素,那么就稱元素A[i][j]是矩陣的局部極大值。本題要求給定矩陣的全部局部極大值及其所在的位置。 輸入格式: 輸入在第一行中給出矩陣A的行數M和列數N(3≤…

C語言創建結構體時 什么時候需要C++引用 什么情況下下不需要引用

在C語言中,結構體通常通過傳遞指針來實現對結構體的修改。當在函數中需要修改結構體的內容,并且希望這些修改在調用函數后仍然保持,可以考慮使用指針。引用是C中的一種特殊機制,用于更方便地傳遞參數,但在純粹的C語言中…

《springcloud alibaba》 三 sentinel流量控制

目錄 sentinel準備流控規則 qpspom.xmlapllication.yml啟動類controller查看結果流控提示不太友好 流控規則 線程數全局異常處理pom.xmlapplication.yml啟動類實體類controller類異常類測試 關聯流控模式關聯jmeter 鏈路servicecontroller代碼調整 流控效果Warm UP 熔斷降級規則…

[Flutter]用16進制顏色字符串初始化Color

使用: // 使用Color的靜態方法 fromARGB() 來創建顏色對象。透明度為 255(完全不透明) Color a Color.fromARGB(255, 42, 35, 72); // 使用八位的十六進制數來表示顏色,其中前兩位表示透明度,后六位表示紅色、綠色和…

本科畢業設計:計及并網依賴性的分布式能源系統優化研究。(C語言實現)(內包含NSGA II優化算法)(二)

目錄 前言 1、sofc函數 2、光伏板函數 3、集熱場函數 4、sofc電跟隨策略函數 5、二分法找sofc運行點函數 6、目標函數:成本 7、目標函數:二氧化碳排放量 8、目標函數:并網依賴性 前言 本篇文章介紹的是我的畢業設計,我將C…

JavaScript DOM操作筆記記錄回憶總結

一、什么是DOM? 1、通過 HTML DOM,可訪問 JavaScript HTML 文檔的所有元素。 2、當網頁被加載時,瀏覽器會創建頁面的文檔對象模型(Document Object Model) 二、操作DOM 1、在操作DOM之前,我們需要先獲取到…