搜档网
当前位置:搜档网 › 基于matlab的2-3卷积码编码译码设计与仿真

基于matlab的2-3卷积码编码译码设计与仿真

基于matlab的2-3卷积码编码译码设计与仿真
基于matlab的2-3卷积码编码译码设计与仿真

西南科技大学

方向设计报告

课程名称:通信工程方向设计

设计名称:2/3卷积码编译码器仿真与性能分析

姓名:

学号:

班级:

指导教师:

起止日期:2011.12.12-2012.1.6

西南科技大学信息工程学院制

方向设计任务书

学生班级:学生姓名:学号:

设计名称:2/3卷积码编译码器仿真与性能分析

起止日期:2011.12.12-2012.1.6指导教师:

设计要求:

(1)分析2/3卷积码编码器结构;

(2)分析2/3卷积码译码的Viterbi算法;

(3)基于SIMULINK进行2/3卷积码的纠错性能仿真;

方向设计学生日志

时间设计内容

12.15-12.17 查看题目及设计要求。

12.18-12.23 查阅相关资料,设计方案。

12.23-12.27 编写报告及调试程序。

12.28-12.29 完善修改课程设计报告。

12.30-12.31 答辩。

方向设计考勤表

周星期一星期二星期三星期四星期五

方向设计评语表

指导教师评语:

成绩:指导教师:

年月日

2/3卷积码编译码器仿真与性能分析

摘要:

卷积码是一种性能优越的信道编码。它的编码器和译码器都比较容易实现,同时它具有较强的纠错能力。随着纠错编码理论研究的不断深入,卷积码的实际应用越来越广泛。本文简明地介绍了卷积码的编码原理和Viterbi译码原理。并在SIMULINK模块设计中,完成了对卷积码的编码和译码以及误比特统计整个过程的模块仿真。最后,通过在仿真过程中分别改变卷积码的重要参数来加深理解卷积码的这些参数对卷积码的误码性能的影响。经过仿真和实测,并对测试结果作了分析。

关键词:

卷积码编码器、viterbi译码器、SIMULINK

目录

一设计目的和意义........................................... 错误!未定义书签。二设计方法................................................. 错误!未定义书签。三设计原理................................................. 错误!未定义书签。

3.1 卷积码的基本概念 (1)

3.2 卷积码的结构 (2)

3.3 卷积码的图解表示 (3)

3.3.1 卷积码的树状图 (3)

3.3.2 卷积码网格图 (4)

3.4卷积码的解析表示 (4)

3.5 卷积码的译码 (5)

3.5.1 卷积码译码的方式 (5)

3.5.2 卷积码的viterbi译码 (6)

四 SIMULINK下的仿真设计 (7)

4.1 SIMULINK下卷积码的仿真 (7)

4.1.1 SIMULINK仿真模块参数设置及意义 (8)

4.2 改变卷积码参数分析 (17)

4.2.1 回溯长度对卷积码的影响........................ 错误!未定义书签。

4.2.2 约束长度对卷积码的影响 (19)

五心得体会................................................. 错误!未定义书签。六参考文献................................................. 错误!未定义书签。

一、设计目的和意义

因为信道中信号不可避免会受到干扰而出错。为实现可靠性通信,主要有两种途径:一种是增加发送信号的功率,提高接收端的信号噪声比;另一种是采用编码的方法对信道差错进行控制。前者常常受条件限制,不是所有情况都能采用。而编码理论可以解决这个问题,使得成本降低,实用性增强。

随着现代通信的发展,卷积码以其高速性和可靠性在实际应用中越来越广泛。1967年Viterbi译码算法的提出,使卷积码成为信道编码中最重要的编码方式之一。在卷积码中,因为Viterbi算法效率高,速度快,结构相对简单等特点,被广泛应用于各种数据传输系统。特别是深空通信、卫星通信系统中。因此采用Viterbi译码算法具有非常现实的意义。

二、设计方法

本文在分析卷积码编译码器原理的基础上,通过基于MATLAB的SIMULINK下的模块对卷积编码,解码进行仿真。通过仿真可以更清楚的认识到卷积码的编码,解码的各个环节,并对仿真结果进行了分析。得出卷积码Viterbi译码的误比特性能和回溯长度,码率,约束长度的关系。

三、设计原理

3.1 卷积码基本概念

卷积码是一种性能优越的信道编码。(n ,k ,N) 表示把k个信息比特编成n 个比特,N 为编码约束长度,说明编码过程中互相约束的码段个数。卷积码编码后的n 个码元不仅与当前组的k 个信息比特有关,而且与前N - 1 个输入组的信息比特有关[6]。编码过程中相互关联的码元有N ×n 个。R = k/ n 是卷积码的码率,码率和约束长度是衡量卷积码的两个重要参数。

卷积码的编码描述方式有很多种:冲激响应描述法、生成矩阵描述法、多项式乘积描述法、状态图描述,树图描述,网格图描述等。卷积码的纠错能力随着N的增加而增大,而差错率随着N的增加而指数下降。在编码器复杂性相同的情况下,卷积码的性能优于分组码。分组码的译码算法可以由其代数特性得到。卷积码虽然可以采用适用于分组码的门限译码(即大数逻辑译码),但性能不如维特比译码和序列译码

3.2 卷积码的结构

图2-1

卷积码的编码器一般都比较简单。下图2-1是一般情况下的卷积码编码器框图。它包括:一个由N段组成的输入移位寄存器,每段有k级,共Nk位寄存器;一组n个模2和相加器;一个由n级组成的输出移位寄存器。对应于每段k个比特的输入序列,输出n个比特。由图可知,n个输出比特不但与当前k个比特的输入比特有关,而且与以前的(N-1)k个输入信息有关。整个编码过程可以看成是输入信息序列与由移位寄存器和模2加法器的连接方式所决定的另一个序列的卷积,卷积码由此得名。

图2-2

如图2-2是卷积码(3,2,2)卷积编码器的一个框图。左边是信息的输入。

下面分别是系统位输出和校验位输出。其中间是四个移位寄存器和三个模2加法器。简单的说就是信息位经过移位寄存器和一个模2加法器产生一个系统位和校验位加在一起输出。可以看出:每输入一个比特,移位寄存器中就向右移动一个位子。原来的第四个寄存器就被移出。可见卷积编码不只与现在的输入比特有关还与前面的1个比特有关。在这里,其中约束长度是N=2,k=2 ,n=3所以码率R=k/n=2/3。

3.3 卷积码的图解表示

3.3.1 卷积码的树状图

对于图2-2所示的(3,2,2)卷积码编码电路,其树状图如下图2-3所示。若寄存器初始状态为全0,第一组输入的两个信息比特可以是:00,01,10,11,与他们对应的输出比特是000,010,111,101。第二组两个输入比特进入移位寄存器时,第一组两个输入比特右移到右边那组寄存器,此时输出比特不但取决于当前的二个输入比特,而且取决于第一组的二个输入比特。由于每组输入两个比特,因此树状图每个节点有2的平方条支路。由于约束长度为2从第二级后开始重复出现4种状态,可以得到整个树状图。如下图2-3

图2-3

3.3.2 卷积码的网格图

如下图2—4是(3,2,2)卷积编码的网格图。

图2-4 (3,2,2)卷积编码的网格图

图2-5 (3,2,2)卷积码的状态图

3.4 卷积码的解析表示

除上述图解表示方法外,常常还用解析表示方法描述卷积码,即延时算子多

项式。在延时算子多项式表示中,编码器中的移位寄存器与模2加法器的连接关系以及输入、输出序列都表示为延时算子D 的多项式。在一般情况下,输入序列可表示为:

...M(D)2321D m D m m ++= (2-1)

变量D 的幂的次数等于相对于时间起点的单位延时数目,时间起点通常选在第1个输出比特,ml,m2,m3,m...为输入比特的二进制表示(1或0)。用D 算子多项式表示移位寄存器各级与各模2项连接关系时。若某级寄存器与某模2和相连,则多项式中相应项的系数为1,否则为0(表示无连接)。

通常把表示移位寄存器与模2和连接关系的多项式称为生成多项式,因为由它们可以用多项式相乘计算出输出序列。卷积码的图解与解析表示方法各有特点。用延时算子多项式表示卷积码编码器的生成多项式最为方便。网格图对于分析卷积码的译码算法十分有用。

3.5 卷积码的译码 3.5.1 卷积码译码的方式

卷积码的译码方式有三种:(1)1963年由梅西((Massey)提出的门限译码,这是一种基于码代数结构的代数译码,类似于分组码中的大数逻辑译码;(2) 1963年由费诺(Fano)改进的序列译码,这是基于码的树状图结构上的一种准最佳的概率译码;(3) 1967年由维特比提出的Viterbi 算法。这是基于码的网(trellis)图基础上的一种最大似然译码算法,是一种最佳的概率译码方法。其中,代数译码,利用编码本身的代数结构进行译码,不考虑信道本身的统计特性。该方法的硬件实现简单,但性能较差,其中具有典型意义的是门限译码。另一类是概率译码,这种译码通常建立在最大似然准则的基础上。由于计算是用到了信道的统计特性.因而提高了译码性能,但这种性能的提高是以增加硬件的复杂度为代价的。常用的概率译码方法有维特比译码和序列译码。维特比译码具有最佳性能,但硬件实现复杂;门限译码性能最差,但硬件简单;序列译码在性能和硬件方面介于维特比译码和门限译码之间。

3.5.2 卷积码的Viterbi译码

卷积码概率译码的基本思路是:以接收码流为基础,逐个计算它与其他所有可能出现的、连续的网格图路径的距离,选出其中可能性最大的一条作为译码估值输出。概率最大在大多数场合可解释为距离最小,这种最小距离译码体现的正是最大似然的准则。卷积码的最大似然译码与分组码的最大似然译码在原理上是一样的,但实现方法上略有不同。主要区别在于:分组码是孤立地求解单个码组的相似度,而卷积码是求码字序列之间的相似度。基于网格图搜索的译码是实现最大似然判决的重要方法和途径。用格图描述时,由于路径的汇聚消除了树状图中的多余度,译码过程中只需考虑整个路径集合中那些使似然函数最大的路径。如果在某一点上发现某条路径已不可能获得最大对数似然函数,就放弃这条路径,然后在剩下的“幸存”路径中重新选择路径。这样一直进行到最后第L级(L 为发送序列的长度)。由于这种方法较早地丢弃了那些不可能的路径,从而减轻了译码的工作量,Viterbi译码正是基于这种想法。对于(n, k, K )卷积码,其网格图中共2kL种状态。由网格图的前K-1条连续支路构成的路径互不相交,即最初2k_1条路径各不相同,当接收到第K条支路时,每条路径都有2条支路延伸到第K 级上,而第K级上的每两条支路又都汇聚在一个节点上。在Viterbi译码算法中,把汇聚在每个节点上的两条路径的对数似然函数累加值进行比较,然后把具有较大对数似然函数累加值的路径保存下来,而丢弃另一条路径,经挑选后第K级只留下2K条幸存路径。选出的路径同它们的对数似然函数的累加值将一起被存储起来。由于每个节点引出两条支路,因此以后各级中路径的延伸都增大一倍,但比较它们的似然函数累加值后,丢弃一半,结果留存下来的路径总数保持常数。由此可见,上述译码过程中的基本操作是,“加-比-选”,即每级求出对数似然函数的累加值,然后两两比较后作出选择。有时会出现两条路径的对数似然函数累加值相等的情形,在这种情况下可以任意选择其中一条作为“幸存”路径。

卷积码的编码器从全零状态出发,最后又回到全零状态时所输出的码序列,称为结尾卷积码。因此,当序列发送完毕后,要在网格图的终结处加上(K-1)个己知的信息作为结束信息。在结束信息到来时,由于每一状态中只有与已知发送信息相符的那条支路被延伸,因而在每级比较后,幸存路径减少一半。因此,在接收到(K-1)个己知信息后,在整个网格图中就只有唯一的一条幸存路径保

留下来,这就是译码所得的路径。也就是说,在己知接收到的序列的情况下,这条译码路径和发送序列是最相似的。

由上述可见,Viterbi译码过程并不复杂,译码器的运行是前向的、无反馈的。它接收一段,计算一段,选择一段最可能的码段(分支),从而达到整个码序列是一个有最大似然函数的序列。传输序列很长时,判决需要的长延时和相当大的存储量是我们无法承受的。

因此,实际应用中采用截短Viterbi算法,即不需要接收到所有序列才进行判决,当译码器接收并处理完了固定的T (T <

四、SIMULINK下仿真设计

4.1 卷积码的仿真

图4-1卷积码的编码译码框图

如上图4-1的信号流程可以表示为先由Bernoulli Binary Generator(贝努利二进制序列产生器)产生一个0,1等概序列,经过Convolutional Encoder(卷积编码器)对输入的二进制序列进行卷积编码,并用BPSK调制方式调制信号。加入信道噪声(高斯白噪声)后再经过BPSK解调制后送入Viterbi Decoder(Viterbi 译码器)进行硬判决译码。最后经过Error Rate Calculation(误码统计)后由Display (显示)输出。然后通过Selector(数据选通器)将结果输出到To workspace(工作区间)。

4.1.1 SIMULINK仿真模块的参数设置及意义

在建立如图4-1的仿真模块后,对各个模块分别一一进行设置后并运行仿真。

图4-2贝努利二进制序列产生器模块的设置框图

如上图4-2是贝努利二进制序列产生器模块的设置框图,其中参数有三项:第一项probability of a zero取值为0.5,表示0和1出现的概率相等。Initial seed 表示随机种子数。不同的随机种子数将产生不同的二进制序列,特定的随机种子数可以产生一个特定的二进制序列。Sample time=0.0001表示抽样时间,也就是说输出序列中每个二进制符号的持续时间是0.0001秒。Samples per frame 表示每帧的抽样数用来确定每帧的抽样点的数目。Output date type 是用来确定帧的输出格式。

Poly2trellis()函数的参数计算

(1,1)连接情况是第一、第四和第一

个相连所以用向量表示为

"10011"用八进制表示为

"23"(1,2)="11,101"="35";(1,3)="0

000"="0";(2,1)="0000"="0";(2,2)=

"0,101"="05";(2,3)="1,011"="13"

,最后得到[23,35,0;0,05,13]。

图4-4卷积编码器模块的设置框图

如上图4-4是卷积编码器模块的设置框图。其中Trellis structure(Trellis结构)中通过poly2trellis()函数把卷积码的约束长度,生成多项式以及反馈多项式转换成Trellis结构的形式。

图4-3 BPSK调制器模块的设置框图

如上图4-3是BPSK调制器模块的设置框图。Phase offset(rad)(相位偏移),这里设置为0。

图4-5误比特统计模块的设置框图

如上图4-5是误比特统计模块的设置框图。其中Receive delay表示接收延迟,意思是在通信接收端口需要对接收到的信号进行解调,解码或解交织而带来一定的延迟,使得到达误码统计模块接收端的信号滞后于发送端的信号。为了补偿这种延迟这里设置为0。Computation delay表示计算延迟,在仿真过程中,有时间需要忽略最初的若干个输入数据就通过计算延迟来实现。这里设置为0。Computation mode表示计算模式,帧的计算模式(Entire frame),误码统计模块对发送端和接收端的所有输入数据进行统计。output data是输出数据,这里设置为Port的意思是表示把统计数据从端口中输出。workspace表示把统计数据输出到工作区。

图4-6 数据选通器模块的设置框图

如上图4-6是数据选通器模块的设置框图。Input port width表示输入端口的个数为3。

图4-7卷积码译码器模块的设置框图

如上图4-7是卷积码译码器模块的设置框图。Trellis structure: Trellis结构(前

面已说明)。Decision type是指判决类型,有3种:(1)Unquantized(非量化)(2)Hard Decision(硬判决),(3)Soft Decision(软判决)Traceback depth表示反馈深度。它的值会影响译码精度和解码延迟。Operation mode是指操作模式。在Truncated模式下,解码器在每帧数据结束的时候总能恢复到全0状态,它与卷积编码器的on each frame复位方式相对应。

4.2 改变卷积码的参数分析

4.2.1回溯长度对卷积码的影响

将译码模块中的Traceback depth分别设置为20,35,50并在一个图中画出这三种方式下的误码性能曲线得到下图4-8。从上到下的三条曲线分别是Traceback depth为20,35,50。可以看出:回溯长度在Viterbi 译码过程中一个很重要的参数,他决定了译码延迟,随着他的不断变化,误码性能也随误比特率曲线可以清楚地看到,当回溯长度一定时,随着信道噪声的逐渐提高,系统的误比特率逐渐降低;当回溯长度逐渐增加,系统的误比特率随之逐渐降低,当回溯程度τ增加一定程度时,误比特率数值趋于稳定。

图4-8回溯长度对卷积码误码性能的影响

不同回溯长度对卷积码误码性能的影响程序如下:

x=-10:5; %x表示信噪比

y=x; % y表示信号的误比特率,它的长度与x相同

hold off; %准备一空白图形

%重复运行convh.mdl,检验不同条件下硬判决译码的性能

for i=1:length(x)

SNR=x(i); %信道的信噪比依次取x中的元素

sim('juanjima'); %运行仿真程序,误比特率保持在BitErrorRate中

y(i)=mean(BitErrorRate); %计算BitErrorRate的均值作为本次仿真的误比特率end

semilogy(x,y); %绘制x和y的关系曲线图,纵坐标采用对数坐标

hold on; %保持已经绘制的图形

for i=1:length(x)

SNR=x(i);

sim('juanjima2');

y(i)=mean(BitErrorRate);

end

semilogy(x,y);

hold on;

for i=1:length(x)

SNR=x(i);

sim('juanjima3');

y(i)=mean(BitErrorRate);

end

semilogy(x,y);

xlabel('SNR')

ylabel('BitErrorRate')

grid on;

4.2.2约束长度对卷积码的影响

如下图4-10,对于码率一定的卷积码,当约束长度N 发生变化时,系统的误码性能也会随之发生变化, 我们以码率R = 2/3的([5,4],[23,35,0;0,05,13])和([3,2],[7,3,0;0,3,3]) 卷积码为例展开分析。较弯曲的曲线是([5,4],[23,35,0;0,05,13)卷积码的误码性能曲线。较直的曲线是([3,2],[7,3,0;0,3,3])卷积码的误码性能曲线。从图4-4中的误比特率曲线可以看到,当码率为2/3一定时,在SNRt时,增加约束长度可以降低系统的误比特率。

图4-10约束长度对卷积码误码性能的影响

分析不同约束长度对卷积码误码性能影响用到的程序如下:

x=0:5;

y=x;

for i=1:length(x)

SNR=x(i);

sim('juanjima');

y(i)=mean(BitErrorRate);

end

semilogy(x,y);

hold on;

for i=1:length(x)

SNR=x(i);

sim('juanjima2');

y(i)=mean(BitErrorRate);

end

semilogy(x,y);

xlabel('SNR')

ylabel('BitErrorRate')

五、心得体会

对于这个课题。刚拿到手的时候觉得真是无从下手。以前没有接触到,不知道从哪里开始。还好最后在《现代通信原理》这本书上找到了相关知识的介绍。我又通过在互联网上查找资料和向老师请教咨询,总算把此次设计完成了。尤其是秦老师的指导,让我少走了不少弯路。设计中要用到的Simulink仿真软件,我接触的不多,借助于相关资料,通过自己的努力和老师的帮助,最终掌握了仿真的基本方法。理论方面,在深入了解了用于卷积码的Viterbi译码算法基本原理后,进一步将其拓展到SIMULINK模块仿真方面的应用,对卷积码编码译码有了一个系统的认识。经过很多次的尝试我终于完成了这次课程设计。这次课程设计我了解了很多课本中没有的东西。包括一些软件的使用,运行,模块的数据调试。我获益良多,我会继续努力,学习更多的知识。

六、参考文献

[1] 《MA TLAB基础与编程入门》西安电子科技大学出版社张威编

[2] 《现代通信原理》清华大学出版社曹志刚、钱亚生编

卷积码的编解码Matlab仿真

卷积码的编解码Matlab仿真摘要 卷积码是一种性能优越的信道编码。它的编码器和译码器都比较容易实现,同时它具有较强的纠错能力D随着纠错编码理论研究的不断深入,卷积码的实际应用越来越广泛。本文简明地介绍了卷积码的编码原理和译码原理o并在SIMULINK模块设计中,完成了对卷积码的编码和译码以及误比特统计整个过程的模块仿真。最后,通过在仿真过程中分别改变卷积码的重要参数来加深理解卷积码的这些参数对卷积码的误码性能的影响。经过仿真和实测,并对测试结果作了分析。得出了以下三个结论z (1)当改变卷积码的码率时,系统的误码性能也将随之发生变化。 (2)对于码率一定的卷积码,当约束长度N发生变化时,系统的误码性能也会随之发生变化。 (3)回溯长度也会不同程度上地影响误码性能。 关键词:卷积码:码率:约束长度:回溯长度

Simulation and Research on Encoding and Decoding of Convolution Code Abstract Convolution code has a superior performance of the channel code. It is easy to coding and decoding.An d it has a strong ability to correct e盯ors. As correcting coding theory has a long development,the practice of convolution code is more and more extensive.In由1S由esis,the principle of convolution coding and decoding is introduced simply白rstly. Then由e whole simulation module process of encoding,decoding and the Error Rate Calculation is completed in由is design. Finally,in order to understand 由eir performances of error rate,many changes in parameters of convolution code are calculated in the simulation process.Af ter simulation and me皿UTe,an analysis of test results is presented.Th e following由ree conclusions are draw: (l)Wh en the rate of convolution Code ch皿ges,HER performance of the systemwill change. (2) For a certain rate of convolution code,when由ere is a change in the constraint length of N,BER perfonnance of由e system will change. (3) Re位ospec咀ve length will affect BE R. Key words: convolution code; rate; cons缸aint leng由; retrospective length;

卷积码编码和维特比译码

卷积码编码维特比译码实验设计报告 SUN 一、实验目的 掌握卷积码编码和维特比译码的基本原理,利用了卷积码的特性, 运用网格图和回溯以得到译码输出。 二、实验原理 1.卷积码是由连续输入的信息序列得到连续输出的已编码序列。其编码器将k个信息码元编为n个码元时,这n个码元不仅与当前段的k个信息有关,而且与前面的(m-1)段信息有关(m为编码的约束长度)。 2.一般地,最小距离d表明了卷积码在连续m段以内的距离特性,该码可以在m个连续码流内纠正(d-1)/2个错误。卷积码的纠错能力不仅与约束长度有关,还与采用的译码方式有关。 3. 维特比译码算法基本原理是将接收到的信号序列和所有可能的发送信号序列比较,选择其中汉明距离最小的序列认为是当前发送序列。卷积码的Viterbi 译码是根据接收码字序列寻找编码时通过网格图最佳路径的过程,找到最佳路径即完成了译码过程,并可以纠正接收码字中的错误比特。 4.所谓“最佳”, 是指最大后验条件概率:P( C/ R) = max [ P ( Cj/ R) ] , 一般来说, 信道模型并不使用后验条件概率,因此利用Beyes 公式、根据信道特性出结论:max[ P ( Cj/ R) ]与max[ P ( R/ Cj) ]等价。考虑到在系统实现中往往采用对数形式的运算,以求降低运算量,并且为求运算值为整数加入了修正因子a1 、a2 。令M ( R/ Cj) = log[ P ( R/ Cj) ] =Σa1 (log[ P( Rm/ Cmj ) ] + a2) 。其中, M 是组成序列的码字的个数。因此寻找最佳路径, 就变成寻找最大M( R/ Cj) , M( R/ Cj) 称为Cj 的分支路径量度,含义为发送Cj 而接收码元为R的似然度。 5.卷积码的viterbi译码是根据接收码字序列寻找编码时通过网格图最佳路径的过程,找到最佳路径即完成了译码过程并可以纠正接收码字中的错误比特。 三、实验代码 #include<> #include "" #define N 7 #include "" #include <> #include<> #define randomize() srand((unsigned)time(NULL)) encode( unsigned int *symbols, /*编码输出*/ unsigned int *data, /*编码输入*/ unsigned int nbytes, /*nbytes=n/16,n为实际输入码字的数目*/ unsigned int startstate /*定义初始化状态*/

卷积码编译码课设 (2)

摘要 卷积码是一种性能优越的信道编码。它的编码器和译码器都比较容易实现,同时它具有较强的纠错能力。随着纠错编码理论研究的不断深入,卷积码的实际应用越来越广泛。本文对卷积码和卷积码的编译码有一个简单的介绍且给出了信道编码的发展历史及研究状况,然后详细讨论了(2,1,2)卷积码的编码过程和译码过程,通过状态转移方程和输出方程得出状态转移表和状态转移图,然后通过维特比译码器研究,总结出了维特比译码算法,最后通过Matlab软件进行设计与仿真,得到了编码程序和译码程序,其运行结果与理论分析一致。 关键字卷积码编码、信道编码、Viterbi译码、MATLAB仿真

目录 摘要........................................... 错误!未定义书签。 一、引言 (3) 1.1发展历史及研究状况 (3) 1.2设计目的和意义 (3) 1.3设计方法 (4) 二、卷积码编译码原理 (5) 2.1 卷积码编码原理 (5) 2.2编码器 (6) 2.3 卷积码译码原理 (7) 2.4 VITEBI 译码的关键步骤 (8) 2.4.1 输入与同步单元 (8) 2.4.2 支路量度计算 (8) 2.4.3 路径量度的存储与更新 (8) 2.4.4 信息序列的存储与更新 (8) 2.4.5 判决与输出单元 (8) 三、卷积码编码实现 (9) 3.1 编码原理分析 (9) 3.2 卷积码编码流程图 (10) 四、卷积码译码实现 (11) 4.1 译码编程思路 (11) 4.2 卷积码译码流程图 (11) 五、卷积码编译码程序的编译及仿真波形 (11) 5.1 卷积码编码仿真 (12) 5.2卷积码译码仿真 (13) 5.3卷积码纠错码仿真 (14) 六、总结 (15) 七、参考文献 (16) 附录 (17)

Matlab中卷积码译码器的误码率分析

长沙理工大学 《通信原理》课程设计报告 郭林 学院计算机与通信工程专业通信工程 班级540802 学号11 学生姓名郭林指导教师龙敏 课程成绩完成日期2008年1月11日

基于Matlab的卷积码译码器的 设计与仿真 学生姓名:郭林指导老师:** 摘要本课程设计主要解决对一个卷积码序列进行维特比(Viterbi)译码输出, 并通过Matlab软件进行设计与仿真,并进行误码率分析。在课程设计中,系统开发平台为Windows Vista Ultimate,程序设计与仿真均采用Matlab R2007a(7.4),最后仿真详单与理论分析一致。 关键词课程设计;卷积码译码器;Matlab;Simulink;设计与仿真 1引言 本课程设计主要解决对一个卷积码序列进行维特比(Viterbi)译码输出,并通 过Matlab软件进行设计与仿真。卷积码的译码有两种方法——软判决和硬判决,此课程设计采用硬判决的维特比译码。 1.1课程设计目的 卷积码是一种向前纠错控制编码。它将连续的信息比特序列映射为连续的编码器输出符号。这种映射是高度结构化的,使得卷积码的译码方法与分组码译码所采用的方法完全不同。可以验证的是在同样复杂度情况下,卷积码的编码增益要大于分组码的编码增益。对于某个特定的应用,采用分组编码还是采用卷积编码哪一种更好则取决于这一应用的具体情况和进行比较时可用的技术[1]。 本课程设计便是通过Matlab设计一个硬判决维特比译码输出的完整电路,并进行误码率分析。

1.2 课程设计的原理 卷积码,又称连环码,是由伊莱亚斯(P.elias)于1955年提出来的一种非分组码。 卷积编码的最佳译码准则为:在给定已知编码结构、信道特性和接收序列的情况下,译码器将把与已经发送的序列最相似的序列作为传送的码字序列的估值。对于二进制对称信道,最相似传送序列就是在汉明距离上与接收序列最近的序列。 卷积码的译码方法有两大类:一类是大数逻辑译码,又称门限译码(硬判决,编者注);另一种是概率译码(软判决,编者注),概率译码又分为维特比译码和序列译码两种。门限译码方法是以分组码理论为基础的,其译码设备简单,速度快,但其误码性能要比概率译码法差[2]。 当卷积码的约束长度不太大时,与序列译码相比,维特比译码器比较简单,计算速度快。维特比译码算法是1967年由Viterbi提出,近年来有大的发展。目前在数字通信的前向纠错系统中用的较多,而且在卫星深空通信中应用更多,该算法在卫星通信中已被采用作为标准技术。 2维特比译码原理 采用概率译码的基本思想是:把已接收序列与所有可能的发送序列做比较,选择其中码距最小的一个序列作为发送序列。如果发送L组信息比特,那么对于(n,k)卷积码来说,可能发送的序列有2kL个,计算机或译码器需存储这些序列并进行比较,以找到码距最小的那个序列。当传信率和信息组数L较大时,使得译码器难以实现。维特比算法则对上述概率译码做了简化,以至成为了一种实用化的概率算法。它并不是在网格图上一次比较所有可能的2kL条路径(序列),而是接收一段,计算和比较一段,选择一段最大似然可能的码段,从而达到整个码序列是一个最大似然值得序列。 下面以图2.1的(2,1,3)卷积码编码器所编出的码为例,来说明维特比解码的方法和运作过程。为了能说明解码过程,这里给出该码的状态图,如图2.2所

213卷积码编码和译码

No.15 (2,1,3)卷积码的编码及译码 摘要: 本报告对于(2,1,3)卷积码原理部分的论述主要参照啜刚教材和课件,编程仿真部分绝对原创,所有的程序都是在Codeblocks 8.02环境下用C语言编写的,编译运行都正常。完成了卷积码的编码程序,译码程序,因为对于短于3组的卷积码,即2 bit或4 bit纠错是没有意义的,所以对正确的短序列直接译码,对长序列纠错后译码,都能得到正确的译码结果。含仿真结果和程序源代码。 如果您不使用Codeblocks运行程序,则可能不支持中文输出显示,但是所有的数码输出都是正确的。

一、 卷积码编码原理 卷积码编码器对输入的数据流每次1bit 或k bit 进行编码,输出n bit 编码符号。但是输出的分支码字的每个码元不仅于此时可输入的k 个嘻嘻有关,业余前m 个连续式可输入的信息有关,因此编码器应包含m 级寄存器以记录这些信息。 通常卷积码表示为 (n,k,m). 编码率 k r n = 当k=1时,卷积码编码器的结构包括一个由m 个串接的寄存器构成的移位寄存器(成为m 级移位寄存器、n 个连接到指定寄存器的模二加法器以及把模二加法器的输出转化为穿行的转换开关。 本报告所讲的(2,1,3)卷积码是最简单的卷积码。就是2n =,1k =,3m =的卷积码。每次输入1 bit 输入信息,经过3级移位寄存器,2个连接到指定寄存器的模二加法器,并把加法器输出转化为串行输出。 编码器如题所示。 二、卷积码编码器程序仿真 C 语言编写的仿真程序。 为了简单起见,这里仅仅提供数组长度30 bit 的仿真程序,当然如果需要可以修改数组大小。为了更精练的实现算法,程序输入模块没有提供非法字符处理过程,如果需要也可以增加相应的功能。 进入程序后,先提示输入数据的长度,请用户输入int (整型数)程序默认用户输入的数据小于30,然后提示输入01数码,读入数码存储与input 数组中,然后运算输出卷积码。经过实验仿真,编码完全正确。 以下是举例: a.课件上的输入101 输出11 10 00 的实验

Matlab的卷积码译码器的仿真要点

基于Matlab的卷积码译码器的 设计与仿真 学生姓名:指导老师:** 摘要本课程设计主要解决对一个卷积码序列进行维特比(Viterbi)译码输出, 并通过Matlab软件进行设计与仿真,并进行误码率分析。在课程设计中,系统开发平台为Windows Vista Ultimate,程序设计与仿真均采用Matlab R2007a(7.4),最后仿真详单与理论分析一致。 关键词课程设计;卷积码译码器;Matlab;Simulink;设计与仿真 1引言 本课程设计主要解决对一个卷积码序列进行维特比(Viterbi)译码输出,并通 过Matlab软件进行设计与仿真。卷积码的译码有两种方法——软判决和硬判决,此课程设计采用硬判决的维特比译码。 1.1课程设计目的 卷积码是一种向前纠错控制编码。它将连续的信息比特序列映射为连续的编码器输出符号。这种映射是高度结构化的,使得卷积码的译码方法与分组码译码所采用的方法完全不同。可以验证的是在同样复杂度情况下,卷积码的编码增益要大于分组码的编码增益。对于某个特定的应用,采用分组编码还是采用卷积编码哪一种更好则取决于这一应用的具体情况和进行比较时可用的技术[1]。 本课程设计便是通过Matlab设计一个硬判决维特比译码输出的完整电路,并进行误码率分析。

1.2 课程设计的原理 卷积码,又称连环码,是由伊莱亚斯(P.elias)于1955年提出来的一种非分组码。 卷积编码的最佳译码准则为:在给定已知编码结构、信道特性和接收序列的情况下,译码器将把与已经发送的序列最相似的序列作为传送的码字序列的估值。对于二进制对称信道,最相似传送序列就是在汉明距离上与接收序列最近的序列。 卷积码的译码方法有两大类:一类是大数逻辑译码,又称门限译码(硬判决,编者注);另一种是概率译码(软判决,编者注),概率译码又分为维特比译码和序列译码两种。门限译码方法是以分组码理论为基础的,其译码设备简单,速度快,但其误码性能要比概率译码法差[2]。 当卷积码的约束长度不太大时,与序列译码相比,维特比译码器比较简单,计算速度快。维特比译码算法是1967年由Viterbi提出,近年来有大的发展。目前在数字通信的前向纠错系统中用的较多,而且在卫星深空通信中应用更多,该算法在卫星通信中已被采用作为标准技术。 2维特比译码原理 采用概率译码的基本思想是:把已接收序列与所有可能的发送序列做比较,选择其中码距最小的一个序列作为发送序列。如果发送L组信息比特,那么对于(n,k)卷积码来说,可能发送的序列有2kL个,计算机或译码器需存储这些序列并进行比较,以找到码距最小的那个序列。当传信率和信息组数L较大时,使得译码器难以实现。维特比算法则对上述概率译码做了简化,以至成为了一种实用化的概率算法。它并不是在网格图上一次比较所有可能的2kL条路径(序列),而是接收一段,计算和比较一段,选择一段最大似然可能的码段,从而达到整个码序列是一个最大似然值得序列。 下面以图2.1的(2,1,3)卷积码编码器所编出的码为例,来说明维特比解码的方法和运作过程。为了能说明解码过程,这里给出该码的状态图,如图2.2所

卷积码matlab程序

卷积编码程序: function [output, len_tal] = cnv_encd(secrettext, encodetext) g = [0 0 1 0 0 1 0 0; 0 0 0 0 0 0 0 1; 1 0 0 0 0 0 0 1; 0 1 0 0 1 1 0 1]; k0 = 1; % 读入文本文件并计算文件长度 frr = fopen(secrettext, 'r'); [msg, len] = fread(frr, 'ubit1'); msg = msg'; % check to see if extra zero padding is necessary if rem(length(msg), k0) > 0 msg = [msg, zeros(size(1:k0-rem(length(msg),k0)))]; end n = length(msg)/k0; % 把输入比特按k0分组,n为所得的组数。 % check the size of matrix g if rem(size(g, 2), k0) > 0 error('Error, g is not of the right size.'); end % determine L and n0 L = size(g, 2)/k0; n0 = size(g, 1); % add extra zeros,以保证编码器是从全0开始,并回到全0状态。 u = [zeros(size(1:(L-1)*k0)), msg, zeros(size(1:(L-1)*k0))]; % generate uu, a matrix whose columns are the contents of conv. encoder at % various clock cycles. u1 = u(L*k0: -1 :1); for i = 1:n+L-2 u1 = [u1, u((i+L)*k0:-1:i*k0+1)]; end uu = reshape(u1, L*k0, n+L-1); % determine the output output = reshape(rem(g*uu, 2), 1, n0*(L+n-1)); len_tal = n0*(L + n - 1);

DSP卷积码的维特比译码的分析与实现要点

编号: 《DSP技术与应用》课程论文卷积码的维特比译码的分析与实现 论文作者姓名:______ ______ 作者学号:___ ______ 所在学院: 所学专业:_____ ___ 导师姓名职称:__ _ 论文完成时间: _

目录 摘要: (1) 0 前言 (2) 1 理论基础 (2) 1.1信道理论基础 (2) 1.2差错控制技术 (3) 1.3纠错编码 (4) 1.4线性分组码 (5) 2 卷积码编码 (7) 2.1 卷积码概要 (7) 2.2 卷积码编码器 (8) 2.3卷积码的图解表示 (8) 2.4 卷积码的解析表示 (11) 3 卷积码的译码 (14) 3.1 维特比译码 (15) 3.2 代数译码 (17) 3.3 门限译码 (18) 4 维特比译码器实现 (18) 4.1 TMS320C54 系列DSP概述 (18) 4.2 Viterbi译码器的DSP实现 (19) 4.3 实现结果 (21) 5 结论 (21) 参考文献 (22) II

卷积码的维特比译码的分析与实现 摘要: 针对数据传输过程中的误码问题,本文论述了提高数据传输质量的一些编码及译码的实现问题。自P.Elias 首次提出卷积码编码以来,这一编码技术至今仍显示出强大的生命力。在与分组码同样的码率R 和设备复杂性的条件下,无论从理论上还是从实际上均己证明卷积码的性能至少不比分组码差,且实现最佳和准最佳译码也较分组码容易。目前,卷积码已广泛应用在无线通信标准中,其维特比译码则利用码树的重复性结构,对最大似然译码算法进行了简化。本文所做的主要工作: 首先对信道编码技术进行了研究,根据信道中可能出现的噪声等问题对卷积码编码方法进行了主要阐释。 其次,对卷积码维特比译码器的实现算法进行了研究,完成了译码器的软件设计。 最后,结合实例,采用DSP芯片实现卷积码的维特比译码算法的仿真和运行。 关键词: 卷积码维特比译码DSP Convolutional codes and Viterbi decoding analysis and realization Zhang Yi-Fei (School of Physics and Electronics, Henan University, Henan Kaifeng 475004, China) Abstract: Considering the error bit problem during data transmission,this thesis discussed some codings and decoders,aiming at enhancing transmission performance. From P.Elias first gave the concept of convolutional code, it has show its’ great advantage. Under the same condition and the same rate of block code, the performance of convolutional code is better than block code, and it’s easier to implement the best decoding.Convolutional codes have been widely used in wireless communication standards, the Viterbi decoding using the repetitive structure of the code tree, the maximum likelihood decoding algorithm has been simplified. Major work done in this article: First, the channel coding techniques have been studied, the main interpretation of the convolutional code encoding method according to the channel may be noise and other issues. Secondly, the convolutional code Viterbi decoder algorithm has been studied, the software design of the decoder. Finally, with examples, simulation and operation of the DSP chip convolutional codes, Viterbi decoding algorithm. 1

实验九 (2,1,5)卷积码编码译码技术

实验九 (2,1,5)卷积码编码译码技术 一、实验目的 1、掌握(2,1,5)卷积码编码译码技术 2、了解纠错编码原理。 二、实验内容 1、(2,1,5)卷积码编码。 2、(2,1,5)卷积码译码。 三、预备知识 1、纠错编码原理。 2、(2,1,5)卷积码的工作原理。 四、实验原理 卷积码是将发送的信息序列通过一个线性的,有限状态的移位寄存器而产生的编码。通常卷积码的编码器由K级(每级K比特)的移位寄存器和n个线性代数函数发生器(这里是模2加法器)组成。 若以(n,k,m)来描述卷积码,其中k为每次输入到卷积编码器的bit数,n 为每个k元组码字对应的卷积码输出n元组码字,m为编码存储度,也就是卷积编码器的k元组的级数,称m+1= K为编码约束度m称为约束长度。卷积码将k 元组输入码元编成n元组输出码元,但k和n通常很小,特别适合以串行形式进行传输,时延小。与分组码不同,卷积码编码生成的n元组元不仅与当前输入的k元组有关,还与前面m-1个输入的k元组有关,编码过程中互相关联的码元个数为n*m。卷积码的纠错性能随m的增加而增大,而差错率随N的增加而指数下降。在编码器复杂性相同的情况下,卷积码的性能优于分组码。 编码器 随着信息序列不断输入,编码器就不断从一个状态转移到另一个状态并同时输出相应的码序列,所以图3所示状态图可以简单直观的描述编码器的编码过程。因此通过状态图很容易给出输入信息序列的编码结果,假定输入序列为110100,首先从零状态开始即图示a状态,由于输入信息为“1”,所以下一状态为b并输出“11”,继续输入信息“1”,由图知下一状态为d、输出“01”……其它输入信息依次类推,按照状态转移路径a->b->d->c->b->c->a输出其对应的编码结果“110101001011”。 译码方法 ⒈代数 代数译码是将卷积码的一个编码约束长度的码段看作是[n0(m+1),k0(m+1)]线性分组码,每次根据(m+1)分支长接收数字,对相应的最早的那个分支上的信息数字进行估计,然后向前推进一个分支。上例中信息序列 =(10111),相应的码序列 c=(11100001100111)。若接收序列R=(10100001110111),先根据R 的前三个分支(101000)和码树中前三个分支长的所有可能的 8条路径(000000…)、(000011…)、(001110…)、(001101…)、(111011…)、(111000…)、(110101…)和(110110…)进行比较,可知(111001)与接收

基于MATLAB的卷积码的分析与应用

基于MATLAB的卷积码的分析与应用

毕业设计(论文)任务书

基于MATLAB的卷积码的分析与应用 摘要 随着现代通信的发展,特别是在未来4G通信网络中,高速信息传输和高可靠性传输成为信息传输的两个主要方面,而可靠性尤其重要。因为信道状况的恶劣,信号不可避免会受到干扰而出错。为实现可靠性通信,主要有两种途径:一种是增加发送信号的功率,提高接收端的信号噪声比;另一种是采用编码的方法对信道差错进行控制。前者常常受条件限制,不是所有情况都能采用。因此差错控制编码得到了广泛应用。 介绍了多种信道编码方式,着重介绍了卷积码的编码方法和解码方式。介绍了MATLAB的使用方法、编程方法、语句、变量、函数、矩阵等。介绍了TD-SCDMA通信系统和该系统下的卷积码,搭建了系统通信模型。编写卷积码的编码和解码程序。用MATLAB仿真软件对TD-SCDMA系统的卷积码编解码进行仿真。对其纠正错码性能进行验证,并且对误码率进行仿真和分析。卷积码的编码解码方式有很多,重点仿真Viterbi算法。Viterbi算法就是利用卷积码编码器的格图来计算路径度量,选择从起始时刻到终止时刻的惟一幸存路径作为最大似然路径。沿着最大似然路径回溯到开始时刻,所走过的路径对应的编码输出就是最大似然译码输出序列。它是一种最大似然译码方法,当编码约束长度不大、或者误码率要求不是很高的情况下,Viterbi译码器设备比较简单,计算速度快,因而Viterbi译码器被广泛应用于各种领域。 关键词:卷积码;信道编码;TD-SCDMA;MATLAB

目录 毕业设计(论文)任务书 ............................................................................................I 摘要........................................................................................................................... II Abstract......................................................................................... 错误!未定义书签。第1章绪论 . (1) 1.1课题研究的背景和来源 (1) 1.2主要内容 (2) 第2章相关理论介绍 (3) 2.1信道编码 (3) 2.1.1 信道编码的分类 (3) 2.1.2 编码效率 (3) 2.2线性分组码 (3) 2.3循环码 (5) 2.4卷积码 (6) 2.4.1 卷积码简介 (7) 2.4.2 卷积码的编码 (7) 2.4.3 卷积码的解码 (13) 第3章MATLAB应用 (21) 3.1数和算术的表示方法 (21) 3.2向量与矩阵运算 (21) 3.2.1 通过语句和函数产生 (21) 3.2.2 矩阵操作 (22) 3.3矩阵的基本运算 (22) 3.3.1 矩阵乘法 (22) 3.3.2 矩阵除法 (23) 3.4MATLAB编程 (23) 3.4.1 关系运算 (23) 3.4.2 控制流 (25) 第4章卷积码的设计与仿真 (27) 4.1TD-SCDMA系统 (27) 4.1.1 系统简介 (27) 4.1.2 仿真通信系统模型 (27)

MATLAB实现卷积码编译码-

本科生毕业论文(设计) 题目:MATLAB实现卷积码编译码 专业代码: 作者姓名: 学号: 单位: 指导教师: 年月日

目录 前言----------------------------------------------------- 1 1. 纠错码基本理论---------------------------------------- 2 1.1纠错码基本理论 ----------------------------------------------- 2 1.1.1纠错码概念 ------------------------------------------------- 2 1.1.2基本原理和性能参数 ----------------------------------------- 2 1.2几种常用的纠错码 --------------------------------------------- 6 2. 卷积码的基本理论-------------------------------------- 8 2.1卷积码介绍 --------------------------------------------------- 8 2.1.1卷积码的差错控制原理----------------------------------- 8 2.2卷积码编码原理 ---------------------------------------------- 10 2.2.1卷积码解析表示法-------------------------------------- 10 2.2.2卷积码图形表示法-------------------------------------- 11 2.3卷积码译码原理---------------------------------------------- 15 2.3.1卷积码三种译码方式------------------------------------ 15 2.3.2V ITERBI译码原理---------------------------------------- 16 3. 卷积码编译码及MATLAB仿真---------------------------- 18 3.1M ATLAB概述-------------------------------------------------- 18 3.1.1M ATLAB的特点------------------------------------------ 19 3.1.2M ATLAB工具箱和内容------------------------------------ 19 3.2卷积码编码及仿真 -------------------------------------------- 20 3.2.1编码程序 ---------------------------------------------- 20 3.3信道传输过程仿真-------------------------------------------- 21 3.4维特比译码程序及仿真 ---------------------------------------- 22 3.4.1维特比译码算法解析------------------------------------ 23 3.4.2V ITERBI译码程序--------------------------------------- 25 3.4.3 VITERBI译码MATLAB仿真----------------------------------- 28 3.4.4信噪比对卷积码译码性能的影响 -------------------------- 28

基于MATLAB对卷积码的性能分析

基于MATLAB对卷积码的性能分析 【摘要】本文对比了在加性高斯白噪声(AWGN)信道下经BPSK调制后的数据不编码与添加卷积编码后接收到的信道输出的误码性能,并通过对比对卷积码性能进行分析。采用MATLAB自编函数对[2,1,8]卷积码以及维特比译码进行仿真,且对其性能进行分析。由于卷积码有性能floor,编码增益随信噪比降低而体现不明显。仿真结果表明:当信噪比等于-1dB时,一个序列通过加性高斯白噪声信道后接收到的信道输出误比特率大于10-1,且该序列运用[2,1,8]卷积码编码,维特比译码(硬判决)后所得的序列误比特率升高。当信噪比为2dB时,一个序列通过加性高斯白噪声信道后接收到的信道输出误比特率约为4*10-2,且该序列运用[2,1,8]卷积码编码,维特比译码后所得的序列误比特率小于10-3,误码率远低于不编码时的误码率。因此卷积码适用于信道输出误码率比较低时候。 【关键词】维特比译码;卷积码;误比特率;马尔科夫性 1.引言 卷积码的编码器是由一个有k位输入、n位输出,且具有m位移位寄存器构成的有限状态的有记忆系统,通常称它为时序网络。[1]编码器的整体约束长度为v,是所有k个移位寄存器的长度之和。具有这样的编码器的卷积码称作[n,k,v]卷积码。对于一个(n,1,v)编码器,约束长度v等于存储级数m。卷积码是由k个信息比特编码成n(n>k)比特的码组,编码出的n比特码组值不仅与当前码字中的k个信息比特值有关,而且与其前面v个码组中的v*k个信息比特值有关。 卷积码有三种译码方式:序列译码、门限译码和概率译码。其中,概率译码根据最大似然译码原理在所有可能路径中求取与接收路径最相似的一条路径,具有最佳的纠错性能,[2]维特比译码是概率译码中极重要的一种方式。 序列译码和门限译码则不一定能找出与接收路径最相似的一条路径。不同于维特比译码,门限译码与序列译码所需的计算量是可变的且对于给定信息分组的最终判决仅仅基于(m+1)个接收分组,而不是基于整个接收序列。[3]与维特比译码所使用的对数似然量度不同,序列译码所使用的量度为Fano量度。在接收序列受扰严重的情况下,序列译码的计算量大于维特比译码所需的固定计算量,虽然序列译码要求的平均计算次数通常小于维特比译码。在采用并行处理的情况下,维特比译码的速度会优于序列译码。在同样码率和存储级数的条件下,门限译码的性能比维特比译码低大约3dB。 维特比译码的数据输出方式有硬判决及软判决两种方式,本文选取生成多项式为561,753的(2,1,8)卷积码对硬判决的性能进行分析,并依据维特比译码的原理以及卷积码的特性,对卷积码编码和维特比译码过程在加性高斯白噪声(AWGN)信道下进行仿真,并且根据仿真结果对维特比译码(硬判决)的结果

MATLAB OFDM卷积编码程序及代码

%bin22deci.m function y=bin22deci(x) %将二进制数转化为十进制数 t=size(x,2); y=(t-1:-1:0); y=2.^y; y=x*y'; %************************end of file*********************************** %comb.m %AWGN加噪声程序 function[iout,qout]=comb(idata,qdata,attn) %******************variables************************* %idata:输入I信道数据 %qdata:输入Q信道数据 %iout输出I信道数据 %qout输出Q信道数据 %attn:由信噪比导致的衰减系数 %****************************************************** iout=randn(1,length(idata)).*attn; qout=randn(1,length(qdata)).*attn; iout=iout+idata(1:length(idata)); qout=qout+qdata(1:length(qdata)); %************************end of file*********************************** %crdemapping.m %数据逆映射载波程序 function[iout,qout]=crdemapping(idata,qdata,fftlen,nd); %******************variables************************* %idata:输入I信道的数据 %qdata:输入Q信道的数据 %iout:输出I信道的数据 %qout:输出Q信道的数据 %fftlen:FFT的长度 %nd:OFDM符号数 %***************************************************** iout(1:26,:)=idata(2:27,:); qout(1:26,:)=qdata(2:27,:); iout(27:52,:)=idata(39:64,:); qout(27:52,:)=qdata(39:64,:); %********************end of file*************************** %crmapping.m

基于matlab的2-3卷积码编码译码设计与仿真

西南科技大学 方向设计报告 课程名称:通信工程方向设计 设计名称:2/3卷积码编译码器仿真与性能分析 姓名: 学号: 班级: 指导教师: 起止日期:2011.12.12-2012.1.6 西南科技大学信息工程学院制

方向设计任务书 学生班级:学生姓名:学号: 设计名称:2/3卷积码编译码器仿真与性能分析 起止日期:2011.12.12-2012.1.6指导教师: 设计要求: (1)分析2/3卷积码编码器结构; (2)分析2/3卷积码译码的Viterbi算法; (3)基于SIMULINK进行2/3卷积码的纠错性能仿真; 方向设计学生日志 时间设计内容 12.15-12.17 查看题目及设计要求。 12.18-12.23 查阅相关资料,设计方案。 12.23-12.27 编写报告及调试程序。 12.28-12.29 完善修改课程设计报告。 12.30-12.31 答辩。

方向设计考勤表 周星期一星期二星期三星期四星期五 方向设计评语表 指导教师评语: 成绩:指导教师: 年月日

2/3卷积码编译码器仿真与性能分析 摘要: 卷积码是一种性能优越的信道编码。它的编码器和译码器都比较容易实现,同时它具有较强的纠错能力。随着纠错编码理论研究的不断深入,卷积码的实际应用越来越广泛。本文简明地介绍了卷积码的编码原理和Viterbi译码原理。并在SIMULINK模块设计中,完成了对卷积码的编码和译码以及误比特统计整个过程的模块仿真。最后,通过在仿真过程中分别改变卷积码的重要参数来加深理解卷积码的这些参数对卷积码的误码性能的影响。经过仿真和实测,并对测试结果作了分析。 关键词: 卷积码编码器、viterbi译码器、SIMULINK

34卷积码编码原理分析与建模仿真

3/4卷积码编码原理分析与建模仿真 一、摘要 卷积码是一种性能优越的信道编码。它的编码器和译码器都比较容易实现,同时它具有较强的纠错能力。随着纠错编码理论研究的不断深入,卷积码的实际应用越来越广泛。本文简明地介绍了卷积码的编码原理和Viterbi译码原理。并在SIMULINK模块设计中,完成了对卷积码的编码和译码以及误比特统计整个过程的模块仿真。最后,通过在仿真过程中分析了卷积码误比特率与信噪比之间的关系,及卷积码与非卷积码的对比。经过仿真和实测,并对测试结果作了分析。 关键词:卷积码编码建模 SIMULINK仿真

目录 一、摘要 ................................................................................................................................................................. - 1 - 二、设计目的和意义 ............................................................................................................................................. - 2 - 三、设计原理 ......................................................................................................................................................... - 3 - 3.1 卷积码基本概念 ...................................................................................................................................... - 3 - 3.2 卷积码的结构 .......................................................................................................................................... - 3 - 3.3 卷积码的解析表示 .................................................................................................................................. - 4 - 3.4 卷积码的译码 .......................................................................................................................................... - 4 - 3.4.1 卷积码译码的方式........................................................................................................................ - 4 - 3.5.2 卷积码的Viterbi译码 .................................................................................................................. - 5 - 四、详细设计步骤 ................................................................................................................................................. - 6 - 4.1 卷积码的仿真 .......................................................................................................................................... - 6 - 4.1.1 SIMULINK仿真模块的参数设置及意义 ................................................................................. - 6 - 五、设计结果及分析 ........................................................................................................................................... - 11 - 5.1不同信噪比对卷积码的影响.................................................................................................................. - 11 - 5.2卷积码的对比 ........................................................................................................................................ - 12 - 六、总结 ............................................................................................................................................................... - 14 - 七、体会 ............................................................................................................................................................... - 14 - 八、参考文献 ....................................................................................................................................................... - 14 - 二、设计目的和意义 因为信道中信号不可避免会受到干扰而出错。为实现可靠性通信,主要有两种途径:一种

相关主题