内蒙古师范大学计算机与信息工程学院
《通信原理》课程设计报告
设计题目 卷积码编译码系统抗噪声性能
指导教师
职称
教授
姓
学
日
名
号
期 2010.7.18
卷积码编译码系统抗噪声性能
计算机与信息工程学院 2007 级 32 班
指导教师
摘 要
本文基于 System View 平台,实现卷积码编译码系统的仿真,通过添加高
斯噪声测试系统的抗噪声性能,对比卷积码译码的硬判决与软判决下,来比较两种判决的抗
噪声性能,调整系统参数,分析系统抗噪声的最大值,通过仿真初步得到结果。
关键字 System View、卷积码、维特比算法、抗噪声性能
1.引言
卷 积 码 ( convolutional code ) 是 1955 年 由 麻 省 理 工 学 院 的 伊 利 亚 斯
(P.Elias)发明的。它也是将k个信息元编成n个码元,但k和n通常很小,特别
适合以串行形式进行传输,时延小。与分组码不同,卷积码编码后的n个码元不
仅与当前段的k个信息元有关,还与前面的N-1段信息有关,各码字间不再是相互
独立的,码字中互相关联的码元个数为n*N。同样,在译码过程中不仅从此时刻
收到的码元中提取译码信息,而且还利用以后若干时刻收到的码字提供有关信息
卷积码的纠错性能随k的增加而增大,而差错率随N的增加而指数下降。由于卷积
码的编码过程充分利用了码字间的相关性,因此在码率和复杂性相同的条件下,
卷积码的性能优于分组码因此在通信领域应用的越来越多。但目前尚未找到较严
密的数学手段,将码的构成与其纠/检错能力有规律地联系起来,一般是采用计
算机搜索来寻找合适的编码方式。另外,卷积码的译码算法也有待于进一步研究
与完善。
2.仿真设计平台的介绍
SystemView 是美国 ELANIX 公司推出的,基于 Windows 环境下运行的用于系
统仿真分析的可视化软件工具,它使用功能模块(Token)去描述程序,无需与复
杂的程序语言打交道,不用写一句代码即可完成各种系统的设计与仿真,快速地
建立和修改系统、访问与调整参数,方便地加入注释。System View 是一个完整
的动态系统设计、仿真和分析的可视化环境,是一个适合多种操作系统的单机和
1
网络平台。在 System View 环境下,可以构造各种复杂的模拟、数字、数模混合
系统和各种速率的系统,可用于线性或非线性控制、通信系统的设计和仿真。
System View 有诸多优点:直观、简单、易用;支持多速率系统和并行系统;无
限制分层结构;丰富的功能模块;广泛的滤波和线性系统设计,可扩展性[1]。
3.卷积码的工作原理
3.1 卷积码的结构
卷积码编码器的一般结构形式如图 1 所示,主要由移位寄存器和模二加法器
组成,输入移位寄存器有 N 段,每段有 K 个,共 NK 个移位寄存器,负责存储每
段 K 个信息码元,各信息码元通过 n 个模二加法器相加,产生每个输出码组 n
个码元,并寄存在一个 n 级的移位寄存器中移位输出。整个编码过程可以看成是
输入信息序列与由移位寄存器和模 2 加法器之间连接所决定的另一个序列的卷
积,卷积码即由此得名。通常把 N 称为卷积码的约束长度,通常把卷积码记为:
(n,k,N);其中,n 为码长,k 为码组中信息码元的个数,它的编码效率为 R=k/n[2]。
图 1 卷积码编码器的一般结构形式
本文以(2,1,3)卷积码为例。图 2 为编码器结构。
2
图 2 (2,1,3)编码器结构
它的编码方式是:输入序列之间一次送入一个良机移位寄存器,编码器每输
入一位信息 b,输出端的开关就在 c1,c2 之间来回切换一次,输出 c1、c2。在图
二中,b1,b2,b3 为移位寄存器,他们的起始状态均为零。c1,c2 与 b1,b2,
b3 之间的关系:c1=b1⊕b2⊕b3;c2=b1⊕b2。假设输入的信息位 D=[11010],为
了使信息全部移出移位寄存器,还必须在信息位后面补三个 0。表 1 列出了进行
卷积的状态。
表 1 信息 D 卷积编码状态
输入信息 D
1
1
0
1
0
0
0
0
3b 2b
输出 1c
2c
0 0
0 1
1 1
1 0
0 1
1 0
0 0
0 0
1 1
0 1
0 1
0 0
1 0
1 1
0 0
0 0
3.2 卷积码的图解表示
根据卷积码的特点,常常还用树状图、网格图、状态图来表示卷积的过程。
3
图 3 为(2,1,3)卷积码的树状图,输入信息位为 0,则树状图向上支路移动,输
入 1 则向下支路移动。用 a、b、c、d 表示四种状态。
图 3 (2,1,3)卷积码树状图
利用树状图观察出来的重复性,把其中具有相同状态的节点合并到一起可形成网
格图,如图 4。状态图如图 5。实线代表输入 0,虚线代表输入 1。
图 4 (2,1,3)卷积码网格图
4
3.3 卷积码的译码
常用的卷积码译码方法是维特比(VB)译码法。这种解码方法比较简单,计算
快,得到广泛的应用。这种译码方法的原理是将接受到的信号序列和所有可能发
生的信号序列作比较,选出汉明距离最小的序列作为现在发送信号序列。维特比
算法的复杂度随约束长度 N 按指数增长 2N,故维特比适合约束长度较小的编码,
(2,1,3)卷积码约束长度位 3,需要计算和存储 8 条路径参量。
图 5 (2,1,3)卷积码状态图
3.4 硬判决与软判决
Viterbi 译码分硬判决和软判决两种,在结构和译码过程上没有区别,区别
在于分支度量的计算方法。硬判决是指解调器根据其判决门限对接收到的信号波
形直接进行判决后输出 0 或 1,换句话说,就是解调器供给译码器作为译码用的
每个码元只取 0 或 1 两个值,以序列之间的汉明距离作为度量进行译码。而软判
决的解调器不进行判决,直接输出模拟量,或是将解调器输出波形进行多电平量
化(不是简单的 0、1 两电平量化),然后送往译码器,即编码信道的输出是没有
经过判决的“软信息”。软判决译码器以欧几里德距离作为度量进行译码,软判
决译码算法的路径度量采用“软距离”而不是汉明距离,最常采用的是欧几里德
距离,也就是接收波形与可能的发送波形之间的几何距离。对于数字电路,硬判
决的实现是通过截取解调量化信号的符号位,可以认为是一级量化,而软判决可
认为多级量化,包括高位符号位在内,还含有信道信息的有效位。软判决避免了
5
解调后误判影响,直接送入译码器进行译码处理。一般而言,硬判决译码较软判
决译码简单而易于实现,但判决译码由于充分利用了信道输出信号的信息,在性
能上要增加 2~3dB。目前,通用的量化电平为 8 电平(3bit 量化)和 16 电平(4bit
量化),再高的话,只能增加译码器复杂度,几乎没有性能的提高[4]。
4. 基于 System View 系统的仿真及结果
4.1 卷积码仿真模型
用 System View 进行系统设计,得到一个完整的卷积码编译码模型如图 6
所示。在本设计中,该模型可用于分析卷积码编译码系统的抗噪声性能。图符 1、
8、9 道用于模拟噪声。为了便于进行抗噪声性能的对比,在这个模型中,将硬
判决和软判决方式放在一个系统中。
4.2 各元件说明及参数设定
(1)图符 0 信号发生源:是一个伪随机 PN 序列信号发生器,幅度(Amplitude)
±1V;电平数(NO.Levels):2。
(2)图符 1 采样器:对时间连续的模拟信号进行采样,转化成时间离散的数
字信号,采样频率(Sample Rate):1Hz。
(3)图符 2、3 采样延迟:按设定采样点数对数据传输进行延迟。
(4)图符 4 卷积码编码器:生成(2,1,3)卷积码,码长 2、信息位 1、约束长
度 3。
(5)图符 5 多项式符:PN 序列的电平为±1,而卷积出的序列电平为 0,1。所
以用多项式线性关系将 1,0 电平变为±1 电平。
(6)图符 6 采样保持:保持系统采样率。
(7)图符 7 加法器:将噪声加入系统。
(8)图符 8 增益:对输入信号进行放大。Gain=-5。
(9)图符 9 高斯噪声信号源:1W/Hz。
(10)图符 10 采样器:对经积分滤波器,卷积编码器编码的序列采样,由于
码率是 1/2,所以为保持采样频率,则采样器设为 2Hz。
(11)图符 11 卷积码译码器:码长为 2,信息位为 1,约束长度为 3 的卷积码。
选择硬判决。
6
(12)图符 12 卷积码译码器:码长为 2,信息为为 1,约束长度为 3 的卷积码。
选择软判决,信噪比为 5,译码约束长度为 3。
(13)图符 13、14 重新采样:经过译码,将译出的序列重新按 1Hz 采样。
(14)图符 15、16 误比特码率(BER):将经过译码和没有经过编码的序列进行
比较,查看误比特率[3]。
图 6 卷积码抗噪声性能仿真图
(15)图符 17、18 波形观察窗口:只保留每次循环的一个样本。
(16)图符 19 停止窗口:当接收到的数据值大于设定的门限值时停止仿真。
(17)图符 10 积分滤波器:无码间扰,每个输入周期都独立,更好的抗噪声。
4.2 系统参数设定
系统参数设定如图 7 所示。图中设定了循环次数为 5 次,另外,为了能对不同信
道噪声下的误码率进行仿真,还需设置全局变量,将增益(图符 8)设为全局变量,
使用 Tools 菜单中的 Global Parameter Link 项,在 Linked System Tokens 中
选择 8,然后再 F(Gi,Vi)中输入-cl,增益图符的增益为 G=-cl,cl 为循环次数。
这样,每次循环信噪比增加 1dB[5]。
7