Turbo码编码举例计算
Turbo码的结构与编码编码器包含两个并联的递归系统卷积码编码器和一个交织器两个编码器生成的校验比特在删除器中按一定规则进行删除,最后和信息比特复用,得到编码序列Turbo编码举例CDMA2000采用的成员编码器是八状态RSC编码器:在一开始计算时,由于递归的原因,输出信息进入输入,计算搞得一塌糊涂,以成员编码器1为例,介绍一下我现在的想法:假设输入序列: [1,0,1,0,0,1,0,
Turbo码的结构与编码
编码器包含两个并联的递归系统卷积码编码器和一个交织器
两个编码器生成的校验比特在删除器中按一定规则进行删除,最后和信息比特复用,得到编码序列
Turbo编码举例
CDMA2000采用的成员编码器是八状态RSC编码器:
在一开始计算时,由于递归的原因,输出信息进入输入,计算搞得一塌糊涂,以成员编码器1为例,介绍一下我现在的想法:
假设输入序列:
[1,0,1,0,0,1,0,0] \ [1,0,1,0,0,1,0,0]\, [1,0,1,0,0,1,0,0] x(t) \ x(t) \, x(t)即为输入序列,所以
x(t)=[1,0,1,0,0,1,0,0] \ x(t)=[1,0,1,0,0,1,0,0]\, x(t)=[1,0,1,0,0,1,0,0]对于 y0(t) \ y_0(t) \, y0(t)
编码器可简化为如图形式
- 橙线为反馈线路,输入信号需要先于后两位移位寄存器中的数据摩尔加后,才正常输入。
- 绿线为正常卷积码形式,可使用卷积码的方式计算,但是由于反馈的存在,理论推导会比较麻烦。
- 初始状态下,移位寄存器内为 0、0、0 \ 0、0、0 \, 0、0、0
- 输入 1 \ 1\, 1,此时进行计算时,使用的均为现状态,(或认为是上一状态)
通过橙线, 1 \ 1\, 1与 [∗、0、0] \ [*、0、0]\, [∗、0、0]摩尔加,得到 1 \ 1\, 1,则编码器下一状态为 [1、0、0] \ [1、0、0]\, [1、0、0]
1 \ 1\, 1继续通过绿线摩尔加,使用原状态,即 1 \ 1\, 1与 [0、∗、0] \ [0、*、0]\, [0、∗、0]摩尔加,则输出为1. - 继续输入 0 \ 0\, 0,此时计算,使用的状态为 [1、0、0] \ [1、0、0]\, [1、0、0]
通过橙线, 0 \ 0\, 0与 [∗、0、0] \ [*、0、0]\, [∗、0、0]摩尔加,得到 0 \ 0\, 0,则编码器下一状态为 [0、1、0] \ [0、1、0]\, [0、1、0]
0 \ 0\, 0继续通过绿线摩尔加,使用原状态,即 0 \ 0\, 0与 [1、∗、0] \ [1、*、0]\, [1、∗、0]摩尔加,则输出为1. - 继续输入 1 \ 1\, 1,此时计算,使用的状态为 [0、1、0] \ [0、1、0]\, [0、1、0]
通过橙线, 1 \ 1\, 1与 [∗、1、0] \ [*、1、0]\, [∗、1、0]摩尔加,得到 0 \ 0\, 0,则编码器下一状态为 [0、0、1] \ [0、0、1]\, [0、0、1]
反馈的体现
由于反馈,此时下一状态不是卷积码的[1、0、1]
0 \ 0\, 0继续通过绿线摩尔加,使用原状态,即 0 \ 0\, 0与 [0、∗、0] \ [0、*、0]\, [0、∗、0]摩尔加,则输出为0.
5. 按照条件,继续运算,得到 y0(t)=[1、1、0、0、1、0、0、1] \ y_0(t)=[1、1、0、0、1、0、0、1]\, y0(t)=[1、1、0、0、1、0、0、1]
删余
假设删余码如此工作:
码率 | 1/2 |
---|---|
x(t) \ x(t)\, x(t) | 00 |
y0(t) \ y_0(t)\, y0(t) | 10 |
y1(t) \ y_1(t)\, y1(t) | 00 |
0 \ 0\, 0表示需要删除, 1 \ 1\, 1保留
那 y1(t) \ y_1(t)\, y1(t)的输出我们可以不用计算,最终我们只保留 y0(t) \ y_0(t)\, y0(t)的每 2bit \ 2bit\, 2bit首位,
那最终输出为 [1、∗、0、∗、1、∗、0] \ [1、*、0、*、1、*、0]\, [1、∗、0、∗、1、∗、0]
复用
成员编码器2进行同样的运算,
他的删余方式为:
码率 | 1/2 |
---|---|
x′(t) \ x'(t)\, x′(t) | 00 |
y0′(t) \ y'_0(t)\, y0′(t) | 01 |
y1′(t) \ y'_1(t)\, y1′(t) | 00 |
成员编码器2的输入,是经过交织器形成的,这里认为输入是:
[1、1、0、0、0、0、1、0] \ [1、1、0、0、0、0、1、0]\, [1、1、0、0、0、0、1、0]
最终输出为 [∗、0、∗、0、∗、0、∗、0] \ [*、0、*、0、*、0、*、0]\, [∗、0、∗、0、∗、0、∗、0]
即
复用后结果为

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)