卷积编码在移动通信中的应用及性能分析Word格式.docx
《卷积编码在移动通信中的应用及性能分析Word格式.docx》由会员分享,可在线阅读,更多相关《卷积编码在移动通信中的应用及性能分析Word格式.docx(21页珍藏版)》请在冰豆网上搜索。
![卷积编码在移动通信中的应用及性能分析Word格式.docx](https://file1.bdocx.com/fileroot1/2023-1/28/ff9fbd51-6eee-4a99-a2f3-6b39d326f4d2/ff9fbd51-6eee-4a99-a2f3-6b39d326f4d21.gif)
1引言
1.1选题背景
随着现代通信的发展,特别是在未来4G通信网络中,高速的信息传输和可靠的信息传输是重点研究的方向。
在恶劣的环境中,信号难免会受到影响而发生改变。
可见,可靠性信息传输成为了研究的重中之重。
一般实现可靠性传输的方式有两个途径:
一是增加发送信号的功率,提高接收端的信号噪声比。
二是采用编码的方法对信道差错进行控制。
由于前者受条件限制,不是所有情况都适宜。
在1967年Viterbi译码算法的诞生,使得卷积编码广泛应用于现代通信中。
在编码器复杂度相同的情况下,卷积码的性能优于分组码。
故在GSM、IS-95系统(窄带CDMA系统)、第三代移动通信系统中都利用卷积码作为前向纠错码。
1.2国内外研究现状
在研究卷积码时,提高卷积码的速度和可靠度是重点。
而卷积码本身的编码器结构简单,特别是Viterbi译码算法使得软件的开发,仿真还有实现都得到了快速的发展。
目前,可利用计算机设定不同情况下的卷积编码,来进行仿真设计,并找到适合Viterbi算法最适宜的信道和编码。
1.3本课题的意义
为了减小信道噪声和干扰对译码输出的影响,通常需要对信息码元进行信道编码。
信道编码在发送端对信息码元添加监督码元,在接收端利用信息码元与监督码元之间的规律,发现和纠错,以提高信息码元传输可靠性。
由于卷积码的纠错能力强,Viterbi算法计算快,效率高,所以卷积码应用与移动通信领域很广泛,特别是在卫星通信领域和蜂窝网通信系统领域占有重要地位。
1.4本课题的研究方法
本文通过基于IS-95系统移动台发射机中卷积编码为例,利用MATLAB的SIMULINK下的模块进行卷积编码,译码进行仿真,对仿真结果进行数据分析,得出卷积码Viterbi译码的误码率性能和回溯长度,码率,约束长度的关系。
2卷积码的基本概念
2.1卷积码
卷积码是由伊利亚斯发明的一种非分组码,它是一种性能优越的信道编码,其编码器和译码器结构相对简单,并且具有较强的纠错能力。
卷积码表示为(n,k,N),将k比特的信息段编成n个比特的码组,N为编码约束度,表示一个码组中的监督码元监督着N个信息段。
nN为编码约束长度,k/n为码率。
编码约束长度和编码率是衡量卷积码的两个重要参数。
2.2卷积码编码原理
2.2.1卷积编码的概述
卷积码得编码描述方式有很多种:
冲激响应描述法、生成矩阵描述法、多项式乘积描述法、状态图描述法、树图描述法、网络图描述法等。
卷积码的纠错能力随着N的增加而增大,而差错率随着N的增加而指数下降。
在编码器复杂性相同的情况下,卷积码的性能优于分组码。
卷积码虽然可以采用适用于分组码的门限译码,但性能不如Viterbi译码和序列译码。
2.2.2卷积编码
图1所示为卷积码编码器一般原理方框图。
编码器由三种主要元件构成,包括Nk级移存器、n个摸2加法器和一个旋转开关。
每个模2加法器的输入端数目可以不同,它连接到一些移存器的输出端。
模2加法器的输出端接到旋转开关上。
将时间分成等间隔的时隙,在每一个时隙中有k比特从左端进入移存器,并且移存器各级暂存的信息向右移k位。
旋转开关每时隙旋转一周,输出n比特(n>
k)。
图1卷积码编码器一般原理方框图
图2是卷积码(3,1,3)卷积编码器的方框图。
左边是信息的输入。
右边是编码输出。
中间有3级移存器、3个模2加法器和一个旋转开关。
每个时隙中,只有1b输入信息进入移存器,并且移存器各级暂存的内容向右移1位,开关旋转一周输出3比特。
其中k=1,n=3,故码率R=1/3。
约束长度nN=9。
图2卷积码(3,1,3)卷积编码器的方框图
2.2.3卷积码的树状图
图3卷积码(3,1,3)树状图
对于图2所示的(3,1,3)卷积编码电路,其树状图如图3所示。
将图2中移存器1,2和3的初始状态000作为码树的起点。
现规定:
输入信息位为“0”,则状态向上半部移动;
输入信息位为“1”,则状态向下半部移动。
设现在的输入码元序列为1101,则当第1个信息位b
=1输入后。
各移存器存储的信息分别为1,0,0。
此时的输出为c
c
=111,码树的状态将从起点a向下到达状态b。
然后再分别以这两条支路的终结点a和b作为处理下一位输入信息的起点,从而得到8条支路。
以此类推,可以得到整个树状图。
由此码树图还可以看到,从第四级支路开始,码树的上半部和下半部相同。
这意味着,从第四个输入信息位开始,输出码元已经与第一位输入信息位无关,即此编码器的约束度N=3。
2.2.4卷积码的网络图和状态图
图4卷积码(3,1,3)网络图
如图4所示为卷积码(3,1,3)网络图,网格图中,码树中具有相同状态的节点合并在一起;
码树中的上支路用实线表示,下支路用虚线;
支路上标注的码元为输出比特;
自上而下的4行节点分别表示a、b、c、d的四种状态。
图5卷积码(3,1,3)状态图
图5所示为卷积码(3,1,3)的状态图,虚线表示输入信息位为“1”时状态转变的路线;
实线表示输入信息位为“0”时状态转变的路线。
线条旁的3位数字是编码输出比特。
利用这个状态图可以方便地从输入序列得到输出序列。
2.2.5卷积码的解析表示
卷积码除了上述三种图解法表示外,还有解析表示的方法来描述卷积码,即延时算子多项式。
其表示方法为将编码器中移位寄存与模2和的连接关系以及输入、输出序列都表示为延时算子D的多项式。
通常,输入序列可表示为:
M(D)=m
+m
D+m
D
+…(2-1)
其中m1、m2、m3、m4…为输入比特的二进制表示(1或0),哑变量D的幂次等于相对于时间起点的单位延时数目,时间起点通常选在第一个输出比特。
若某级寄存器与模2和相连,则多项式中相应项的系统为1,否则为0(表示无连接)。
以图2为例,卷积码(3,1,3)的连接关系可表示为:
G
(D)=1
(D)=1+D
(D)=1+D+D
(2-2)
将表示移位寄存器与模2和连接关系的多项式称为生成多项式,由生成多项式用多项式相乘可计算出输出序列。
常用二进制或者八进制序列表示生成多项式。
卷积码的图解和解析表示方法各有各自的特点,利用网络图可以分析卷积码得译码算法,而延时算子多项式法又可以很方便的表示出卷积编码器的生成多项式。
2.3卷积码的解码
2.3.1卷积码解码概述
卷积码的解码方法可以分为两类:
代数解码和概率解码。
代数解码是利用编码本身的代数结构进行解码,不考虑信道的统计特性。
大数逻辑解码,又称门限解码,是卷积码代数解码的最主要一种方法,它可以应用于循环码的解码。
大数逻辑解码对于约束长度较短的卷积码最为有效,而且设备较简单。
概率解码(又称最大似然解码)则是基于信道的统计特性和卷积码的特点进行计算。
首先由沃增克拉夫特(Wozencraft)针对无记忆信道提出的序贯解码就是概率解码方法之一;
另一种概率解码方法是维特比(Viterbi)算法。
当码得约束长度较短时,它比序贯解码算法的效率更高、速度更快。
2.3.2维特比解码算法
维特比解码算法是维特比于1967年提出的。
这种算法的基本原理是将接收到的信号序列和所有可能的发送信号序列比较,选择其中汉明距离最小的序列认为是当前发送信号序列。
若发送一个k位序列,则有2
种可能的发送序列。
计算机应存储这些序列,以便用作比较。
当k较大时,存储量太大,使实用受到限制。
维特比对此作了简化,使之能够实用。
由于信息序列、编码序列有着一一对应的关系,而这种关系又唯一对应网络图的一条路径,因此解码就是根据接收序列R在网络图上全力搜素编码器在编码时所经过的路径,即寻找与R有最小汉明距离的路径。
维特比译码就是基于最大似然法则的最重要的卷积码解码方法。
但它不是一次计算和比较2
条路径,而是采用逐步比较的方法来逼近发送序列的路径。
所谓逐步逼近比较就是把接收序列的第j个分支码字和网络图上相应的两个时刻t
和t
之间的各支路作比较,即和编码器在此期间可能输出的分支码字作比较,计算和记录它们的汉明距离,同时把它们分别累积加到t
时刻之前的各支路累加的汉明距离上。
比较累加结果并进行,保留汉明距离最小的一条路径(称为幸存路径),其余的被删除。
所以t
时刻进入每个节点的路径只有一条,且均为幸存路径。
这一过程直到接收序列的分支码字全部处理完毕,具有最小汉明距离的路径即判决为发送序列。
由上述可知,维特比算法的过程很简单,即接收,计算,选择,得到一个最大似然函数的序列。
3IS-95A系统
3.1IS-95A系统概述
CDMA蜂窝系统最早由美国的高通公司成功开发,并且很快由美国电信工业协会于1993年形成标准,即为IS-95标准,这也是最早的CDMA系统的空中接口标准。
随着技术的不断发展,在随后几年中,该标准经过不断修改,逐渐形成了IS-96A、IS-95B等一系列标准。
为了与第三代采用5MHz带宽的CDMA系统区分,将IS-95CDMA系统称为N-CDMA(窄带CDMA)系统。
IS-95ACDMA系统的工频段是800MHz,采用频分双工的模式,采用码片速率为1.2288M码片/s的PN码进行扩频,系统带宽为1.25MHz。
IS-95A系统采用的主要关键技术有:
功率控制,软切换和多种形式的分集技术。
3.2IS-95A下行链路
下行链路指由基站发往移动台的无线通信链路,也称作前向链路。
IS-95系统下行链路最多可以有64个同时传输的信道,它们是在PN序列上再采用正交的Walsh码进行区分的信道,采用同一个射频载波发射。
而来自不同基站的下行链路信号则是通过PN短码的不同相位偏置来区分。
下行链路的码分物理信道采用的正交码为64阶的Walsh函数,即生成的Walsh序列长度为64个码片。
正交信号共有64个Walsh码型,记作W
W
,W
…,W
。
因此,可提供的码分物理信道共64个。
利用码分物理信道可以传送不同功能的信息,按照所传送信息的功能的不同而分类的信道称为逻辑信道。
下行链路中的逻辑信道有:
1个导频信道、1个同步信道、至多7个寻呼信道以及多个下行业务信道,共计64个,如图6所示。
图6IS-95下行链路信道结构
IS-95系统下行链路各个信道的处理过程如图7所示,图中详细给出了各个信道的产生过程以及主要的处理参数。
图7IS-95下行链路信道处理
由图可见,对于每个逻辑信道,对输入的数据都进行了信道编码(采用编码速率为1/2、约束长度为9的卷积编码)。
3.3IS-95A上行链路
上行链路指由移动台发往基站的无线通信链路,也称作反向链路。
IS-95系统中,上行链路的码分物理信道是由长度为2
-1的PN长码构成的,使用长码的不同相位偏置来区分不同的用户。
上行链路的逻辑信道包括:
接入信道和上行业务信道。
每个移动台或者使用接入信道,或者使用业务信道,但是不能同时发送两个信道。
上行链路没有导频信道,因此,基站接收上行链路信号时,只能使用非相干解调。
在上行链路上,长码PN
和PN
分别为接入信道和上行业务信道提供码分物理信道。
最多可设置的接入信道数n=32,对应的物理信道为PN
至PN
;
最多可设置的上行业务道数m=64,对应的物理信道为PN
上行链路的信道结构如图8所示。
图8上行链路信道结构
IS-95系统上行链路的接入信道和业务信道的处理过程如图9所示,图中详细给出了其处理过程以及主要的处理参数。
图9上行链路信道处理
由图可见,对输入的数据依然要进行信道编码(采用编码速率为1/3、约束长度为9的卷积编码)。
卷积码在CDMA/IS-95系统得到广泛应用,在前向和反向信道,系统都使用了约束长度K=9的编码器。
其中前向信道编码率r=1/2,连接矢量为G
=(111101011)
(753),G
(101110001)
(561),自由距离为d
=12。
反向信道编码率为r=1/3,编码器的连接矢量为G
=(101101111)
(557),G
=(110110011)
(663),G
=(111001001)
(711),自由距离d
=18。
4软件部分
Matlab是矩阵实验室(matrixlaboratory)的简称,是美国mathworks公司出品的商业数学软件,于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。
Simulink是matlab最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。
在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。
Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和移动通信系统的复杂仿真和设计。
同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。
Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。
Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。
为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI),这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。
5仿真结果及数据分析
5.1卷积码的仿真
在Matlab中的Simulink模块下进行卷积码的仿真。
首先建立卷积码的模块并连接。
图10卷积码编解码基本框图
如图10所示为卷积码编解码基本框图,首先由BernoulliBinaryGenerator(贝努力二进制序列产生器)产生一个0,1等概序列,经过ConvolutionalEncoder(卷积编码器)对进入的二进制序列进行卷积编码,加入到BSC(二进制对称信道)后送入ViterbiEncoder(维特比解码器)进行硬判决解码。
将编解过的信号Goto1与之前发送过的信号From1送入到ErrorRateCalculation(误码统计)进行误码统计,最后由Selector(数据选通器)输出到Display(显示)并将结果输出到ToWorkspace(工作区间)。
5.1.1SIMULINK模块下的模块参数设置以及参数的意义
在图10所示模块基础上,分别对各个模块进行参数设置并且运行仿真。
图11贝努利二进制序列产生器模块的设置框图
如上图11所示是贝努利二进制序列产生器模块的设置框图,其中参数有:
probabilityofazero取值为0.5,表示0和1出现的概率相等。
Initialseed表示随机种子数。
不同的随机种子数将产生不同的二进制序列,特定的随机种子数可以产生一个特定的二进制序列。
Sampletime=1/9600表示抽样时间,也就是说输出序列中每个二进制符号的持续时间是1/9600秒。
Samplesperframe表示每帧的抽样数用来确定每帧的抽样点的数目。
Frame-basedoutputs是用来确定帧的输出格式。
Outputdatatype表示输出类型选择double表示双输出。
图12卷积编码器模块设置框图
如上图12所示是卷积编码器模块设置框图。
其中Trellisstructure(Trellis结构)中通过poly2trellis()函数把卷积码的约束长度,生成多项式以及反馈多项式转换成Trellis结构的形式。
如上面是(3,1,9)卷积码的参数设置。
(9,[557,663,711])说明约束长度是9,生成多项式是(八进制)557、663和711,无反馈多项式。
后面还要用到的(2,1,9)的参数是(9,[753,561])是约束长度是9,生成多项式是753和561。
Operationmode表示运作模式,这里选择Truncated(reseteveryframe)它表示卷积码编码器在每帧数据开始之前自动对寄存器复位。
图13卷积码解码器模块设置框图
如上图13所示为卷积码解码器模块设置框图,Trellisstructure(前面有介绍),Decisiontype表示的是判决的类型,而这里选择Harddecision表示的是硬判决。
Tracebackdepth表示的是反馈的深度,它的值会影响译码精度和解码延迟。
Operationmode是指操作模式。
在Truncated模式下,解码器在每帧数据结束的时候总能恢复到全0状态,它与卷积编码器的reseteveryfram复位方式相对应。
图14误比特统计模块设置框图
如上图14所示为误比特统计模块设置框图。
其中Receivedelay表示接收延迟,意思是在通信接收端口需要对接收到的信号进行解调,解码或解交织而带来一定的延迟,使得到达误码统计模块接收端的信号滞后于发送端的信号。
为了补偿这种延迟这里设置为0。
Computationdelay表示计算延迟,在仿真过程中,有时间需要忽略最初的若干个输入数据就通过计算延迟来实现。
这里设置为0。
Computationmode表示计算模式,帧的计算模式(Entireframe),误码统计模块对发送端和接收端的所有输入数据进行统计。
outputdata是输出数据,这里设置为Port的意思是表示把统计数据从端口中输出。
workspace表示把统计数据输出到工作区。
5.2基于IS-95系统仿真
5.2.1IS-95系统中移动台发射机为例的仿真
下面将以卷积码(3,1,9)来建立模块进行仿真,由于IS-95系统移动台发射机采用的是IS-95系统的上行链路(即反向链路),反向链路采用的是信道编码率为1/3,约束长度K=9的编码器。
图15卷积码(3,1,9)仿真结果图
卷积码(3,1,9)仿真用到的程序如下:
%x表示二进制对称信道的误比特率的各种取值
x=[0.010.020.030.040.050.10.150.20.250.30.40.5];
%y表示卷积编码信号的误码率,它的长度与x的长度相等
y=x;
%对x中的每一个元素依次进行仿真
fori=1:
length(x)
%将二进制对称信道的误比特率设置为x的第i个元素的数值
BitErrorRate=x(i);
%运行仿真,仿真结果保存在向量DecodeErrorRate中
sim('
p5_2'
);
%计算DecodedErrorRate的平均值作为卷积编码信号的误码率
y(i)=mean(DecodedErrorRate);
end
%绘制x和y的对数关系曲线图
loglog(x,y);
holdon;
xlabel('
ChannelBitErrorRate'
ylabel('
ConvolutionalCodedBitErrorRate'
5.2.2IS-95系统前向和反向链路的对比仿真
以IS-95系统为例