主权项 |
一种可变长度Turbo码的编译方法,其特征在于:包括可变长度Turbo码的编码方法和可变长度Turbo码的译码方法;可变长度Turbo码的编码方法包括以下步骤:A:确定一个Turbo码母码,Turbo码母码的信息序列长度为k,码率为R,生成多项式矩阵为g=(1,g(D)/h(D)),并给定交织器类型和删截矩阵;B:对Turbo码母码在给定信噪比SNR的条件下进行蒙特卡洛仿真,求出误比特率分布P<sub>b</sub>=(p1,p2,…,pk),式中P<sub>b</sub>(j)=pj,j=1,2,…,k,k为信息序列长度;P<sub>b</sub>(j)为Turbo码母码中第j个信息比特位的错误率;C:对误比特率分布曲线P<sub>b</sub>按照各个信息比特位置的误比特率的大小从小到大进行重新排序,得到位置变化的排序表∏=(π1,π2,π3,…,πk),式中∏(j)=πj,j=1,2,…,k;D:设Turbo码母码缩短后实际输入的信息序列长度为k`,输入的信息序列为Info=(a1,a2,…,ak`),式中Info(j)=aj,j=1,2,…,k`;在序列尾部添加k‑k`个零,得到序列Info`=(a1,a2,a3,…,ak`,0,…0),即前k`位为缩短后的信息序列,后k‑k`位补零,k`≤k,a<sub>j</sub>=0或1;E:对补零后的信息序列Info`中各个信息比特依照排序表∏进行重新排序,设排序后的信息序列表示为Info``,则Info``(∏(j))=Info`(j),j=1,2,…,k,得到新的信息序列Info``=(b1,b2,…,bk),j=1,2,…,k;F:将排序后得到的信息序列Info``送入Turbo码编码器进行编码,得到两路校验序列P1和P2;G:将信息序列Info和两路校验序列P1和P2组成码字序列Codeword;H:对码字序列Codeword进行BPSK调制,生成调制信号序列Modu并送入信道发送;Modu(j)=2×Codeword(j)–1;可变长度Turbo码的译码方法包括以下步骤:I:将接收端收到的与调制信号序列Modu相对应的受到干扰后的接收序列Re中的各路信息进行分离,分别得到与输入信息序列Info、两路交验序列P1和P2相对应的序列S1、Pr1和Pr2,其中S1=(s1,s2,…,sk`);J:将收到的序列S1进行扩展,即在序列S1后追加k‑k`个负数G,G小于等于‑200,得到扩展序列S1`,S1`=(s1,s2,…,sk`,G,…,G);K:对扩展序列S1`依照排序表∏进行重新排序,得到排序后的序列S1``,S1``(∏(j))=S1`(j),j=1,2,…,k;L:将序列S1``、Pr1和Pr2送入Turbo码译码器进行迭代译码,译码结束后输出信息序列的估值序列S2,S2=(t1,t2,…,tk);M:对估值序列S2依照排序表∏进行位置反变换,即恢复原始顺序,得到恢复顺序后的序列S3,位置反变换为:S3(j)=S2(∏(j)),j=1,2,…,k;N:取S3的前k`位,得到最后的译码结果。 |