一种改进的软输出咬尾卷积码译码方法与流程

文档序号:12374823阅读:462来源:国知局
一种改进的软输出咬尾卷积码译码方法与流程

本发明属于无线通信技术领域,更进一步涉及信道编码技术领域中的一种改进的软输出咬尾卷卷积码译码方法。本发明实现了良好的短码译码性能且能够作为内码输出软信息,可用于军事通信系统、卫星通信系统和蜂窝通信系统以及下一代宽带无线通信系统中短码场景。



背景技术:

自卷积码被发明以来,它一直作为一种高效的信道编码技术应用在通信系统中。为满足用户对于广播及多播业务等实时业务的高速率需求,LTE系统在信道编码过程中根据不同传输信道采用了Turbo编码和咬尾卷积编码。其中咬尾卷积编码主要用于广播信道(BCH)、上下行的控制信息(DCI、UCI)编码过程。卷积码在结尾的时候通常要做归零处理,运用维特比算法译码,好处是在结尾后,网格图结束的最后一个状态是确定的(零状态),但是在信息比特流较短的情况下,结尾会造成较多的码率损失,性能较差。咬尾卷积码在短信息比特流条件下具有优势,且不需要结尾,因此避免了结尾所造成的码率损失。

Rose Y.Shao等人在其发表的论文“Two Decoding Algorithms for Tailbiting Codes”(IEEE Transactions on Communications,2003:1658-1665)中提出了一种环绕维特比算法WAVA(wrap-around Viterbi algorithm)。该译码算法必须将维特比算法应用于整个码字,进行迭代译码,在每一次迭代译码后,对首尾状态进行判断,对所有状态进行搜索回溯,找到首尾状态相同的路径,对路径中权值最大的一条进行译码输出,否则进行下一迭代译码,直到迭代译码次数达到最大迭代次数,进行译码输出,该算法达到了良好的性能,性能逼近了最大似然译码的性能。但是,该方法仍然存在的不足之处是,环绕维特比算法WAVA译码运算复杂度较高,不能得到很好的应用。

联芯科技有限公司在其申请的专利“咬尾卷积码译码方法与装置”(申请日:2011年6月28日,申请号:201110176605.2公开号:CN 102857242A)中公开了一种对译码进行优先级选择回溯的咬尾卷积码译码方法。该方法根据最后一次的迭代得到的末状态对应的量度生成可能的初状态集,且根据回溯的结果调整优先级,优先回溯已在状态集中的状态,以减少回溯次数,进而达到减少的时延的效果,该方法降低了算法的复杂度,但是,该方法仍然存在的不足之处是,性能有所损失,且不能输出软信息,不能作为内码进行级联。



技术实现要素:

为了克服上述现有技术的不足,本发明的目的在于提出一种复杂度相对较低,不需要路径搜索的咬尾卷积码译码方法,且性能良好,本算法运用了软输出的译码算法特点,使得咬尾卷积码能够作为内码在整个系统中与外码进行迭代,进一步扩展了其应用价值。

为了实现上述目的,本发明对分支度量进行一次计算,对前向度量和后向度量进行两次计算,再利用拼接,将对数似然比进行组合计算,最终得到优良的判决性能。

实现本发明目的的具体步骤包括如下:

(1)获得对数似然比序列:

将接收的码字序列按照信息位在校验位之前的排列方式,分别从接收的码字序列中取出所有的信息位的对数似然比和校验位的对数似然比,得到信息位对数似然比序列和校验位的对数似然比序列;

(2)计算分支转移度量值:

依次计算每个对数似然比序列所对应的时刻中,所有可能的状态对应的分支转移度量值;

(3)计算前向度量:

(3a)按照下式,计算0时刻,编码器中寄存器的状态的前向度量值:

α0(s)=log(1/2m)

其中,α0(s)表示0时刻编码器中寄存器的第s个状态的前向度量值,s的取值范围为[0,2m-1],m表示编码器中寄存器的总数,log表示以e为底的对数操作;

(3b)按照下式,依次计算1≤l≤L时刻内,编码器中寄存器的状态的第一段的前向度量值:

<mrow> <msub> <mi>&alpha;</mi> <mi>l</mi> </msub> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> </munder> <mo>&lsqb;</mo> <msub> <mi>&alpha;</mi> <mrow> <mi>l</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&gamma;</mi> <mrow> <mi>l</mi> <mo>-</mo> <mn>1</mn> <mo>,</mo> <mi>l</mi> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>,</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>&rsqb;</mo> </mrow>

其中,αl(s)表示l时刻,编码器中寄存器的第s个状态的前向状态度量,l表示译码时刻,s的取值范围为[0,2m-1],m表示编码器中寄存器的总数,max表示取最大值操作,αl-1(s′)表示l-1时刻编码器中寄存器的第s'状态的前向状态度量,s'的取值范围为[0,2m-1],γl-1,l(s′,s)表示从l-1时刻编码器中寄存器的第s′个状态,转移到l时刻编码器中寄存器的第s个状态的分支转移度量值;

(3c)按照下式,依次计算L+1≤l≤2L-1时刻内,编码器中寄存器的状态的第二段的前向度量值:

<mrow> <msub> <mi>&alpha;</mi> <mi>l</mi> </msub> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> </munder> <mo>&lsqb;</mo> <msub> <mi>&alpha;</mi> <mrow> <mi>l</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&gamma;</mi> <mrow> <mi>l</mi> <mo>-</mo> <mn>1</mn> <mo>-</mo> <mi>L</mi> <mo>,</mo> <mi>l</mi> <mo>-</mo> <mi>L</mi> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>,</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>&rsqb;</mo> </mrow>

其中,αl(s)表示l时刻编码器中寄存器的第s个状态的前向状态度量,l表示译码时刻,s的取值范围为[0,2m-1],m表示编码器中寄存器的总数,max表示取最大值操作,αl-1(s′)表示l-1时刻编码器中寄存器的第s'个状态的前向状态度量,s'的取值范围为[0,2m-1],γl-1-L,l-L(s′,s)表示从l-1-L时刻编码器中寄存器的第s′个状态,转移到l-L时刻编码器中寄存器的第s个状态的分支转移度量值,L表示编码时候信息位对数似然比序列的长度;

(4)计算后向度量:

(4a)按照下式,计算2L时刻编码器中寄存器的状态的后向度量值:

β2L(s)=log(1/2m)

其中,β2L(s)表示2L时刻编码器中寄存器的第s个状态的后向度量值,log表示以e为底的对数操作,m表示编码器的寄存器总数;

(4b)按照下式,依次计算L+1≤l≤2L-1时刻内,编码器中寄存器的状态的第二段的后向度量值:

<mrow> <msub> <mi>&beta;</mi> <mi>l</mi> </msub> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> </munder> <mo>&lsqb;</mo> <msub> <mi>&beta;</mi> <mrow> <mi>l</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&gamma;</mi> <mrow> <mi>l</mi> <mo>-</mo> <mi>L</mi> <mo>,</mo> <mi>l</mi> <mo>+</mo> <mn>1</mn> <mo>-</mo> <mi>L</mi> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>,</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>&rsqb;</mo> </mrow>

其中,βl(s)表示l时刻编码器中寄存器的第s个状态的后向状态度量,l表示译码时刻,s的取值范围为[0,2m-1],m表示编码器中寄存器的总数,max表示取最大值操作,βl+1(s′)表示l+1时刻编码器中寄存器的第s'个状态的前向状态度量,s'的取值范围为[0,2m-1],γl-L,l+1-L(s′,s)表示从l-L时刻编码器中寄存器从第s′个状态转移到l+1-L时刻,编码器中寄存器的第s个状态的分支转移度量值,L表示编码时候信息位对数似然比序列的长度;

(4c)按照下式,依次计算1≤l≤L时刻内,编码器中寄存器的状态的第一段的后向度量值:

<mrow> <msub> <mi>&beta;</mi> <mi>l</mi> </msub> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> </munder> <mo>&lsqb;</mo> <msub> <mi>&beta;</mi> <mrow> <mi>l</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&gamma;</mi> <mrow> <mi>l</mi> <mo>,</mo> <mi>l</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>,</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>&rsqb;</mo> </mrow>

其中,βl(s)表示l时刻编码器中寄存器的第s个状态的后向状态度量,l表示译码时刻,s的取值范围为[0,2m-1],m表示编码器中寄存器的总数,max表示取最大值操作,βl+1(s′)表示l+1时刻编码器中寄存器的第s'个状态的前向状态度量,s'的取值范围为[0,2m-1],γl,l+1(s′,s)表示从l时刻编码器的寄存器s′个状态,转移到l+1时刻编码器中寄存器的第s状态的分支转移度量值;

(5)按照下式,依次计算0≤l≤L-1时刻内信息位对数似然比值,将按照计算得到的所有时刻的信息位对数似然比值的顺序,排列组成信息位对数似然比序列:

<mrow> <mi>L</mi> <mrow> <mo>(</mo> <msub> <mi>u</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>,</mo> <mi>s</mi> <mo>)</mo> </mrow> </munder> <mo>&lsqb;</mo> <msub> <mi>&alpha;</mi> <mrow> <mi>l</mi> <mo>+</mo> <mi>L</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&gamma;</mi> <mrow> <mi>l</mi> <mo>,</mo> <mi>l</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>,</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&beta;</mi> <mi>l</mi> </msub> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>|</mo> <mn>1</mn> <mo>&rsqb;</mo> <mo>-</mo> <munder> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>,</mo> <mi>s</mi> <mo>)</mo> </mrow> </munder> <mo>&lsqb;</mo> <msub> <mi>&alpha;</mi> <mrow> <mi>l</mi> <mo>+</mo> <mi>L</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&gamma;</mi> <mrow> <mi>l</mi> <mo>,</mo> <mi>L</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>,</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&beta;</mi> <mi>l</mi> </msub> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>|</mo> <mn>0</mn> <mo>&rsqb;</mo> </mrow>

其中,L(ul)表示l时刻信息位的对数似然比值,l表示译码时刻,max表示取最大值操作,s′表示编码器中寄存器的第s′个状态,s′的取值范围为[0,2m-1],m表示编码器中寄存器的总数,s表示编码器中寄存器的第s个状态,s的取值范围为[0,2m-1],αl+L-1(s′)表示第二段l+L-1时刻编码器中寄存器的第s个状态前向度量值,L表示编码时候信息位对数似然比序列的长度,γl,l+1(s′,s)表示从l时刻编码器中寄存器的第s′个状态,转移到l+1时刻编码器中寄存器的第s个状态的分支转移度量值,βl(s)表示表示第一段l时刻编码器中寄存器第s个状态的后向度量值,|表示条件转移符号;

(6)判决:

将信息位对数似然比序列大于0的值判决为1,小于等于0的值判决为0。

本发明与现有技术相比具有以下优点:

第一,由于本发明对前向度量和后向度量进行两段计算,将不同分段的前向度量值,后向度量值,拼接计算信息位对数似然比序列,将信息位对数似然比序列进行判决,完成译码,从而克服了现有技术对所有状态进行搜索回溯,运算复杂度较高的缺点,使得本发明具有不需要进行搜索回溯,运算复杂度低的优点。

第二,由于本发明计算信息位对数似然比序列,并且将计算信息位对数似然比序列作为软输出,克服了现有技术不能软输出的缺点,使得本发明能将咬尾卷积码作为内码在整个系统中与外码进行迭代,扩展了应用价值。

附图说明

图1为本发明的流程图;

图2为本发明的误码率性能仿真结果图;

图3为本发明的误帧率性能仿真结果图。

具体实施方式

下面结合附图对本发明做进一步的描述。

参照附图1本发明的详细步骤如下。

步骤1,获得对数似然比序列。

将接收的码字序列按照信息位在校验位之前的排列方式,分别从接收的码字序列中取出所有的信息位的对数似然比和校验位的对数似然比,得到信息位对数似然比序列和校验位的对数似然比序列。

本发明实施例中采用LTE系统中的咬尾卷积码,采用BPSK调制,信息位对数似然比序列长度为20,40和80,校验位的对数似然比序列的长度为20,40和80。

步骤2,计算分支度量。

按照下式,依次计算每个对数似然比序列所对应的时刻中,所有可能的状态对应的分支转移度量值:

<mrow> <msub> <mi>&gamma;</mi> <mrow> <mi>l</mi> <mo>,</mo> <mi>l</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>,</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <msub> <mi>u</mi> <mi>l</mi> </msub> <msubsup> <mi>y</mi> <mi>l</mi> <mi>u</mi> </msubsup> </mrow> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> </mfrac> <mo>+</mo> <mfrac> <mrow> <msub> <mi>p</mi> <mi>l</mi> </msub> <msubsup> <mi>y</mi> <mi>l</mi> <mi>p</mi> </msubsup> </mrow> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> </mfrac> </mrow>

其中,γl,l+1(s′,s)表示从l时刻编码器中寄存器的第s′个状态,转移到l+1时刻编码器中寄存器的第s个状态的分支转移度量值,l表示译码时刻,1≤l≤L,L表示编码时候信息位对数似然比序列的长度,s的取值范围为[0,2m-1],m表示编码器的寄存器总数,s'的取值范围为[0,2m-1],ul表示从l时刻编码器中寄存器的第s′个状态,转移到l+1时刻编码器中寄存器的第s个状态的信息比特,表示l时刻信息位u的对数似然比,σ2表示噪声方差,σ2的取值为大于0的实数,pl表示从l时刻编码器中寄存器的第s′状态,转移到l+1时刻编码器中寄存器的第s个状态的校验比特,表示l时刻校验位p的对数似然比。

本发明实施例中采用编码器的寄存器个数m=6,L的取值为20,40或80,s的取值范围为[0,2m-1],s'的取值范围为[0,2m-1]。

步骤3,计算前向度量,具体步骤如下。

按照下式,计算0时刻,编码器中寄存器的状态的前向度量值:

α0(s)=log(1/2m)

其中,α0(s)表示0时刻编码器中寄存器的第s个状态的前向度量值,s的取值范围为[0,2m-1],m表示编码器中寄存器的总数,log表示以e为底的对数操作。

按照下式,依次计算1≤l≤L时刻内,编码器中寄存器的状态的第一段的前向度量值:

<mrow> <msub> <mi>&alpha;</mi> <mi>l</mi> </msub> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> </munder> <mo>&lsqb;</mo> <msub> <mi>&alpha;</mi> <mrow> <mi>l</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&gamma;</mi> <mrow> <mi>l</mi> <mo>-</mo> <mn>1</mn> <mo>,</mo> <mi>l</mi> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>,</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>&rsqb;</mo> </mrow>

其中,αl(s)表示l时刻,编码器中寄存器的第s个状态的前向状态度量,l表示译码时刻,s的取值范围为[0,2m-1],m表示编码器中寄存器的总数,max表示取最大值操作,αl-1(s′)表示l-1时刻编码器中寄存器的第s'状态的前向状态度量,s'的取值范围为[0,2m-1],γl-1,l(s′,s)表示从l-1时刻编码器中寄存器的第s′个状态,转移到l时刻编码器中寄存器的第s个状态的分支转移度量值。

按照下式,依次计算L+1≤l≤2L-1时刻内,编码器中寄存器的状态的第二段的前向度量值:

<mrow> <msub> <mi>&alpha;</mi> <mi>l</mi> </msub> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> </munder> <mo>&lsqb;</mo> <msub> <mi>&alpha;</mi> <mrow> <mi>l</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&gamma;</mi> <mrow> <mi>l</mi> <mo>-</mo> <mn>1</mn> <mo>-</mo> <mi>L</mi> <mo>,</mo> <mi>l</mi> <mo>-</mo> <mi>L</mi> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>,</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>&rsqb;</mo> </mrow>

其中,αl(s)表示l时刻编码器中寄存器的第s个状态的前向状态度量,l表示译码时刻,s的取值范围为[0,2m-1],m表示编码器中寄存器的总数,max表示取最大值操作,αl-1(s′)表示l-1时刻编码器中寄存器的第s'个状态的前向状态度量,s'的取值范围为[0,2m-1],γl-1-L,l-L(s′,s)表示从l-1-L时刻编码器中寄存器的第s′个状态,转移到l-L时刻编码器中寄存器的第s个状态的分支转移度量值,L表示编码时候信息位对数似然比序列的长度。

本发明实施例中采用编码器的寄存器个数m=6,L的取值为20,40或80,s的取值范围为[0,2m-1],s'的取值范围为[0,2m-1]。

步骤4,计算后向度量。

按照下式,计算2L时刻编码器中寄存器的状态的后向度量值:

β2L(s)=log(1/2m)

其中,β2L(s)表示2L时刻编码器中寄存器的第s个状态的后向度量值,log表示以e为底的对数操作,m表示编码器的寄存器总数。

按照下式,依次计算L+1≤l≤2L-1时刻内,编码器中寄存器的状态的第二段的后向度量值:

<mrow> <msub> <mi>&beta;</mi> <mi>l</mi> </msub> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> </munder> <mo>&lsqb;</mo> <msub> <mi>&beta;</mi> <mrow> <mi>l</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&gamma;</mi> <mrow> <mi>l</mi> <mo>-</mo> <mi>L</mi> <mo>,</mo> <mi>l</mi> <mo>+</mo> <mn>1</mn> <mo>-</mo> <mi>L</mi> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>,</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>&rsqb;</mo> </mrow>

其中,βl(s)表示l时刻编码器中寄存器的第s个状态的后向状态度量,l表示译码时刻,s的取值范围为[0,2m-1],m表示编码器中寄存器的总数,max表示取最大值操作,βl+1(s′)表示l+1时刻编码器中寄存器的第s'个状态的前向状态度量,s'的取值范围为[0,2m-1],γl-L,l+1-L(s′,s)表示从l-L时刻编码器中寄存器从第s′个状态转移到l+1-L时刻,编码器中寄存器的第s个状态的分支转移度量值,L表示编码时候信息位对数似然比序列的长度。

按照下式,依次计算1≤l≤L时刻内,编码器中寄存器的状态的第一段的后向度量值:

<mrow> <msub> <mi>&beta;</mi> <mi>l</mi> </msub> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> </munder> <mo>&lsqb;</mo> <msub> <mi>&beta;</mi> <mrow> <mi>l</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&gamma;</mi> <mrow> <mi>l</mi> <mo>,</mo> <mi>l</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>,</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>&rsqb;</mo> </mrow>

其中,βl(s)表示l时刻编码器中寄存器的第s个状态的后向状态度量,l表示译码时刻,s的取值范围为[0,2m-1],m表示编码器中寄存器的总数,max表示取最大值操作,βl+1(s′)表示l+1时刻编码器中寄存器的第s'个状态的前向状态度量,s'的取值范围为[0,2m-1],γl,l+1(s′,s)表示从l时刻编码器的寄存器s′个状态,转移到l+1时刻编码器中寄存器的第s状态的分支转移度量值。

本发明实施例中采用编码器的寄存器个数m=6,L的取值为20,40或80,s的取值范围为[0,2m-1],s'的取值范围为[0,2m-1]。

步骤5,计算信息位对数似然比值,排列组成信息位对数似然比序列,具体步骤如下。

按照下式,依次计算0≤l≤L-1时刻内信息位对数似然比值,将按照计算得到的所有时刻的信息位对数似然比值的顺序,排列组成信息位对数似然比序列:

<mrow> <mi>L</mi> <mrow> <mo>(</mo> <msub> <mi>u</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>,</mo> <mi>s</mi> <mo>)</mo> </mrow> </munder> <mo>&lsqb;</mo> <msub> <mi>&alpha;</mi> <mrow> <mi>l</mi> <mo>+</mo> <mi>L</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&gamma;</mi> <mrow> <mi>l</mi> <mo>,</mo> <mi>l</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>,</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&beta;</mi> <mi>l</mi> </msub> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>|</mo> <mn>1</mn> <mo>&rsqb;</mo> <mo>-</mo> <munder> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>,</mo> <mi>s</mi> <mo>)</mo> </mrow> </munder> <mo>&lsqb;</mo> <msub> <mi>&alpha;</mi> <mrow> <mi>l</mi> <mo>+</mo> <mi>L</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&gamma;</mi> <mrow> <mi>l</mi> <mo>,</mo> <mi>l</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mo>&prime;</mo> </msup> <mo>,</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&beta;</mi> <mi>l</mi> </msub> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>|</mo> <mn>0</mn> <mo>&rsqb;</mo> </mrow>

其中,L(ul)表示l时刻信息位的对数似然比值,l表示译码时刻,max表示取最大值操作,s′表示编码器中寄存器的第s′个状态,s′的取值范围为[0,2m-1],m表示编码器中寄存器的总数,s表示编码器中寄存器的第s个状态,s的取值范围为[0,2m-1],αl+L-1(s′)表示第二段l+L-1时刻编码器中寄存器的第s个状态前向度量值,L表示编码时候信息位对数似然比序列的长度,γl,l+1(s′,s)表示从l时刻编码器中寄存器的第s′个状态,转移到l+1时刻编码器中寄存器的第s个状态的分支转移度量值,βl(s)表示表示第一段l时刻编码器中寄存器第s个状态的后向度量值,|表示条件转移符号。

本发明实施例中采用L的取值为20,40或80,s的取值范围为[0,2m-1],s'的取值范围为[0,2m-1]。

步骤6,判决。

将信息位对数似然比序列大于0的值判决为1,小于等于0的值判决为0。

下面结合仿真图对本发明的效果做进一步的说明。

1.仿真条件:

本发明的仿真使用Microsoft Visual Stdio 2012仿真软件,系统参数与实施例中所用到的译码参数一致,采用LTE标准中的咬尾卷积码,调制为BPSK调制,传输信道为AWGN信道。

2.仿真内容与仿真结果分析:

图2是本发明误码率性能仿真图,图2中的横轴表示比特能量和噪声功率谱密度比,单位dB,纵轴表示误码率。图2中以矩形标示的曲线表示信息位L=20的误码率,图2中以三角形标示的曲线表示信息位L=40的误码率,图2中以圆形标示的曲线表示信息位L=80的误码率,码率为1/3,采用BPSK调制。

由图2的仿真结果可见,本发明在L=40时,误码率BER=1×10-5时,比特能量和噪声功率谱密度比为3.7dB,逼近了最大似然译码误码率的性能,可见本发明的译码方法具有较低的误码率。

图3是本发明误帧率性能仿真图,图3中的横轴表示比特能量和噪声功率谱密度比,单位dB,纵轴表示误帧率。图3中以矩形标示的曲线表示信息位L=20的误帧率,图3中以三角形标示的曲线表示信息位L=40的误帧率,图3中以圆形标示的曲线表示信息位L=80的误帧率,码率为1/3,采用BPSK调制。

由图3的仿真结果可见,本发明在L=40时,误帧率FER=1×10-5时,比特能量和噪声功率谱密度比为4.5dB,逼近了最大似然译码的误帧率性能,可见本发明的译码方法具有较低的误帧率和良好的译码性能。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1