卷积编码实验报告
卷积码实验报告

卷积码实验报告篇一:卷积码实验报告实验五信道编解码()本章目标掌握数字频带传输系统调制解调的仿真过程掌握数字频带传输系统误码率仿真分析方法 5.1实验目的1. 使用MATLAB进行卷积码编/译码器的仿真。
2. 熟练掌握MATLAB软件、语句。
3. 了解卷积码编/译码器的原理、知识。
5.2实验要求1. 编写源程序、准备测试数据。
2. 在 MATLAB环境下完成程序的编辑、编译、运行,获得程序结果。
如果结果有误,应找出原因,并设法更正之。
5.3 实验原理(一)卷积码编码器 1. 连接表示卷积码由3个整数n,k,N描述。
k/n也表示编码效率(每编码比特所含的信N称为约束长度,息量);但n与线性分组码中的含义不同,不再表示分组或码子长度;表示在编码移位寄存器中k元组的级数。
卷积码不同于分组码的一个重要特征就是编码器的记忆性,即卷积码编码过程中产生的n元组,不仅是当前输入k元组的函数,而且还是前面N?1个输入k元组的函数。
实际情况下,n和k经常取较小的值,而通过N的变化来控制编码的能力和复杂性。
下面以图1中的卷积码编码器为例介绍卷积码编码器。
该图表示一个约束长度K?3的(2,1)卷积译码器,模2加法器的数目为n?2,因此,编码效率k/n?1/2。
在每个输入比特时间上,1位信息比特移入寄存器最左端的一级,同时将寄存器中原有比特均右移一级,接着便交替采样两个模2加法器,得到的码元就是与该输入比特相对应的分支字。
对每一个输入信号比特都重复上述采样过程。
图1卷积码编码器(编码效率1/2,K?3)用于描述反馈移位寄存器实现循环码时所使用的生成多项式也可用户描述卷积码编码器的连接。
应用n个生成多项式描述编码的移位寄存器与模2加法器的连接方式,n个生成多项式分别对应n个模2加法器,每个生成多项式不超过K?1阶。
仍以图1中的编码器为例,用生成多项式g1(X)代表上方连接,g2(X)代表下方连接,则有:g1(X)?1?X?X2g2(X)?1?X2多项式中的最低阶项对应于寄存器的输入级。
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和信号B。
然后,我们将这两个信号进行卷积运算,得到输出信号。
接着,我们对输出信号
进行分析,观察其频谱特性和时域特性。
最后,我们将对实验结果进行总结和
讨论,探讨信号的卷积在通信系统中的实际应用。
通过实验,我们发现信号的卷积可以实现信号的滤波、信号的延迟和信号的叠
加等功能。
在通信系统中,信号的卷积可以用于信号的编码和解码、信道的均
衡和信号的复原等方面。
因此,信号的卷积在通信系统中具有重要的意义和应
用价值。
总之,通过本次实验,我们对信号的卷积有了更深入的理解,并认识到其在通
信系统中的重要性。
希望通过这篇实验报告,能够让更多的人了解信号的卷积,并对其在通信系统中的应用有更清晰的认识。
实验九-(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输出其对应的编码结果“”。
译码方法⒈代数代数译码是将卷积码的一个编码约束长度的码段看作是[n0(m+1),k0(m+1)]线性分组码,每次根据(m+1)分支长接收数字,对相应的最早的那个分支上的信息数字进行估计,然后向前推进一个分支。
卷积码实验报告

卷积码实验报告篇一:卷积码实验报告实验五信道编解码()本章目标掌握数字频带传输系统调制解调的仿真过程掌握数字频带传输系统误码率仿真分析方法 5.1实验目的1. 使用MATLAB进行卷积码编/译码器的仿真。
2. 熟练掌握MATLAB软件、语句。
3. 了解卷积码编/译码器的原理、知识。
5.2实验要求1. 编写源程序、准备测试数据。
2. 在 MATLAB环境下完成程序的编辑、编译、运行,获得程序结果。
如果结果有误,应找出原因,并设法更正之。
5.3 实验原理(一)卷积码编码器 1. 连接表示卷积码由3个整数n,k,N描述。
k/n也表示编码效率(每编码比特所含的信N称为约束长度,息量);但n与线性分组码中的含义不同,不再表示分组或码子长度;表示在编码移位寄存器中k元组的级数。
卷积码不同于分组码的一个重要特征就是编码器的记忆性,即卷积码编码过程中产生的n元组,不仅是当前输入k元组的函数,而且还是前面N?1个输入k元组的函数。
实际情况下,n和k经常取较小的值,而通过N的变化来控制编码的能力和复杂性。
下面以图1中的卷积码编码器为例介绍卷积码编码器。
该图表示一个约束长度K?3的(2,1)卷积译码器,模2加法器的数目为n?2,因此,编码效率k/n?1/2。
在每个输入比特时间上,1位信息比特移入寄存器最左端的一级,同时将寄存器中原有比特均右移一级,接着便交替采样两个模2加法器,得到的码元就是与该输入比特相对应的分支字。
对每一个输入信号比特都重复上述采样过程。
图1卷积码编码器(编码效率1/2,K?3)用于描述反馈移位寄存器实现循环码时所使用的生成多项式也可用户描述卷积码编码器的连接。
应用n个生成多项式描述编码的移位寄存器与模2加法器的连接方式,n个生成多项式分别对应n个模2加法器,每个生成多项式不超过K?1阶。
仍以图1中的编码器为例,用生成多项式g1(X)代表上方连接,g2(X)代表下方连接,则有:g1(X)?1?X?X2g2(X)?1?X2多项式中的最低阶项对应于寄存器的输入级。
卷积编译码

实验四:卷积编/译码一.实验目的1.学习卷积编码的方法与码字测量。
2.学习维特比译码方法及译码的测量。
3.观察卷积码的纠错能力。
二.实验仪器1.RZ8621D实验箱一台2.20MHZ双踪示波器一台三.实验电路连接及测量点说明图7-1 用单片机AT89C2051进行卷积编码电路图图7-2 用单片机AT89C2051进行维特比译码电路图差错控制编码的方法很多,卷积码是一种既能纠随机错,又能纠实发错的编码,在同样的传输速率和设备复杂的条件下,性能较优良的一种编码。
卷积码常采用维特比软判决译码,具有较好的纠错功能。
本实验为卷积码的编译码,它是由一片AT80C2051芯片用软件编程方法实现。
其编译码电路框图如下:图中各主要测量点说明如下:TP401—源码序列TP402—卷积码序列TP403—加错或不加错卷积码序列(模拟信道的传输)TP405—卷积码译码输出序列四.实验步骤及内容(一)卷积码编码1.拨线开关介绍。
用拨动开关SW401设置输入信息。
开关拨动至上面为1,下面为0。
拨动开关共9位,左起1-8位为信息位,第九位为状态位。
第九位为“1”表示无错误,第九位为“0”表示有错误。
2.信息码设置。
如上所述,信息码设置共8位,由SW401开关位置决定,例如设置信息为DCH则八位码为1101 1100。
3.信息码观察。
为了示波器上能看到周期性的信息码和编出的卷积码,本机规定在信息位第一位前加一个“1”,在末位加两个“0”。
因此信息码序列变成1 1101 110000,我们称它们为源码序列。
将示波器1通道探头接于TP401(DTAT3),便可看到该序列波形。
4.卷积编码序列手工编码。
根据源码序列和(2.1.3)卷积码编码规秩,写出卷积码编码序列。
上述源码序列的卷积码为1101 1001 0001 1001 110000。
5.无错卷积码编码序列观察。
将拨动开关第九位(状态位)置于“1”表示无错码。
示波器1通道探头接至TP402(DATA1),2通道探头接至TP403(DATA2),观察示波器上显示的波形,看看它是否与上述卷积编码的码型一致。
实验二--卷积码编码及译码实验

实验二--卷积码编码及译码实验实验二卷积码编码及译码实验一、实验目的通过本实验掌握卷积编码的特性、产生原理及方法,卷积码的译码方法,尤其是维特比译码的原理、过程、特性及其实现方法。
二、实验内容1、观察NRZ基带信号及其卷积编码信号。
2、观察帧同步信号的生成及巴克码的特性。
3、观察卷积编码信号打孔及码速率匹配方法。
4、观察接收端帧同步过程及帧同步信号。
5、观察译码结果并深入理解维特比译码的过程。
6、观察随机差错及突发差错对卷积译码的影响。
三、基本原理1、卷积码编码卷积码是一种纠错编码,它将输入的k个信息比特编成n个比特输出,特别适合以串行形式进行传输,时延小。
卷积码编码器的形式如图17-1所示,它包括:一个由N段组成的输入移位寄存器,每段有k 段,共Nk 个寄存器;一组n 个模2和相加器;一个由n 级组成的输出移位寄存器,对应于每段k 个比特的输入序列,输出n 个比特。
12…k 12…k …12…k12…n 卷积码输出序列信息比特一次移入k 个Nk 级移位寄存器…图17-1 卷积编码器的一般形式由图17-1可以看到,n 个输出比特不仅与当前的k 个输入信息有关,还与前(N -1)k 个信息有关。
通常将N 称为约束长度(有的书中也把约束长度定为nN 或N -1)。
常把卷积码记为:(n 、k 、N ),当k =1时,N -1就是寄存器的个数。
编码效率定义为:/c R k n (17-1)卷积码的表示方法有图解表示法和解析表示法两种:解析法,它可以用数学公式直接表达,包括离散卷积法、生成矩阵法、码生成多项式法;图解表示法,包括树状图、网络图和状态图(最的图形表达形式)三种。
一般情况下,解析表示法比较适合于描述编码过程,而图形法比较适合于描述译码。
(1)图解表示法(2)解析法下面以(2,1,3)卷积编码器为例详细讲述卷积码的产生原理和表示方法。
(2,1,3)卷积码的约束长度为3,编码速率为1/2,编码器的结构如图17-2所示。
卷积码编码与译码

例: (n, k, N) = (3, 1, 3)卷积码编码器方框图设输入信息比特序列是bi-2 bi-1 bi bi+1,则当输入bi时,此编码器输出3比特ci di ei,输入和输出的关系如下:
实际应用时常用的卷积码是(2,1,7)卷积码例如:IEEE 802.11a、DVB-T的内码;(2,1,7)卷积码的编码器,如图:
(3, 1, 3)卷积码 设现在的发送信息位为1101,为了使图中移存器的信息位全部移出,在信息位后面加入3个“0”,故编码后的发送序列为111 110 010 100 001 011 000。并且假设接收序列为111 010 010 110 001 011 000,其中第4和第11个码元为错码。 由于这是一个(n, k, N) = (3, 1, 3)卷积码,发送序列的约束度N = 3,所以首先需考察nN = 9比特。第1步考察接收序列前9位“111 010 010”。由此码的网格图可见,沿路径每一级有4种状态a, b, c和d。每种状态只有两条路径可以到达。故4种状态共有8条到达路径。 现在比较网格图中的这8条路径和接收序列之间的汉明距离。
4
是
现在将到达每个状态的两条路径的汉明距离作比较,将距离小的一条路径保留,称为幸存路径。若两条路径的汉明距离相同,则可以任意保存一条。这样就剩下4条路径了,即表中第2, 4, 6和8条路径。
第2步继续考察接收序列的后继3个比特“110”。计算4条幸存路径上增加1级后的8条可能路径的汉明距离。结果如下表。 表中最小的总距离等于2,其路径是abdc+b,相应序列为111 110 010 100。它和发送序列相同,故对应发送信息位1101。 按照表中的幸存路径画出的网格图示于下图中。
序号
路径
对应序列
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验名称:___ 卷积编码_______
1、使用MATLAB进行卷积编码的代码编写、运行、仿真等操作;
2、熟练掌握MATLAB软件语句;
3、理解并掌握卷积编码的原理知识。
二、实验原理
卷积码是由Elias于1955 年提出的,是一种非分组码,通常它更适用于前向纠错法,因为其性能对于许多实际情况常优于分组码,而且设备较简单。
卷积码的结构与分组码的结构有很大的不同。
具体地说,卷积码并不是将信息序列分成不同的分组后进行编码,而是将连续的信息比特序列映射为连续的编码器输出符号。
卷积码在编码过程中,将一个码组中r 个监督码与信息码元的相关性从本码组扩展到以前若干段时刻的码组,在译码时不仅从此时刻收到的码组中提取译码信息,而且还可从与监督码相关的各码组中提取有用的译码信息。
这种映射是高度结构化的,使得卷积码的译码方法与分组译码所采用的方法完全不同。
可以验证的是在同样复杂度情况下,卷积码的编码增益要大于分组码的编码增益。
对于某个
特定的应用,采用分组码还是卷积码哪一种更好则取决于这一应用的具体情况和进行比较时可用的技术。
(一)卷积编码的图形表示
卷积码的编码器是由一个有k 个输人位,n 个输出位,且有m 个移位寄存器构成的有限状态的有记忆系统,其原理如图1所示。
图1 卷积码编码器的原理图
描述这类时序网络的方法很多,它大致可分为两大类型:解析表示法与图形表示法。
在解析法中又可分为离散卷积法、生成矩阵法、码多项式法等;在图形表示法中也可分为状态图法、树图法和网络图法等。
图2给出的是一个生成编码速率为1/2 卷积码的移位寄存器电路。
输人比特在时钟触发下从左边移人到电路中,每输入一位,分别去两个模2加法器的输出值并复用就得到编码器的输出。
对这一编码,每输入一比特就产生两个输出符号,故编码效率为
1/2。
可以看出,每个特定的输入比特不仅影响本时间间隔内的编码器输出,同时还影响紧接着的下两个输入比特时间间隔的编码器输出。
卷积编码由移位寄存器的阶数、输出的数量(即模2加法器的个数)和移位寄存器与模2 加法器间的连接所决定。
卷积码一般用(n ,k ,N )来表示。
k 为输入位,n 为输出位,N 为约束度, ()1g D , ()2g D 为生成多项式。
则图3所示的卷积编码器可表示为(2,1,3),约束度N =m + 1 (m 为移位寄存器的阶数)。
编码器的状态定义为移位寄存器的内容且由先前输人的两位信息比特完全决定。
图2给出的编码器有4 种可能的状态,分别对应于二级二进制移位寄存器所有可能的内容。
其中:()21=1g D D D ++,()22=1+g D D 。
图中1D 与2D 为移位寄存器,它们的起始状态均为零,即
123000b b b =。
1c ,2c 与1b ,2b ,3b 关系如下:
1b 代表当前输入信息位,而移位寄存器状态23b b 存储以前信息
位。
在表一中举例列出此编码器的状态。
当第1位信息为1时,即1b =1 ,因32=00b b ,故输出码元1211c c ,其余内容依此类推。
表1 卷积编码的状态表
现在我们来分析卷积码的码树图。
对于图2所示的(2,1,
3)卷积码编编码电路,其树图如图3所示。
图中,用a ,b ,c 和d 表示32b b 的四种可能状态:00,01,10和11。
从1=0b 和32=0b b 作为起点,当第1位信息1=0b 时,码元12c c 为11,则状态从起点a
通过下支路到达状态b,当第1位信息1=0b 时,码元12c c 为00,则
状态从起点a 通过上支路到达状态a 。
依此类推可求得整个树图。
由该图可以看出,从第四条支路开始,树图呈现出重复性,即图中标明的上半部与下半部完全相同。
这就意味着从第4位信息开始,输出码元已与第1位信息无关。
这正说明图2所示的编码器的编码约束长度为3 的含义。
当输入信息位为[11010]时,树图中用虚线标出了其轨迹,并得到输出码元序列为[11010100…]。
图3 (2,1,3)卷积码的码树图
观察图3所示码树图中第三级各节点状态a,b,c,d与第四级各节点a,b,c,d之间的关系,我们可将当前状态、下一状态之间的关系用图4(a)来表示。
在图中,实线表示信息位为0的路径,虚线表示信息位为1的路径,并在路径上写出了相应的输出码元。
根据这一状态转换的特点,绘出状态图如图4(b)所示。
在图(b)中有4个节点,即a,b,c,d其对应取值与图(a)相同。
它们用来分别表示前两位信息的状态。
每个节点有两条离开的弧线,实线表示信息位取0,虚线表示信息位取1 ,弧线旁的数字即为输出码元。
当输人信息序列为[11010]时,状态转移过程为a→b→d →c→b ,相应码元序列为1101010…,与,与表1的结果完全一致。
图4 (2,1,3)卷积码的状态图
我们把状态图在时间上展开,便可以得到所谓格状图,格状图也称网格图或称篱笆图,如图5所示。
图5画出了对于各种可能的输人信息序列,状态转移的全部可能轨迹。
实线表示信息位为0,虚线表示信息位为1。
线旁数字为输出码元,节点表示状态。
在图5中画出了当信息序列为[11010…]时过程的轨迹。
图5 (2,1,3)卷积码的网格图
编码器的操作始于网格图中最左边的A点,即状态00。
如果输人第一位信息比特是0,编码器沿着实线离开状态00到达标记
为B的状态00,编码器输出符号对00,它是两种状态间的网格分支的标号;如果输人第一位信息比特是1,编码器沿着虚线离开状态00到达标记为C的状态10,这时编码器输出为11,它是连接状态00和10的分支的标号。
第二位编码器输人使得编码器转移到右边更多的分支并输出相应分值的标号。
沿着网格从左边的状态转移到右边的状态并输出分支的标号,这一过程一直延续到想要的长度。
输人比特为0使得编码器沿着实线转移到下一状态,输入比特为1则使得编码器沿着虚线转移到下一状态。
生成的码字序列就是编码器沿着网格从左边转移到右边时所经历的各分支标号序列。
(二)、(2 ,1,7 ) 卷积码的描述
(2,1,7)卷积码是目前国际卫星通信和其他通信系统中广泛使用的一种标准卷积码,也是国际空间数据系统协调委员会正式推荐作为遥测信道编码标准的两种编码方式之一。
在工程应用中所感兴趣的好的卷积码应是能在干扰环境下获得最大可能的编码增益的卷积码。
对于加性高斯白噪声信道,好的卷积码应采用最大可能的汉明距离来区分码字序列,同时发生最大似然译码错误时所关联的比特错误数尽可能小。
利用计算机搜索技术已经发现了许多好的卷积码。
例如约束长度为7,编码速率为1/2 的
卷积码,最优卷积码的生成多项式的八进制表示为(171,133),二进制表示为(1111001,1011011),自由距离为10
原理与(2,1,7)卷积编码相同,只是约束度变为7,输出码C1C2和前7个输入码元相关,约束度更大,输入一个码元对应两个输出码元,编码效率仍为0.5。
三、实验内容
以(2,1,3)为例先完成卷积编码,(1)(2)
==
111,101
g g
然后再用(2,1,7)完成序列的编码,卷积码的生成多项式的八进制表示为(171,133),二进制表示为(1111001,1011011)。
要求:输出每一个输入信息的编码输出。
四、实验过程结果及分析
(1)以(2,1,3)为卷积码,结果如下:
由课本P53页表3-1可得该卷积码正确(2)以(2,1,7)为卷积码,结果如下:
(3)形成function函数convolutionX
本函数完成的功能是实现(2,1,n)卷积编码。
采用数据题一中的数据验证,已知该函数可以完成。
五、实验总结与结论
通过本次实验,使我对卷积编码有了一个更加深刻的了解,也锻炼了自己的编程能力。
在实验的过程中,也遇到了很多的问题,例如语法问题,死循环问题,变量错误问题。
在做(2,1,3)卷积编码实验的过程中,第一遍编完程序还是很顺利的,但是虽然运行出结果正确,但是只是对于个别特殊情况的运行程序,(2,1,7)就得对其中的部分内容进行修改。
对于一些编程内容进行优化处理的不是很理想,传到函数内的特征多项式的个和输入输出位数是固定的,接下来,我也将进一步对程序进行优化,解决这些问题。
教员评语:
实验日期:______年_____月____日
教员签字:____________________。