文档

tpcenc

Turbo产品编码(TPC)编码器

语法

代码= tpcenc(msg,N,K)
代码= tpcenc(msg,N,K,S)

描述

例子

代码= tpcenc (味精NK对输入信息进行二维TPC编码,味精,使用两个由码字长度指定的线性分组码N以及消息长度K.有关2-D TPC编码的描述,请参见算法

例子

代码= tpcenc (味精NK年代对长度缩短的输入消息进行2-D TPC编码年代,使用由码字长度(N- - - - - -K+年代)及讯息长度年代

例子

全部折叠

使用扩展Hamming和BCH码的二维turbo积编码(TPC)对随机位向量进行编码。

为TPC编码指定(N,K)个码对。

N = [32;64];K = [21;57];

生成一个随机消息位的列向量。消息位的期望长度是中的元素的乘积K

msg = randi([0 1],prod(K),1);

对消息进行tpc编码。

代码= tpcenc(msg,N,K);

验证编码码字的长度是否为中的元素的乘积N

大小(代码)
ans =1×22048年1
刺激(N)
Ans = 2048

使用二维turbo积编码(TPC)对随机位向量进行编码,并应用消息缩短。

指定(N,K)个码对,S个码进行TPC编码。

N = [32;64];K = [21;57];S = [19;24];

生成一个随机消息位的列向量。所期望的缩短消息位的长度是中的元素的乘积年代

msg = randi([0 1],prod(S),1);

tpc编码缩短的消息。

代码= tpcenc(msg,N,K,S);

验证已编码码字的长度是(n - k + S).

大小(代码)
ans =1×2930年1
刺激(n - k + S)
Ans = 930

输入参数

全部折叠

输入要编码的消息位,指定为列向量。

  • 对于全长的输入消息,列向量的长度必须是其中元素的乘积K

  • 对于缩短的输入消息,列向量的长度必须是其中元素的乘积年代

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

码字长度,指定为两个元素的整数列向量,[NRNC].NR表示产品代码矩阵中的行数。NC表示产品代码矩阵中的列数。欲了解更多有关NR而且NC,请参阅算法.有效的(N),K))代码对,参见组件代码

数据类型:

消息长度,指定为两个元素的整数列向量,[KRKC].对于全长消息,包含要enocde的消息位的输入列向量被安排到KR——- - - - - -KC矩阵。KR表示消息矩阵中的行数。KC表示消息矩阵中的列数。欲了解更多有关KR而且KC,请参阅算法.有效的(N),K))代码对,参见组件代码

数据类型:

缩短的消息长度,指定为两元素整数列向量,[年代R年代C].对于短消息,包含要enocde的消息位的输入列向量被安排到年代R——- - - - - -年代C矩阵。年代R表示矩阵中的行数。年代C表示矩阵中的列数。欲了解更多有关年代R而且年代C,请参阅算法

指定此参数时,请指定N而且K全长TPC码的向量,缩短为(N) - - -K+年代),年代)代码。

数据类型:

输出参数

全部折叠

tpc编码的消息,作为列向量返回。

  • 对于全长输入消息,返回的列向量的长度是中的元素的乘积N

  • 对于缩短的输入消息,返回的列向量的长度是(N- - - - - -K+年代).

更多关于

全部折叠

组件代码

该表列出了支持的组件代码。万博1manbetxN),K)表示两元列向量参数的元素,N而且K,指定个人的代码对(NRKR)及(NCKC).表中列出的任意两对组件代码都可以组成二维TPC代码。表中的最后一列列出了每个代码对的纠错能力。

代码类型 组件代码N(我)K(我) 纠错能力(T
汉明码 (255247) 1
(127120) 1
(63年,57) 1
(31日,26) 1
(15日11) 1
(7,4) 1
扩展汉明码 (256247) 1
(128120) 1
(64年,57) 1
(32岁,26) 1
(16日11) 1
(8,4) 1
BCH码 (255239) 2
(127113) 2
(63年,51) 2
(31日21) 2
(15日7) 2
扩展BCH码 (256239) 2
(128113) 2
(64年,51) 2
(32岁,21) 2
(16日7) 2
校验码 (256255) -
(128127) -
(64, 63) -
(32岁,31) -
(16日15) -
7(8日) -
(4,3) -
(2) -

算法

Turbo积码(TPC)是一种用作前向纠错码(FEC)的串接码。两个或多个组件分组码,如系统线性分组码,用于构造tpc。此函数实现二维产品代码编码,如中所述[1],使用两个线性分组码

产品代码构建

全长输入消息使用指定的2-D TPC码对进行编码。按行编码使用(NCKC)代码对和按列编码使用(NRKR)码对。包含输入消息位的输入列向量被排列成KR——- - - - - -KC矩阵。输入向量的长度必须为KR×KC

按行编码使用(NCKC)系统线性块编码器KC每行位。按行编码的结果是KR——- - - - - -NC矩阵,包括添加到每行的奇偶校验位。

下一个处理操作使用(NRKR)系统线性块编码器上的每个NC列。经过二维TPC编码后,初始KR——- - - - - -KC矩阵的结果是NR——- - - - - -NC矩阵,包括添加到每行和列的奇偶校验位。

二维TPC全代码矩阵被重塑为列向量并返回。tpc编码输出的长度为NR×NC

缩短产品代码的构造

缩短的输入消息使用指定的2-D TPC代码对进行编码。按行编码使用(NCKC)代码对,按列编码使用(NRKR)码对。输入向量的长度必须为年代R×年代C.包含缩短消息位的输入列向量被排列成KR——- - - - - -KC矩阵。缩短的消息位矩阵通过在消息矩阵的开头填充零来前置两个维度。

按行编码使用(NCKC)系统线性块编码器KC每行位。按行编码的结果是KR——- - - - - -NC矩阵,包括添加到每行的奇偶校验位。

下一个处理操作使用(NRKR)系统线性块编码器NC列。在2-D TPC编码之后,零填充位从输出中被排除,以产生一个(NR- - - - - -KR+年代R)——- (NC- - - - - -KC+年代C)矩阵。该矩阵包括添加到每行和每列的奇偶校验位。

二维TPC缩短码矩阵被重塑为一个列向量并返回。

对于缩短的输入消息,tpc编码消息的长度为(NR- - - - - -KR+年代R) × (NC- - - - - -KC+年代C).

参考文献

[1] Pyndiah r.m.产品码的近最优解码:块涡轮码IEEE通讯汇刊。第46卷,第8期,1998年8月,第1003-1010页。

扩展功能

另请参阅

功能

系统对象

在R2018a中引入

这个话题有用吗?