卷积码(或者Turbo码)的交织与解交织的仿真编程和仿真实验

更新时间:2023-10-11 09:22:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

卷积码(或者Turbo码)的交织与解交织的仿真编程和仿真实验

一、实验目的

实现卷积码(或者Turbo码)的交织与解交织的仿真编程和仿真实验,观察交织编码分别在白噪声信道和衰落信道下系统误码率的影响,分析原因。 二、实验原理

信道编码中采用交织技术,可打乱码字比特之间的相关性,将信道中传输过程中的成群突发错误转换为随机错误,从而提高整个通信系统的可靠性。交织编码根据交织方式的不同,可分为线性交织、卷积交织和伪随机交织。其中线性交织编码是一种比较常见的形式。所谓线性交织编码器,是指把纠错编码器输出信号均匀分成m个码组,每个码组由n段数据构成,这样就构成一个n×m的矩阵。这里把这个矩阵称为交织矩阵。如图1所示,数据以a11,a12,…,a1n,a21,a22,…,a2n,…,aij,…,am1,am2,…,amn(i=1,2,…,m;j=1,2,…,n)的顺序进入交织矩阵,交织处理后以a11,n21,…,am1,a12,a22,…,am2,…,a1n,a2n,…,amn的顺序从交织矩阵中送出,这样就完成对数据的交织编码,如图1所示。还可以按照其他顺序从交织矩阵中读出数据,不管采用哪种方式,其最终目的都是把输入数据的次序打乱。如果aij只包含1个数据比特,称为按比特交织;如果aij包含多个数据比特,则称为按字交织。接收端的交织译码同交织编码过程相类似。

图 1 交织编码矩阵 一般来说,如果有n个(m,k)码,排成,n×m矩阵,按列交织后存储或传送,读出或接收时恢复原来的排列,若(m,k)码能纠t个错误,那么交织后就可纠m个错误。对纠正信道传输过程中出现的突发错误效果明显,如图2所示。

图2 交织编码示例 GSM中使用这种比特交织器。其交织方式为将信道编码后的每20ms的数据块m=456b拆分到8组中,每组57b,然后这每组57 b分配到不同的Burst中 三、实验流程

卷积交织 解卷积交织 四、源程序

1、交织程序 1)卷积交织

function [aa]=jiaozhi(bb,n) %jiaozhi.m 卷积交织函数 n=28; %分组长度

? 卷积交织前原分组序列 a 卷积交织后分组序列 %序号重排方式:

cc=[ 1 23 17 11 5 17 21; 8 2 24 18 12 6 28; 15 9 3 25 19 13 7; 22 16 10 4 26 20 14 ];%交织矩阵

bb=[ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28]; for i=1:n

aa(i)=bb(cc(i)); end

(2)循环等差交织

function [aa]=jiaozhi_nocnv(bb,n) %jiaozhi_nocnv.m 循环等差交织函数 n=28; %分组长度

? 循环等差交织前原分组序列 a 循环等差交织后还原分组序列 %序号重排方式:

bb=[ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ]; j=1; for i=1:n

j=rem(j+5-1,n)+1; %序号重排方式迭代算法 aa(n+1-i)=bb(j); end

2、解交织程序 (1) 解卷积交织 function [bb]=jiejiaozhi(aa,n) %jiejiaozhi.m 解卷积交织函数 n=28;% 分组长度

a 解卷积交织前原分组序列 ? 解卷积交织后分组序列 %序号重排方式:

cc=[ 1 23 17 11 5 27 21; 8 2 24 18 12 6 28; 15 9 3 25 19 13 7 ;22 16 10 4 26 20 14 ]; aa=[ 1 8 15 22 23 2 9 16 17 24 3 10 11 18 25 4 5 12 19 26 27 6 13 20 21 28 7 14 ]; for i=1:n

bb(cc(i))=aa(i); end

(2) 解循环等差交织

function [bb]=jiejiaozhi_nocnv(aa,n) %jiaozhi_nocnv.m 解循环等差交织函数 n=28;% 分组长度

a 解循环等差交织前原分组序列

? 解循环等差交织后还原分组序列 %序号重排方式:

aa=[ 1 24 19 14 9 4 27 22 17 12 7 2 25 20 15 10 5 28 23 18 13 8 3 26 21 16 11 6]; j=1; for i=1:n

j=rem(j+5-1,n)+1; %序号重排方式迭代算法 bb(j)=aa(n+1-i); End

交织码通常表示为(M,N),分组长度L=MN,交织方式用M行N列的交织矩阵表示。一般,交织方式分为分组交织和卷积交织。分组交织的交织矩阵按列写入,按行读出;去交织矩阵按行写入按列读出。卷积交织的交织矩阵和去交织矩阵的写入与读出均按行进行。

注意本次仿真采用(7,4)卷积交织编码和循环等差交织编码。所谓循环等差,是指将序号从大到小顺时针排成一圈,从1开始等间隔逆时针取28个数,间隔为4,这样依次取的28个数即序号重排方式。 五、实验结果 1、卷积交织

2、循环等差交织

3、解卷积交织

4、解循环等差交织

实验结果分析: 交织性能分析:

1. 任何长度小于等于M = 7的突发差错,经交织、去交织后成为独立差 错。

2. 任何长度大于M = 7的突发差错,经交织、去交织后有可能变成短突 发差错。

3. 特殊的,间隔为M = 7的独立差错,经交织、去交织后会变成长度为 N = 4的突发差错。 解交织性能分析:

1. 任何长度小于等于M + 3 = 7 + 3 =10的突发差错,经交织、去交织后 成为独立差错。

2. 任何长度大于M + 3 = 7 + 3 =10的突发差错,经交织、去交织后有可 能变成短突发差错。

3. 特殊的,间隔为M + 3 = 7 + 3 =10的独立差错,经交织、去交织后会 变成长度为N - 1= 4 – 1 =3的突发差错。

4. 特殊的,间隔为…4、5、4、5…的独立差错,经交织、去交织后会变 成长度为5或6的突发差错。

六、交织编码分别在白噪声信道和衰落信道下系统误码率的影响,分析原因。 1、白噪声信道下

在较高信噪比的时候编码增益大大提高了误码性能,但是在低信噪比的时候编码增益较小甚至可能是负值,则是因为编码后信息比特能量扩散到多个编码比特上,每个编码比特能量有所降低,如果信噪比低的话,编码冗余带来的性能增益可能弥补不了编码比特的能量的降低,因此信道中信噪比的波动会显著降低编码性能。

2、衰落信道

衰落信道使系统的误码性能大大降低,尤其是时延扩展远大于码元宽度的衰落,如瑞利衰落信道,此时信道属于慢深衰落,容易使得传输的信息出现连续的错误,当出现的错误大于信道编码的纠错能力时,就无法产生编码增益,甚至可能是性能恶化。此时必须使用交织把连续的错误打破分到不同的编解码分组中尽量使每组只有少量甚至一个错误,此时编码增益将会大大提高。但是单纯的交织编码是不能够达到抗衰落的效果的,交织编码必须同其他纠正随机差错的编码技术相结合,才能起到提高信道性能的作用。

本文来源:https://www.bwwdw.com/article/wbkf.html

Top