实验二:卷积码
一、实验仪器:
PC两台、USRP两台
二、实验目的:
1、 了解grc仿真中的信号处理模块、流程图以及使用方法 2、 了解卷积码的基本原理
3、 了解GunRadio实现信道编码的方法 4、 了解不同SNR对于误码率的影响 5、 了解卷积码对误码率的影响
6、 了解不同的卷积码对于误码率的影响
三、实验要求:
1.了解Grc的基本操作方法,要求仿真的流程中信道编码部分使用卷积编码
2.通过单机实验和GnuRadio+USRP的实验两种实验方式进行仿真 3.搭建有信道编码与无信道编码的Grc仿真模型 4.比较上述两种情况下的误码率,并且分析结果
5.比较不同的卷积码对于误码率的影响,并且分析结果。
四、实验原理:
卷积码将k个信息比特编码成n个比特,但k和n通常很小,特别适合以串行形式进行传输,时延小。与分组码不同,卷积码编码后的n个码元不仅与当前段的k个信息有关,还与前面的N-1段信息有关,编码过程中互相关联的码元个数为nN。卷积码的纠错性能随N的增加而增大,而差错率随N的增加而指数下降。卷积码的纠错能力不仅与约束长度有关,还与采用的译码方式有关。
GRC提供译码方式是维特比译码,它是卷积码译码方式中非常经典的以及广泛使用的一种译码方式。该实验可以考察编码前后数据有什么
变化,译码后能不能恢复原来数据,通过Number Sink考察加噪声后误比特率怎么样,对性能有什么提高,并且划出BER图形。下面为卷积码的一般流程:
五、实验步骤及分析:
1、单机实验:
单机实验分成(2,1,3)码、无信道编码、(2,1,8)码三个部分进行。 (一) 实验流程图:
首先,我们利用(2,1,3)卷积码进行信道编码,用DPSK进行调制,来进行单机实验,最终设计的流程图和参数如下图所示:
先是Vector Source,即信源,设置的数据是1,0,0,1,1。然后是Throttle限流模块。接下来是Packed to Unpacked模块,将pack成byte或short型的数据以unpacked型的数据输出。然后就是卷积码编码模块,这里需要找到(2,1,3)卷积码在电脑中的位置,再将路径设置到这个模块相应的位置中。接下来一个模块叫做Packet encoder,然后便是调制模块DPSK Mod,我们使用的便是DPSK调制。在噪声模块中设置噪声的大小为0.31,这个数字不能太大,否则就会是解码完全错误,也不能太小,否则误比特率几乎一直为零。
下面模拟的就是接收端,首先是DPSK demod模块,相应于DPSK编码模块,这个模块进行解码。Packet decoder相应于Packet encoder。然后需要加上一个模块Chunks to Symbols,用于后面的映射。接下来便是维特比译码模块,我们选择了一个将两个模块合二为一的模块,其中维度设置为1,映射与前一模块相同,路径与卷积码编码时路径相同。然后是Unpacked to Packed,将unpacked 的数据(bit)以byte或short型的数据输出。接下来就是将发送的数据输入到Error Rate的ref端,将解调译码之后的数据输入到in端,通过Error Rate模块进行误比特率的计算,并将结果存到一个file中,设置好它的路径和名称用于后面画图使用。最后一个模块是Number Sink,主要用于显示数据的具体数值,可用于计算误比特率时显示误比特率的时候等。
接下来我们去掉了卷积码编码和维特比译码的相关模块,观察其在无信道编码条件下的性能,流程图如下:
然后我们在第一个实验的基础上,将(2,1,3)卷积码编码换为(2,1,8)卷积码编码,观察其再这个状态下的性能,流程图除了路径部分其余与(2,1,3)码一致,这里不再画出。
(二)实验结果分析
首先我们对(2,1,3)卷积码编码和无信道编码时的状态进行了比较。先在相应的窗口中输入如下的语句:
无信道编码
(2,1,3)卷积码编码
上面的一幅图即为无信道编码情况下的误比特率情况。根据我们学过的知识,卷积码编码在通信中有着重要的作用,其加入了更多的校验码,
相关推荐: