【通信基础知识】完整通信系统的流程图及各模块功能详解

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.mzph.cn/news/711282.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

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目录下写文件

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…

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:卡内基梅隆大学计算机科学系数据库学副教授,数…

《springcloud alibaba》 三 sentinel流量控制

目录 sentinel准备流控规则 qpspom.xmlapllication.yml启动类controller查看结果流控提示不太友好 流控规则 线程数全局异常处理pom.xmlapplication.yml启动类实体类controller类异常类测试 关联流控模式关联jmeter 链路servicecontroller代码调整 流控效果Warm UP 熔断降级规则…

本科毕业设计:计及并网依赖性的分布式能源系统优化研究。(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之前,我们需要先获取到…

DOM 创建节点、添加节点和删除节点

创建元素节点 document.createElement(‘标签名’) 创建文本节点document.createTextNode ( 内容 ) 根据传入的标签名创建出一个空的元素对象创建出来的默认不显示,要成为别人的子元素才能显示,所以要结合appendChild使用 添加节点(后面&am…

【复现】蓝凌OA SQL注入漏洞_61

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一: 四.修复建议: 五. 搜索语法: 六.免责声明 一.概述 蓝凌智能OA是由深圳市蓝凌软件股份有限公司开发,是一款针对中小企业的移动化智能办公产品,融合了钉钉数字…

C习题002:澡堂洗澡【仅供参考】

问题 输入样例 在这里给出一组输入。例如&#xff1a; 2 5 1 3 3 2 3 3 输出样例 在这里给出相应的输出。例如&#xff1a; No代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB 栈限制 8192 KB 代码 #include<stdio.h> int main() {int N,W,s,t,p;int arr_s[…

递归算法题练习(数的计算、带备忘录的递归、计算函数值)

递归的介绍 概念:递归是指函数直接或间接调用自身的过程。 解释递归的两个关键要素: 基本情况(递归终止条件):递归函数中的一个条件&#xff0c;当满足该条件时&#xff0c;递归终止&#xff0c;避免无限递归。可以理解为直接解决极小规模问题的方法。递归表达式(递归调用):递…

网络安全攻防演练:企业蓝队建设指南

第一章 概述 背景 网络实战攻防演习是当前国家、重要机关、企业组织用来检验网络安全防御能力的重要手段之一,是对当下关键信息系统基础设施网络安全保护工作的重要组成部分。网络攻防实战演习通常是以实际运行的信息系统为攻击目标,通过在一定规则限定下的实战攻防对抗,最…

认识通讯协议——TCP/IP、UDP协议的区别,HTTP通讯协议的理解

目录 引出认识通讯协议1、TCP/IP协议&#xff0c;UDP协议的区别2、HTTP通讯协议的讲解 Redis冲冲冲——缓存三兄弟&#xff1a;缓存击穿、穿透、雪崩缓存击穿缓存穿透缓存雪崩 总结 引出 认识通讯协议——TCP/IP、UDP协议的区别&#xff0c;HTTP通讯协议的理解 认识通讯协议 …

第九届数学与人工智能国际会议 (ICMAI 2024)即将召开!

2024年第九届数学与人工智能国际会议将于2024年5月10-12日在中国北京召开。本届会议由北京工业大学主办&#xff0c;旨在促进应用逻辑、算法与复杂性研究&#xff0c;使用数学的方法促进人工智能理论与应用发展&#xff0c;加深学术交流与合作。我们热忱欢迎从事相关技术研究的…

开源WIFI继电器之使用说明

1、设备说明 1.1外观 1.2供电 100~240V交流输入&#xff0c;Lin接火线&#xff0c;Nin接零线。 1.3连接负载 输出信号为继电器无源信号&#xff0c;用于信号的导通和断开控制&#xff0c;最大可通过10A负载电流&#xff0c;COM为继电器公共端&#xff0c;NO为继电器常开端&a…