信息论与编码卷积码.docx

上传人:b****6 文档编号:11895107 上传时间:2023-06-03 格式:DOCX 页数:17 大小:21.29KB
下载 相关 举报
信息论与编码卷积码.docx_第1页
第1页 / 共17页
信息论与编码卷积码.docx_第2页
第2页 / 共17页
信息论与编码卷积码.docx_第3页
第3页 / 共17页
信息论与编码卷积码.docx_第4页
第4页 / 共17页
信息论与编码卷积码.docx_第5页
第5页 / 共17页
信息论与编码卷积码.docx_第6页
第6页 / 共17页
信息论与编码卷积码.docx_第7页
第7页 / 共17页
信息论与编码卷积码.docx_第8页
第8页 / 共17页
信息论与编码卷积码.docx_第9页
第9页 / 共17页
信息论与编码卷积码.docx_第10页
第10页 / 共17页
信息论与编码卷积码.docx_第11页
第11页 / 共17页
信息论与编码卷积码.docx_第12页
第12页 / 共17页
信息论与编码卷积码.docx_第13页
第13页 / 共17页
信息论与编码卷积码.docx_第14页
第14页 / 共17页
信息论与编码卷积码.docx_第15页
第15页 / 共17页
信息论与编码卷积码.docx_第16页
第16页 / 共17页
信息论与编码卷积码.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

信息论与编码卷积码.docx

《信息论与编码卷积码.docx》由会员分享,可在线阅读,更多相关《信息论与编码卷积码.docx(17页珍藏版)》请在冰点文库上搜索。

信息论与编码卷积码.docx

信息论与编码卷积码

信息论与编码--卷积码

(掌握利用编码电路求生成矩阵和监督矩阵)

差错控制编码系统中除了使用分组码之外,另一类广泛应用的称为卷积码,在分组码的编码和译码过程中,每个码字的监督元只与本码字的信息元有关,而与其它码字的信息元无关,即分组码的编码器是一个无记忆的逻辑电路。

但是,卷积码的编码过程中,本码字的监督元不仅与本码字的信息元有关,而且与前m个码字的信息元有关,因此卷积码的编码器是一个有记忆的时序电路。

卷积码由于更充分地利用码字之间的相关性,可以减少码字长度,简化编译码电路,并得到较好的差错控制性能,因此卷积码在通信领域,特别是卫星通信,空间通信领域得到广泛的应用。

7-1卷积码的基本原理

7-1-1卷积码的基本概念

[例子]:

通过一个例子说明卷积码的一些基本概念;

mi

(2)

mi

(1)

ci

(2)

c

(1)

ci

(1)

下图给出了一个(3,2,2)卷积码编码器的原理图,

 

ci(3)

 

当某一时刻,编码器输入并行一个信息码字为mi=[mi

(1),mi

(2)],编码器并行输出由三个码元组成的卷积码的码字,[ci]=[ci

(1),ci

(2),ci(3)]=[mi

(1),mi

(2),pi]。

[ci]称为一个码字。

mi为信息元,pi为监督元。

可以看出卷积码的输入输出关系为:

ci

(1)=mi

(1)

ci

(2)=mi

(2)

ci(3)=mi

(1)+mi

(2)+mi-1

(2)+mi-2

(1)

可见,卷积码当前输出的码字的监督元不仅与当前输入的信息元有关而且还与前2个码元有关。

这时编码器由2级移位寄存器构成。

定义:

卷积码字中码元的个数为n0,码字中信息元个数为k0,由m级移位寄存器构成的编码器称m为编码码字约束长度。

有的教材称m’=m+1为约束长度,(m+1)n0为编码码元约束长度。

卷积码记为(n0,k0,m)。

定义:

R=k0/n0为码率(Coderate)。

它是表示卷积码的编码效率。

卷积码的编码器的一般形式为:

c1

c2

cn0

m1

m2

mk0

Convolutionalcode

Encoder

 

看以下卷积码的约束关系图:

ci+2(3)ci+2

(2)ci+2

(1)

ci-2(3)ci-2

(2)ci-2

(1)

ci-1(3)ci-1

(2)ci-1

(1)

ci+1(3)ci+1

(2)ci+1

(1)

ci(3)ci

(2)ci

(1)

 

在译码时,译码在ci时要利用到ci-1,ci-2,同时译码字ci+1,ci+2时还要利用到ci。

因此译码约束长度一般要大于编码约束长度,因为:

虽然一般理解译码字ci时只利用ci+1,ci+2但实际上这时译出的ci可能译错,当译ci+2时同样是对ci的一种校验。

还可以对cI的译码进行修改。

这是卷积码的特别之处。

如果卷积码编码器的输入端输入有头无尾的一个半无限序列,即信息码字序列为[m]=m0,m1,m2,…mi…,则编码器的输出也将是一个半无限序列,[C]=c0,c1,c2,…ci,…,称为卷积码的码字序列。

卷积码同样有系统卷积码和非系统卷积码之分。

系统卷积码的码字中明显的包含着k0位信息码元,而非系统卷积码的信息码元是隐含在码字中的。

如图所示,为一个(2,1,2)非系统卷积码的编码器;

 

ci

(1)

ci

mi

 

ci

(2)

 

约束关系为:

ci

(1)=mi-2+mi-1+mi

ci

(2)=mi-2+mi

如果输入的信息序列为:

[m]=(m0,m1,m2,……)=(1,1,1,……)

则输出的码字序列为:

[C]=(11,01,10,……)。

7-1-2卷积码的监督矩阵描述

同分组码一样,卷积码也可以用生成矩阵和监督矩阵来描述。

[截短卷积码的基本监督矩阵]:

例如:

卷积码编码电路如图所示,求监督矩阵,并求当输入信息源为10010时,对应的输出码字?

通过一个例子说明:

看一个(3,1,2)系统卷积码,其编码电路为:

ci

mi

mi

 

pi1

D1

D0

pi2

n0=3,k0=1,m=2,m’=m+1=3

输入信息序列:

m={……mi+1,mi,mi-1,mi-2,……}

输出码字为:

[ci]={mi,pi1,pi2}

可以看出其监督关系为:

pi1=mi+mi-1

pi2=mi+mi-2

下面看一下在编码器一个约束长度的监督关系:

0mi-2+0pi-2,1+0pi-2,2+1mi-1+0pi-1,1+0pi-1,2+1mi+1pi,1+0pi,2=0

1mi-2+0pi-2,1+0pi-2,2+0mi-1+0pi-1,1+0pi-1,2+1mi+0pi,1+1pi,2=0

写成方程的矩阵形式:

000

100

110

[Ci]T

=[0]

100

000

101

其中码字序列[Ci]为截短卷积码;

[Ci]=[ci-2,ci-1,ci]=[mi-2,pi-2,1,pi-2,2,mi-1,pi-1,1,pi-1,2,mI,pi,1,pi,2]

定义其系数矩阵为:

[h]=

000

100

110

=[P20P10P0I2]=[h2h1h0]

100

000

101

截短卷积码的基本监督矩阵。

[P2]=

0

[P1]=

1

[P0]=

1

[0]=

0

[I2]=

10

1

0

1

0

01

基本监督矩阵的一般形式为:

[h]=[Pm0Pm-10……P10P0Ir0]=[hmhm-1……h1h0]

hm=Pm0;hm-1=Pm-10……h1=P10;h0=P0Ir0;

基本监督关系为:

[h][Ci]T=[0]

[h]矩阵为n0-k0=r0行,(m+1)×n0列矩阵;

Ir0矩阵为(n0-k0)×(n0-k0)单位阵;

0矩阵为(n0-k0)×(n0-k0)零矩阵;

Pm矩阵为(n0-k0)×k0阶矩阵;

例如上面介绍的(3,2,2)系统卷积码的基本监督矩阵为:

[h]=[100010111]r0=3-2=1行;(m+1)×n0=3×3=9列矩阵;

P2=[10];P1=[01];P0=[11]。

h2=100;h1=010;h0=111;

[初始截短卷积码的监督矩阵]:

初始截短卷积码定义为:

在编码器初始状态为零时,初始输入m+1个信息码字编码器输出的卷积码。

即:

[C]初=[c0c1…cm],根据基本监督矩阵的定义,可以很方便地得到初始截短卷积码的监督关系为:

[H]初[C]初=[0],而监督矩阵为:

[H]初=

P0Ir0

=

h0

P10P0Ir0

h1h0

……

Pm0Pm-10……P10P0Ir0

hmhm-1……h1h0

[H]初矩阵为(m+1)×r0行;(m+1)×n0列;

(3,1,2)卷积码的[H]初为:

[H]初=

h0

=

110

101

h1h0

100110

000101

h2h1h0

000100110

100000101

(3,2,2)卷积码的[H]初为:

[H]初=

h0

=

111

h1h0

010111

h2h1h0

100010111

[卷积码的监督矩阵];

上面介绍的是初始截短卷积码的监督矩阵,实际上卷积码的监督矩阵应当是一个有头无尾的矩阵,它对应的基本监督关系为:

[H][C]T=[0]

其中:

[C]=[C0,C1,C2,……Cm,Cm+1,……]

[H]=

P0Ir0

=

h0

P10P0Ir0

h1h0

……

……

Pm0Pm-10……P10P0Ir0

hmhm-1……h1h0

Pm0Pm-10……P10P0Ir0

hmhm-1……h1h0

Pm0Pm-10……P10P0Ir0

hmhm-1……h1h0

….….

……

例如(3,2,2)卷积码的监督矩阵为:

[H]=

h0

=

111

h1h0

010111

h2h1h0

100010111…

h2h1h0

100010111…

h2h1h0

100010111

7-1-3卷积码的生成矩阵描述

卷积码同样也可以用生成矩阵来描述,

[卷积码的生成矩阵]:

同分组码一样,卷积码的生成矩阵与监督矩阵同样也有相互正交的关系:

因此,可以很方便的得到:

截短卷积码的基本监督矩阵的一般形式为:

[g]=[g0g1……gm]=[Ik0P0T0P1T……0PmT]

初始截短卷积码的监督矩阵的一般形式为:

[G]初=

g0g1……gm

=

Ik0P0T0P1T……0PmT

g0……gm-1

Ik0P0T……0Pm-1T

……

……

g0

Ik0P0T

卷积码的无穷监督矩阵的一般形式为:

[G]=

g0g1……gm

=

Ik0P0T0P1T……0PmT

g0g1……gm

Ik0P0T0P1T……0PmT

……

……

g0g1……gm

Ik0P0T0P1T……0PmT

g0g1……gm

Ik0P0T0P1T……0PmT

……

……

例如:

(3,1,2)卷积码的这几种矩阵分别为:

[h]=

000

100

110

=[P20P10P0I2]=[h2h1h0]

100

000

101

[g]=[111010001]=[I1P0T0P1T0P2T]

[G]初=

g0g1g2

=

I1P0T0P1T0P2T

=

111010001

g0g1

Ik0P0T0P1T

000111010

g0

Ik0P0T

000000111

[G]=

g0g1g2

=

111010001

g0g1g2

111010001

……

……

g0g1g2

111010001

g0g1g2

111010001

……

……

 

[卷积码生成矩阵的多项式描述]:

看一个(3,1,2)系统卷积码,其编码电路为:

ci

mi

mi

 

pi1

D1

D0

pi2

通过前面的(3,1,2)系统卷积码的例子的编码电路可以看出:

编码器的三个输出支路可以由三个生成多项式来确定。

g

(1)(x)=1

g

(2)(x)=1+x

g(3)(x)=1+x2

一个(n0,k0,m)卷积码的支路生成多项式的一般形式为:

g

(1)(x)=g0

(1)+g1

(1)x+…+gm

(1)xm

g

(2)(x)=g0

(2)+g1

(2)x+…+gm

(2)xm

……

g(n0)(x)=g0(n0)+g1(n0)x+…+gm(n0)xm

如果用向量表示支路的生成多项式为:

g(i)=[g0(i)g1(i)g2(i)……gm(i)]

这时,卷积码的基本生成矩阵为:

[g]=[g0g1……gm]=[g0

(1)g0

(2)…g0(n0)g1

(1)g1

(2)…g1(n0)……gm

(1)gm

(2)…gm(n0)]

g0=[g0

(1)g0

(2)…g0(n0)]

g1=[g1

(1)g1

(2)…g1(n0)]

……

gm=[gm

(1)gm

(2)…gm(n0)]

由这个基本生成矩阵可以得到卷积码的生成矩阵和初始截短卷积码的生成矩阵等。

例如:

(3,1,2)系统卷积码的生成矩阵为:

g

(1)=[g0

(1)g1

(1)g2

(1)]=[100]

g

(2)=[g0

(2)g1

(2)g2

(2)]=[110]

g(3)=[g0(3)g1(3)g2(3)]=[101]

g0=[111]

g1=[010]

g2=[001]

[G]=

111010001

111010001

……

111010001

111010001

……

[非系统卷积码的描述]:

利用这种生成多项式表示的生成矩阵特别适合描述非系统卷积码。

 

例:

已知:

(2,1,2)非系统卷积码的编码器;

 

ci

(1)

ci

mi

 

ci

(2)

 

其(2,1,2)非系统卷积码的支路生成多项式为:

g

(1)(x)=1+x+x2

g

(2)(x)=1+x2

g

(1)=[g0

(1)g1

(1)g2

(1)]=[111]

g

(2)=[g0

(2)g1

(2)g2

(2)]=[101]

其基本生成矩阵为:

[g]=[111011]

生成矩阵为:

[G]=

111011

111011

……

111011

111011

……

非系统卷积码的监督矩阵从电路图中很难得到,较好的方法是先得到生成矩阵,然后再由生成矩阵求监督矩阵,(作练习)。

7-1-3卷积码的编码举例

看以下(2,1,3)非系统卷积码的例子:

 

m

C

(1)

C

C

(2)

其两个支路的生成多项式分别为:

g

(1)(x)=1+x2+x3

g

(2)(x)=1+x+x2+x3

g

(1)=[g0

(1)g1

(1)g2

(1)g3

(1)]=[1011]

g

(2)=[g0

(2)g1

(2)g2

(2)g3

(2)]=[1111]

当输入的码字序列为[m]=[10111]时,求输出的卷积码?

[生成矩阵方法]:

由生成多项式可以得到其生成矩阵为:

g0=[g0

(1)g0

(2)]=[11];g1=[g1

(1)g1

(2)]=[01];

g2=[g2

(1)g2

(2)]=[11];g3=[g3

(1)g3

(2)]=[11];

[G]=

g0g1g2g3

=

11011111

g0g1g2g3

11011111

g0g1g2g3

11011111

g0g1g2g3

11011111

g0g1g2g3

11011111

由[C]=[m][G]=[10111][G]=[1101000101010011]

[时域卷积方法]:

利用时域卷积的方法可以分别得到编码器两个支路的输出序列,然后将两个支路的序列交织后可以得到编码器的输出序列。

[C

(1)]=[m]*[g

(1)]=[10111]*[1011]=[10000001]

[C

(2)]=[m]*[g

(2)]=[10111]*[1111]=[11011101]

注:

时域卷积方法:

(反转-交错-乘积和)

10111000

10111000

10111000

10111000

1101

1101

1101

1101

1

0

0(1+1)

0(1+1)

10111000

10111000

10111000

10111000

1101

1101

1101

1101

0

0

0

1

即:

[10111]*[1011]=[10000001]

10111000

10111000

10111000

10111000

1111

1111

1111

1111

1

1

0(1+1)

1(1+1+1)

10111000

10111000

10111000

10111000

1111

1111

1111

1111

1

1

0

1

即:

[10111]*[1011]=[11011101]

由此可以得到输出序列为:

[C]=[C0,C1,C2,C3,C4…]=[C0

(1)C0

(2),C1

(1)C1

(2),C2

(1)C2

(2),C3

(1)C3

(2),C4

(1)C4

(2),…]

=[1101000101010011]

[多项式计算方法]:

对于线性系统来说,时域上的卷积可以用域上多项式的乘法运算来代替。

对于(2,1,3)非系统卷积码:

g

(1)(x)=1+x2+x3

g

(2)(x)=1+x+x2+x3

当输入序列为[m]=[10111]时,m(x)=1+x2+x3+x4

C

(1)(x)=m(x)g

(1)(x)=(1+x2+x3+x4)(1+x2+x3)=1+x7

C

(2)(x)=m(x)g

(2)(x)=(1+x2+x3+x4)(1+x+x2+x3)=1+x+x3+x4+x5+x7

将两个支路的序列交织合成为一个输出序列为:

C(x)=C

(1)(x2)+xC

(2)(x2)

=1+x14+x(1+x2+x6+x8+x10+x14)

=1+x+x3+x7+x9+x11+x14+x15

对应序列为:

[C]=[1101000101010011]

如果对于一个一般的(n0,k0,m)卷积码编码器,其支路生成多项式为:

g

(1)(x)=g0

(1)+g1

(1)x+…+gm

(1)xm

g

(2)(x)=g0

(2)+g1

(2)x+…+gm

(2)xm

……

g(n0)(x)=g0(n0)+g1(n0)x+…+gm(n0)xm

支路输出序列为:

C

(1)(x)=m(x)g

(1)(x)

C

(2)(x)=m(x)g

(2)(x)

……

C(n0)(x)=m(x)g(n0)(x)

合路输出序列为:

C(x)=C

(1)(xn0)+xC

(2)(xn0)+x2C(xn0)+……+xn0-1C(n0)(xn0)

另外还有一种利用多项式计算输出序列的方法:

首先得到一个复合生成多项式,

g(x)=g

(1)(x2)+xg

(2)(x2)

=(1+x4+x6)+x(1+x2+x4+x6)

=1+x+x3+x4+x5+x6+x7

C(x)=m(x2)g(x)

=(1+x4+x6+x8)(1+x+x3+x4+x5+x6+x7)

=1+x+x3+x7+x9+x11+x14+x15

如果对于一个一般的(n0,1,m)卷积码编码器,其复合生成多项式为:

g(x)=g

(1)(xn0)+xg

(2)(xn0)+x2g(3)(xn0)+……+xn0-1g(n0)(xn0)

 

已知一个(3,1,2)系统卷积码,其编码电路为:

ci

mi

mi

 

pi1

D1

D0

pi2

利用生成多项式(时域卷积法或多项式计算法)或生成矩阵的方法求当输入为10011时,输出对应的码为?

解:

方法一、求生成矩阵根据题意得:

g

(1)(x)=1

g

(2)(x)=1+x

g(3)(x)=1+x2

所以:

g

(1)=[g0

(1)g1

(1)g2

(1)]=[100]

g

(2)=[g0

(2)g1

(2)g2

(2)]=[110]

g(3)=[g0(3)g1(3)g2(3)]=[101]

g0=[111]

g1=[010]

g2=[001]

[G]=

111010001

111010001

111010001

111010001

111010001

……

在根据C=MG得到码字

法二:

多项式运算得到:

g

(1)(x)=1

g

(2)(x)=1+x

g(3)(x)=1+x2

所以:

当输入序列为[m]=[10011]时,m(x)=1+x3+x4

C

(1)(x)=m(x)g

(1)(x)=(1+x3+x4)1=1+x3+x4

C

(2)(x)=m(x)g

(2)(x)=(1+x3+x4)(1+x)=1+x+x3+x5

C(3)(x)=m(x)g(3)(x)=(1+x3+x4)(1+x2)=1+x2+x3+x4+x5+x6

将三个支路的序列交织合成为一个输出序列为:

C(x)=C

(1)(x3)+xC

(2)(x3)+x2C(3)(x3)

=1+x9+x12+x(1+x3+x9+x15)+x2(1+x6+x9+x12+x15+x18)

=1+x+x2+x4+x8+x9+x10+x11+x12+x14+x16+x17+x20

对应序列为:

[C]=[111010001111101011001]

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2