求解卷积码子生成多项式算法的研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

求解卷积码子生成多项式算法的研究
第11卷第1期
2010年2月
信息工程大学
JournalofInformationEngineeringUniversity
V01.11No.1
Feb.201O
求解卷积码子生成多项式算法的研究
刘玉君,宁波
(1.信息工程大学信息工程学院,河南郑州450002;2.空军第一航空学院,河南信阳46400)
摘要:研究了辗转相减求最大公因式的原理,给出了求(n.,1,m)非系统卷积码子生成多项式
的方法,讨论了求(n.,k.,m)系统卷积码子生成多项式的解线性方程组算法.
关键词:卷积码;线性方程组;子生成多项式;辗转相减
中图分类号:TN911.22文献标识码:A文章编号:1671—0673(2010)01—0053—06 StudiesonAlgorithmsforCalculatingSubgeneratorPolynomialsofConvolutionalCodes LIUYu—jun.NINGBo
(1.InstituteofInformationEngineering,InformationEngineeringUniversity,Zhengzhou4 50002,China;
2.TheFirstAeronauticInstituteofAirForce,Xinyang464000,China)
Abstract:Inthispaper,theprincipleofcalculatinggreatestcommonfactorsusingmutualsubt rac-
tionisstudied,thenthemethodsforcalculatingsubgeneratorpolynomialsof(n0,1,m)nonsys tem-
aticconvolutionalcodesaregiven,andfinally,thealgorithmsforsolvingsystemsoflinearequ ations
forcalculatingsubgeneratorpolynomialsof(n0,k0,m)systematicconvutionalcodesaredisc ussed.
Keywords:convolutionalcodes;systemsoflinearequations;subgeneratorpolynomials';m utual
SUbtraction
卷积码是一种非常有前途的信道编码类型,在现代通信中有着广泛的应用,尤其是卫星通信中大量采
用卷积码作为信道编码方式,在第三代移动通信中也将把卷积码作为主要编码方式之一….笔者在有关
文章中曾讨论过非系统卷积码的信息恢复以及确定监督矩阵等重要问题I4,但在研究编码工作中经常
遇到如何确定卷积码子生成多项式的问题.一般的教科书上,码的子生成多项式都是由生成多项式矩阵
直接给出的….在这里再给出一种确定子生成多项式的方法,这种方法是从编码序列出发,利用辗转相
减法或解线性方程组法求出码的子生成多项式.
1辗转相减法
弓I理1若B()lA(),曰()IA:(),贝0
()i(A,(X),A())
引理2若A.():A.(),A:()=xO2A:(),且A.(),A:()满足
(A(),)=(A:(),)=1
其中,0.,0:满足0≤0≤0:,若令A,()=A.()+A:(),则A,()可以表示成
A1()=x~3Ar3()
(1)
(2)
(3)
其中,(A,(),)=1,0,>02,Ai(),A()∈F[],=1,2,3.
证明设A1x)=.f+口f-l+…+口日+1Xsl+,A2()=bp+bp一1一+…+bl+",
收稿日期:2009—02—28
作者简介:刘玉君(1944一),男,教授,主要研究方向为信道编码理论.
54信息工程大学
A3()=一'Al()+A2()=a,l-01+…+,+1++6p+…+6+l十2=
Cm
m
+…+(0l+1+b+1):(Crnm-02一+…+(0+l+6+1))=x~3A3()(4)
其中,03:02+1,A3()=Cm-02~十…+(."l+61),这里假定.¨1+6"l≠0,如果.¨l+b¨1=0,
不妨设(4)式中A,()的第1个不为0的项是c,此时j}≥0+1,因此,A()=xkA(),仍旧满足0,=
>0,令,()=A"(),贝0(At3(),)=1.
引理3若A()=A(),A:()=x~2A:(),且0:>0,A()和A()都是常数项不为0的
多项式,令A,()=-01A()+A()=X03A,(),且(A.(),A())=d.(),(A:(),A())=
d2(),贝0d.()=一d2(),(0≤0l≤02<03).
证明已知A.()=xOIAt1(),A()=x~2At2(),又(A.(),A())=d.(),故有
d()=(A.(),A2())=吼(A】(),一'A2()).
因此得到Id(),不妨设(A(),A()):d(),则由A()的常数项为1推出d.()的常
数项也为1,假设d.()=d(),(d(),)=1.同理假设d:()=d(),(d:(),)=1.
下面证明d()=d().
由d.()lA(),可知d.()lA(),同理d.()lA:(),
dl()JA3(戈)=Ai()+A2()=x~3At3(),
于是d.()l(A:(),A,()):d(),又(d.(),)=1,得到d()ld().同理可得d:()
Id.(),因此d()=d(),最后得到d()=d()=d()=:d().
定理1若A()=xO!A.(),A:()=X02At2(),其中,At1(),A()是常数项不为0的多项式,可以按如下过程求A()与A()的最大公因式(A.(),A()):
A()=X01A(),
A()=x~2A(),
A3()=一A1()+A2()=x~3A3(),
Aj()=一一oi-2A卜2()+A卜.()=x~JA(),
式中A()(p=1,2,…,)满足((),)=1,若有一个Aj()=0,则((),A:())=x~lA卜.().
证明由引理2得到(A.(),A.())=d()=xO1d(),
(A(),A,()):d:()=X~2d:(),
(A,一2(),A,一.())=d,一()=一d卜(),
其中,d.()=d()=…=d,一:(),又A,()=一一一,一()+A,一.()=x~i一A卜()+一A,一,()
=
0,可知,2()=A,一1().于是(A2(),A()):AH(),x~J.'AH())=x~iAH()=
d(),于是f_2()=A()=(),最后得到
d.()=d()=A,一l(),(A(z),2())=d1()=xOIA().
定理1应用说明:在求两个多项式的最大公因式时,究竟哪一个取作A.(),一般的,如果两个多项式
的常数项都不为0,则取哪个都可以,否则,取含有方幂最低的那个多项式为A().
2(.,1,m)非系统卷积码子生成多项式的求解算法
设(n.,1,m)非系统卷积码的子生成多项式为g(D)=g+g'D+…+gD,=1,2,…,n0.
若半无限信息序列为m(D)=m.+mD+m+…,则半无限编码子序列为C¨(D)=m(D)g¨'(D)=
m(D)力+m(D):D+…+m(D)g'D=c力+c'D+cD+…,其中=1,2,…,17,0.如果从
c子码开始,在编码子序列c"'(D)中截取一段A位长的有限码子序列D(D),它相当于C"'(D)取模
D运算,于是有D);C'(D)modD.显然D)是一个次数≤A一1的多项式.
令(D)m(D)roodD,则(D):m.+m1D+…+m一1D~,
第1期刘玉君等:求解卷积码子生成多项式算法的研究55
'(D);m(D)g¨(D)modD;(O)g¨(D)roodD(D)g~o+(D)g:D+…+
(D)gDroodDg(D)+g:(D)D+…+g(D)DroodD.
因而,一段A位长的半无限编码子序列e"'(D)是半无限信息序列(D),(D)D,…,(D)Drood
D的线性组合,因此,编码子序列(D),(D),…,.(D)都包含(D)的前若干项,因而可以从编码子序列求出(D)的低次项部分.
另一方面,"(D)不是(D)与g¨(D)的完整乘积,仅是它们的部分积(因为次数≥A的
项取模
JD运算时都去掉了),因此,只能利用辗转相减法求两个多项式的最大公因式,而且按模D运算,其中A

1为两个多项式中较低者的次数,其具体步骤如下:
①选取一段以≥mn.个相连"0"起头的码序列,从该串"0"之后的第1个非全"0"的子码开始,截取一
段>4(m+1)n个比特的码序列;
②将它们分成n.个编码子序列,运用辗转相减法(roodD),求它们对应多项式¨'(D),(D),

,e(D)的最大公因式d(D),d(D)就是信息多项式(D);
③对于J=1,2,…,n.,用(D)按模D分别去除"(D),得到各子生成多项式,其中叼一1是
(D)
的次数.为简单起见,(D)仍用表示.
例1设(3,1,2)非系统卷积码的一段码序列如下: 000…0001111100011000000l1101111001000Ol110111l0011111010ll0l0…
将它们分成3个编码子序列:
O0…01101001100011011001…,00…01100010100101010111…,00…01010011110111111100….
从第1个非全零子码开始,求它们的最大公因式,为此,先求('(D),(D)),此时A=19.为了
简化运算,只需写出子多项式的系数:
Al(D)=1101001100011011001,
A2(D)=1100010100101010111,
A3(D)=A(D)+A(D)=0001O11000110001110,
A4(D)=DA2(D)+A,(D);0000111010010100100roodD,
A5(D)=DA3(D)+A(D)~0000010110001100011modD,
A6(D)=DA4(D)+A(D)~0000001011000110001modD,
A(D)=DA5(D)+A(D)0000000000000000000modD.
由于A,(D)=0,因此('(D),'.(D))=A'6(D):1011000110001.
以上运算如果用图1竖式表示,运算非常方便.然后再求(D)与((D),(D))= 1011000110001的最大公因式,由于1011000110001的最大次数是12,取入=13,即(D)只取前l3位.
竖式运算如图2.
由于A(D)=0,所以=101100011,即
l110100ll000l10ll001
211000101001O101Ol11
3000101l000l10001l】0
000ll00010100l0101O111
40000ll101O0l0100100
00001011000l】0001l1
500000101l0001100011
00000l110l001010010
600000010l1000110001
0000001011000110001l
0OOOOO0000000000O00
图1竖式运算
1101001l110l11
2l0ll000l10001
30001O110001lO
0001O1l00011OO11
4O0000O0000000
图2=13的竖式运算
56信息工程大学
(D)=('¨(D),'(D),'(D))=A(D)=1+D+D+D+D.,
,
I)(……2+D)(D)=……,
g(I'_1+
由此得到(3,I,3)非系统卷积码的生成多项式矩阵是G()=[1+D+D+Dl+D十DI+D]. 3(n.,k.,m)系统卷积码子生成多项式的求解算法
上面给出的求(n.,I,m)非系统卷积码子生成多项式的方法,也适合系统卷积码,不过,对于系统卷积
码来说,因为码序列对应的原信息序列就是每个子码的前.位,因此,可以用解线性方程组的方法来求
(n.,k.,m)系统卷积码的子生成多项式.
设(n.,k.,m)系统卷积码的生成多项式矩阵为
G(D)=
10…0g.'(D)…g'(D)
11…0g',(D)…g''.(D)
ii
00…1g'.,b(D)…g''".(D)
其中,k.×(.一k.)个子生成多项式一般表达式为g".()=g+gD+…+gD,
1,2,…,k0,=0+1,k0+2,…,n0.因此卷积码子序列C'(D)为
rm(D),P=l,2,…,k0,
c(D)=?.
【∑m"(D)g"(D),P=k0+l,…,no.
由此得到监督子序列C(D)的个分量计算公式
k0
c=
∑∑m,L≥m(5)
(5)式对于P=k.+l,k.+2,…,n.皆成立,因此
0mk0mk0
c
"
m
.'",cmk,…,cm.
可以看出,要确定子生成多项式g'.'(D),g''(D),…,g.?"(D),就是要确定这些多项式各
项的系数.由于每个子生成多项式共有m+1个分量,因此要确定这k.个子生成多项式,实际上只需解下
面方程绢即可:
k0m
=
∑∑m芝''",i=1J=0
式中,(A:1,2,…,.(m+1))可以取任意不小于m的正整数,只要保证所得到的方程线性独立即可.
在实际中,可以从第m+1个子码开始,顺次取第k.+1个子监督序列的k.(m+1)个码元.
同理,要确定g',.(D),g'.'们(D),…,g'.'+2(D),只需解下面方程组
+
b
1



lJ
"
¨

%∑
=
第1期刘玉君等:求解卷积码子生成多项式算法的研究57
kom
c=
∑∑m,i=1J=0
0m
c=
∑∑m(O,,
ko
c.
即可.最后,要确定子生成多项式g',.(D),g','(D),…,g'.,(D)只需解方程组
c
c
kom
=
∑∑m…一,i=1J=0一
即可.从以上讨论可以看出,每解一个由k(m+1)个方程构成的方程组,可以得到k.个子生成多项式,因
而要得到(n.,k.,m)系统卷积码的k.×(n.一k.)个子生成多项式,需要解n.一k.个这样的方程组.因此,
求(n.,k.,m)系统卷积码的子生成多项式的步骤是:
①已知编码约束度N=m+1和n.,k.,将编码序列分成n.个子码序列,并将每个子码k.位信息放在
上面一行,监督子序列放在对应信息位的下一行;
②从信息序列顺次选取线性方程组的系数,根据上面给出的方法得到线性方程组;
③分别解n.一k.个这样的方程组求出k.×(n.一k.)个子生成多项式.
例2设一个(5,2,2)系统卷积码的码序列如下:
11l10l11l111001001110011001101O0l1100000111101l11100111010110101000111
由于n.=5,k.=2,m=2,共需要求k.×(n.一k.)=6个子生成多项式,每2个子生成多项式为一
组,共有k×(m+1)=6个未知量,因此,要求得g¨'"(D),g'(D),需要解由6个方程构成的方程组.
同理,求g¨(D),g(D)和g¨'(D),g犯(D),都分别需要解由6个方程构成的方程组.为此,把码
序列分成信息序列和监督序列,并分别写在两行:
1234567891011121314
1111110O00010000111100010100
110111001111110101111000110111l】101】010111
为了求g¨,"(D),g'"(D),从第3个子码开始,顺次选取方程组未知量的系数,得到如下方程组:
把码序列的数据代入,并用矩阵的形式表示得到
111111
001l11
00001l
01O0O0
000100
000001
""
mm
∑∑
∑∑
==
222222
{i{igggggg
,■2,',■,■,'
(i(;(5(6mmm肌mm
++++++
{2(2(2(2(2gggggg
ttl,'ll
(i(i(immmm巩m
++++++
222222
gggggg
,'2,',■1',■
(2(3(4(5(6(7mmmmmm
++++++
gggggg
(i(;(;mmmmm
++++++
222222
(0(0(0(O(O(0gggggg
,,'2,'2,■
(i(i(immmmmm
++++++
,;;},
(0(0(0(0(0(0gggggg
(;(i(immmmmm
333333
121212
58信息工程大学2010正
为了简化运算,用增广矩阵表示以上方程组并对它进行初等行变换,把系数矩阵化成单位矩阵:
ll1ll1O
00111ll
0000111
0100001
0001001
0000010
1000000
0010001
0000101
0100001
000100l
0000010
—?
1000000
0100001
0010001
0001O0l
0000l01
0000010
由此得到g.(13):0,g:1,g'=1,g:=1,g=1,g1=o于是
g',(D)=D+D,g''(D):1+D.
为了求得g(D),g
然后将常数项中第1个监
fmg+
(D),只需分别把上面的未知量换成g¨,g,g:,g:,g,g.
督子序列{c}换成第2个监督子序列{c},因此,需要解下面方程组: mg.+m.g:¨+mg:十m:g+m:g=c,
把码序列的数据代人,并用矩阵的形式表示得到
g
g(1f4'
g(2.4
g
g'
1
1
1
用以上方法解方程组(6)得到g'(D)=1+D+D,g'(D)=D.
同理得到g'(D):1,g'(D)=1+D,于是码的生成多项式矩阵:
Gc.=【:++..】.
4结束语
(6)
本文给出了利用辗转相减法和解线性方程组法确定卷积码的子生成多项式,区别于传统确定子生成
多项式的方法…,这种方法构思巧妙,计算简单,便于计算机编程实现,有较大的实用价值.
参考文献:
1
2
3
4
刘玉君.信道编码[M].3版.郑州:河南科学技术出版社,2006.
刘玉君.非系统卷积码信息恢复算法的研究[J].信息工程大学,2007,8(2):195—197? 刘玉君.(.,1,m)非系统卷积码信息恢复算法的研究[J].信息工程大学,2008,9(1):44-46
刘玉君.求解非系统卷积码监督矩阵算法的研究[J].信息工程大学,2008,12(4):427-430?
,,,,0
44444
(!(6(7(8CCCCC
:===ll
44444
22222
(i(2(2(2ggggg
^^^,)
22222
(i(;(6mmmmm
+++++
^^^))
44444
(1(2(2(2ggggg
)^^^)
ll2l1
(i(4(5(6mmmmm
十十十++
44444
●,●,,
22222
ggggg
Z2222
(i(5(6(7mmmmm
十++++
4344.4.
ggggg
(i(i(7mmmmm
+++++
44444
22222
(0(0(0(0(Oggggg
)^^^)
22222
{5(6(7(8mmmm
+++++
)^^^)
44444
(0(O(O(0(0ggggg
^^^))
(;(;(8mmmmm 111001¨¨¨∞∞叭¨¨∞∞叭∞
¨∞∞叭∞∞。

相关文档
最新文档