还剩6页未读,继续阅读
文本内容:
卷积编码设计与仿真实验报告
一、实验目的了解卷积码对信号的纠错性能,掌握维特比译码算法,分析卷积码不同码率下纠错能力的强弱,深刻理解CCSDS标准、信道编译码等相关概念和算法
二、实验内容
1、自己编码实现2,1,3卷积码的编译码,对比不同信噪比条件下,是否采用编码对于误码率性能的影响;
2、基于MATLAB自带的vitdec函数实现对2,1,7卷积码以及2/
3、3/4码率删除码的编译码,并对于不同码率抗噪声能力的强弱;
3、构造BPSK调制、加性高斯白噪声的传输环境
三、实验原理卷积码一般表示为n,k,N的形式,即将k个信息比特编码为n个比特的码组,N为编码约束长度,说明编码过程中相互约束的码段个数卷积码编码后的n个码元不仅与当前组的k个信息比特有关,还与前N-1个输入组的信息比特有关编码过程中相互关联的码元有N*n个R=k/n是编码效率编码效率和约束长度是衡量卷积码的两个重要参数典型的卷积码一般选n,k较小,但N值可取较大10,以获得简单而高性能的卷积码
1、卷积码的编码原理卷积码的编码器一般比较简单,为一个具有k个输入端,n个输出端,m级移位寄存器的有限状态有记忆系统下图所示为2』,7卷积码的编码器Second output图12,1,7卷积码编码器若输入序列为u=u0ulu2u3……,则对应两个码字序列C1=caOca1ca2ca3和C2=cb0cb1cb2cb3,相应的编码方程可写为Pl=u*Cl,P2=u*C2,P=Pl,P2o*”符号表示卷积运算,Pl,P2表示编码器的两个冲激响应,即编码器的输出可以由输入序列和编码器的两个冲击响应卷积而得到,故称为卷积码这里的冲激响应指当输入为口0000]序列时,所观察到的两个输出序列值由于上图N值为7,故冲激响应至多可持续到第位,可写为Pl=[l111001],P2=[l011011]然后将7两个输出端的码字序列合并为一个码字序列为C=ca0cb0calcblca2cb2若输入信息序列为
[1101];贝!001010101],P2=[l111101111],C=[1l]o
2、卷积码维特比译码网格图可以描述卷积码的状态随时间推移而转移的情况该图纵坐标表示所有状态,横坐标表示时间网格图在卷积码的概率译码,特别是Viterbi译码中非常重要,它综合了状态图法直观简单和树图法时序关系清晰的特点状态图2译码器网格图图中实线表示输入0时所走分支,虚线表示输入1时所走分支,编码时只需从起始状态开始依次选择路线并读出输出即可假设从a状态开始,输入为
[1011],则可由图中读出输出为
[11101001]维特比译码是根据接收序列在码的格图上找出一条与接收序列距离或其他量度为最小的一种算法它和运筹学中求最短路径的算法相类似译码器从某个状态,例如从状态a出发,每次向右延伸一个分支对于1L,从每个节点出发都有2种可能的延伸,其中L是信息序列段数,对应L,只有一种可能,并与接收数字相应分支进行比较,计算它们之间的距离,然后将计算所得距离加到被延伸路径的累积距离值中对到达每个状态的各条路径的距离累积值进行比较,保留距离值最小的一条路径,称为幸存路径当有两条以上取最小值时,可任取其中之一这种算法所保留的路径与接收序列之间的似然概率为最大,所以又称为最大似然译码
四、实验过程
1、2,1,3卷积码的编译码实现对于n,k,N卷积码,采用维特比译码需要构造N个状态转移矩阵,所以我们采用编码器结构简单的2,1,3卷积码来实现维特比译码对于2,1,7型卷积码,我们采用MATLAB自带的vitdec函数来实现维特比译码编码主要程序如下for ii=l:lengthdatainter_var=[data iian];%寄存器初始状态置0first_outii=modsumcn_l.*inter_var,2;second out ii=modsumcn_
2.*inter_var,2;an=inter_var1:end-l;output ii*2-l:ii*2=[first_outii secondoutii];enddata输入码字,output:编码器输出码字维特比译码程序主要分为俩部分,第一部分是筛选出最优幸存路径,第二根据幸存路径进行回溯译码,主要程序如下function dec_out=func_conv_dec_213_hardenc_out%寻找幸存路名~~data_in=enc_out;n=2;k=l;K=3;m=K-1;num_state=2ck*m;a=zeros num_state,4;al,:=[0Oil];a2,:=
[0110];a3,:=
[1100];a4,:=
[1001];t=lengthdata_in/n;path metric=zeros1,4;path=zerosnum state,t;select=zeros1,num_state;for ii=l:tfor jj=l:2temp=zeros1,2;temp1=path_metric2*jj-l+sumxor data_in2*ii-l:2*ii,ajj,l2;temp2=path_metric2*jj+sumxordata_in2*i i-l:2*ii,ajj,3:4;if temp1=temp2selectjj=temp1;pathjj,ii=2*jj-l;elseselect jj=temp2;pathjj,ii=2*jj;endendfor jj=3:3temp=zeros1,2;temp1=pathmetricjj-2+sumxordata_in2*i i-l:2*ii,ajj,1:2;temp2=path_metricjj-l+sumxordata_in2*i i-l:2*ii,ajj,3:4;if temp1=temp2select jj=templ;pathjj,ii=jj-2;elseselectjj=temp2;pathjj,ii=jj-l;endendfor jj=4:4temp=zeros1,2;templ=path_metricjj-1+sumxor data_in2*ii-l:2*ii,ajj,l:2;temp2=path_metric jj+sum xordata_in2*i i-l:2*ii,ajj,3:4;if templ=temp2select jj=templ;pathjj,ii=jj-l;elseselectjj=temp2;pathjj,ii=jj;endendpath_metric=select;enddec_out=truncaturepath;function source=truncaturepath附艮据幸存路径进行回溯译码[m,n]=sizepath;source=zeros1,n;j=l;for i=n-l:1if pathj,i=2source1,i=0;elsesource1,i=1;endj=pathj,i;endsource1:n-l=source2:n;sourcen=0;
2、信道传输过程仿真实现为了方便起见,我们采用了二相相移键控BPSK,也就是用二进制基带信号
0、1对载波进行二相调制传输信道选择加性白噪声模型,通过不断改变信噪比来观察系统的抗噪声性能主要代码如下%BPSK编码,1表示码字1,-1表示码字0s0=sign data-
0.5;si=sign output-
0.5;%AWGN Channeladdnoi seO=awgn sO,snr_dbx,measured;add noise1=awgn si,snjdb xmeasured;%解调r_0=
0.5*signadd_noise0+
0.5;r_l=
0.5*signadd_noisel+
0.5;
3、2,1,6卷积码及其删除码编译码实现编码过程同2,1,3卷积码,不再赘述译码采用MATLAB自带的vitdec函数进行,需要特别说明的是,在对删除码进行译码时,需要将删除位置补齐,为了区别出补齐的删除码字和已编码码字的,我们将已编码的0映射为0,将已编码的1映射为3,将补齐的删除码字映射为1主要代码如下%-------------2/3码率编码,删除图样1011------------------------------punctured_code_2_3=zeros1,225;for jj=l:75punctured_code_2_31+3*jj-l=output1+4*jj-1;punctured code_232+3*jj-l-output2+4*jj-1;punctured_code_2_33+3*jj-l-output4+4*jj-l;end%-------------2/3码率译码,删除图样1011------------------------------R_2=zeros1,300;for jj=l:75R_21+4*jj-1=r_21+3*jj-1*3;R_22+4*jj-1=r_22+3*jj-1*3;R_23+4*jj-1=1;R_24+4*jj-1=r_23+3*jj-1*3;enddecoded2=vitdec R_2,trel,tblen,,cont,‘soft,2;[num2,rat2]=biterr doubledecoded2tblen+1:end,datal:end-tblen;
五、实验结果分析
1、是否采用编码系统的抗噪声性能分析通过对比未编码和(2』,3)卷积码俩组数据在不同信噪比情况下的误码率性能,结果如图3所示我们发现,当信噪比较小时,未编码的误码率反而比采用编码的误码率低,这是因为误比特太多导致接收到的信息几乎无效但是当信噪比稍高后误码率随信噪比变化曲线L・L・undecodeddecoded山01r「「■」•一012345678910SNR/dB卷积码编码译码的误码率就大大降低了「
0.
20.18•图3是否采用编码系统抗噪声性能图%£n.oo
0.04,0264218JJJO..Ooo
2、不同码率编码系统的抗噪声性能分析针对(2,1,7)卷积码,我们对比在不同码率下,编码系统的抗噪声性能,结果如图4所示可以发现,码率越高,抗噪声性能越差在同样编码系统的情况下,效率的提高必然会带来性能的损失误码率随信噪比变化曲线
0.5码率1/
20.45码率2/3码率3/
40.4---------------------------------------------------------------------------------------------------------------------------二--------------------------------------------------------------------------------------------------------------------------------------------------------
024681012141618200.35山SNR/dB图4不同码率编码系统抗噪声性能图%/HSO,26O,16O.O352516。
个人认证
优秀文档
获得点赞 0