通信系统编码流程_第1页
通信系统编码流程_第2页
通信系统编码流程_第3页
通信系统编码流程_第4页
通信系统编码流程_第5页
已阅读5页,还剩2页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

通信系统编码解码流程

在通信系统中,信息在传播之前需要进行编码,通过信道传播后,在接收端再进

行解码,如图1所示。

输入:如声音

输出,如声音

图1:编解码流程

由于无线通信系统中,频谱资源越来越稀缺,所以必须保证整个通信系统高效、

稳定的进行交互。

首先看下源编码,这个过程是将原始数据转换成二进制序列的过程,如图2:

输入,波(采样[O(置化]O{离散整码]•二进制序列

图2:原始数据编解码流程

信源编码的另一种定义是将信源数据转换成能够最小化传输数据所需的带宽的

形式。简单地说,就是“数据压缩”0

那信道编码呢?

信道编码是一种将“原始数据位”替换为“一些其他位(通常比原始位长)”的

方法。例如,最简单的编码如下:

0—>0000:将原始数据中的所有“1”替换为“0000'

1->1111:将原始数据中的所有“1”替换为“1111'

编码的另一个例子是在通信中添加奇偶校验位,原始七位数据一>原始七位数据+

一个奇偶校验位。

在通信系统中,通常把“原始数据”称为“消息(message)”,把编码后的数

据称为“码字(Codeword〕”。在所有的编码过程中,“码字”的长度大于“消

息”的长度,这意味着在编码过程中,在原始数据(消息)中增加了一些额外的

位,这些额外的位被称为“冗余位”。

这不是降低了效率吗?为什么需要编码呢?

答案是在“信道”上有“噪声”。接收端不能准确的接收到正确的原始数据。

为了解决这个问题,可以考虑两种可能的选择。

•使信道无噪音。(以无噪音的方式建造信道)

•使用某种方法检测并纠正错误

第一种选择几乎是不可能的,尤其是在无线通信中。如果是有线通信,至少你可

以尝试降低信道中的噪声,但在无线通信中,几乎不可能直接从信道中去除噪声。

这意味着唯一的选择是开发一些方法(算法)来检测和纠正由噪声信道引起的错

误。这足“编码”的主要动机。

iuBitsu।M司。

BER

rinnrOTLui

Bits

图3:计算噪声产生的误码

编码的主要思想是以一种非常特殊的方式(不是以随机/任意的方式)向原始数

据中添加一叱额外的位(称之为冗余位),以便它们可以用来检测错误的确切位

置并进行纠正。

通常编码/解码块的位置如图4所示。编码接收比特流并产生编码比特流。

Bits

nr~U~lEnc3dorOP-iJl

ru5^)de1rLn-Ln

Bits

图4:编解码过程产生的误码

那编码/解码的增益是多少?是不是可以使接收到的数据很少或几乎没有错误?

以下是编码/解码过程引起的主要问题。

1.数据传输开销(由于冗余位)

2.使数据传输和接收过程复杂化(由于编码/解码算法)

如前所述,编码是在原始数据中添加一些冗余位,这些冗余位将用于检测和纠正

解码过程中的错误。编解码算法有很多种,各有优缺点。因此,在实现编码/解

码块时,总是会遇到以下问题。

1.必须添加多少位冗余位以最小化冗余位的数量并最大化错误纠正?

2.哪种编码/解码算法是最好的。比如5G中的Polar码和LDPC编码

一般来说,添加的冗余位越多,错误检测/纠正能力就越高。但是,添加的冗余

位越多,获得的吞吐量就越低,因为传输的位的较大部分应该分配给冗余位,而

不是要发送的信息。

3Gpp规范规定了编码/解码过程的所有细节,我们只需要执行和学习就够了。

例如,在LTE情况下,3Gpp36.212指定如下所示的编码算法和相关参数。规范

的第5章提供了实现编码过程的所有详细参数。

Zr)code

kbitbinary-----JEncode----->nbitbinary

MessageCodeWords

(000000)

(100000)

(010100)

(110100)

(001010)

(101010)

(011110)4

(111110)2

(000001)

可能的组合(100001)码字

(010101)

(110101)

(001011)

(101011)

(0111)

L.(111111)J

图6:编码示例

“线性编码”是指一组代码,其中两个代码在该集合中的任何线性组合产生一个

也属于原始集合的代码。假设有一组代码,如图7所示。从集合中取出任意两个

代码,取它们的模2求和,结果也足集合的一个成员。

图7:线性编码示例

“循环”是一组代码,其中一个代码可以通过该代码集中另一个代码的循环移位

来生成。换言之,该集合中一个码的任意数量的循环移位也属于该集合。例如,

假设有一个由以下四个代码组成的代码集。如果只查看这些代码中的每一个,这

些代码中的任何一个都可以通过另一个代码的循环移位来创建,如图8所示。

往右移任何位

往右移2位

,往右移1位

往右移1位.

往右移2位

往右移任何位

图8:循环移位编码示例

将编码(0110101)循环右移1,得到(10101010),它也是集合的一个成员。

将编码(0110101),循环右移2,得到(0110101),它也是集合的一个成员。

简言之,在这一组不管你用什么代码,不管你做了多少次循环移位,结果总足在

原来的集合中。

用一个叫“生成功能”来产生这些编码集,如图9所示。

c="7'G4就是这个函数

go<1xn矢量

gl<1xn矢量

=(4>4>瓦T)•

gk-l<1xn矢量

=%go+6g+・・・+4Tg»i

-1xn矢量

图9:产生需要的相位

理解上述等式真正含义的最佳方法是举例说明。假设有四个生成函数

gl(x)=1+1x+0x人2+1x人3+0x人4+0x人6+0x人7=1+x+x人3

AA

g2(x)=0+1x+1x人2+0x3+1x人4+0x人6+0x7=0+x+x人2+x人4

g3(x)=1+1x+1x”+0x人3+0x人4+1x人6+0x人7=1+x+x人2+x人6

AAAA

g4(x)=1+0x+1x人2+0x3+0x^4+0x人6+1x7=1+x+x2+x7

可以将这些方程打包成一个矩阵,如下所示。(注意最低的顺序是最左边的)。

《一■1101000

0110100

G=gi—

*1110010

1010001

_g3_

假设有一个m二(l101)的消息。

现在,计算出该消息的码字(计算出该消息通过编码器块时的输出位流)。使用

生成器函数计算码字的过程如图10所示。

c=m•G

=l-go+l・gi+°・g2+l・g3

卜(1101000)\

(0110100)j/

(0000000)',

+)(1010001户一1

m0d2)(2221101)

(0001101)J—码字(1,1,o,1)

图10:生成函数举例说明

现在看一下生成器函数(生成器矩阵)的高级视图,看看是否有任何可识别的模

式。如图11所示。

1.行数与消息长度相同(消息中的位数)

2.矩阵包含kxk单位矩阵,其中k是消息的长度

G=

K是消息长度

图11:生成器矩阵视图

我怎么知道使用哪些生成器函数?

正常情况下,这些功能/矩阵将根据通信系统提供规范C每个无线通信系统都会

提供码本以供使用。

MessageCodeWords

(0000;000000

1000:101000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论