基于 Convolutional 编译码的 Matlab 仿真
设计报告
目 录
1 概述 .................................................................................................................................................1
2 设计原则和设计依据 .................................................................................................................... 1
2.1 设计原则............................................................................................................................. 1
2.2 设计依据............................................................................................................................. 1
3 主要功能与性能指标要求 ............................................................................................................ 1
3.1 主要功能 ............................................................................................................................. 1
3.2 主要性能指标要求 ............................................................................................................. 2
4 总体方案设计 ................................................................................................................................ 2
4.1 编码原理 ............................................................................................................................. 2
(1)卷积码编码器构造........................................................................................................ 2
(2)生成矩阵 G(x)................................................................................................................3
(3)状态图 ............................................................................................................................ 3
4.2 BPSK 调制........................................................................................................................... 4
4.3 AWGN 信道 ......................................................................................................................... 4
4.4 BPSK 解调........................................................................................................................... 4
4.5 译码原理 ............................................................................................................................. 5
5 编码设计 .........................................................................................................................................5
5.1 原理介绍 ............................................................................................................................. 5
5.2 具体设计 ............................................................................................................................. 6
6 BPSK 调制 .......................................................................................................................................6
6.1 原理介绍 ............................................................................................................................. 6
6.2 具体设计 .............................................................................................................................. 6
7 AWGN 信道 .....................................................................................................................................7
7.1 原理介绍 ............................................................................................................................. 7
7.2 具体设计 .............................................................................................................................. 7
8 BPSK 解调 .......................................................................................................................................7
9 译码设计 .........................................................................................................................................7
9.1 Viterbi 译码过程 .................................................................................................................. 7
9.2 Viterbi 硬判决...................................................................................................................... 8
9.3 Viterbi 软判决...................................................................................................................... 9
10 仿真结果 .......................................................................................................................................9
附录 ...................................................................................................................................................11
基于 Convolutional 编译码的 Matlab 仿真
1 概述
这是老师给我们布置的第一个任务,即用Matlab或者C语言编写码率为1/2的卷积码
+BPSK调制,信道为AWGN信道,接收端采用Viterbi译码的MonterCarlo仿真,最终得到信
噪比(Eb/N0,dB)与误比特率BER的仿真曲线;其学生开展了“基于Convolutional编译码的
仿真”的研究,核心是Viterbi译码的编写,有Viterbi硬判决和软判决两种方法。
2 设计原则和设计依据
2.1 设计原则.
a) 编译码实现简单, 以最大限度减低实现复杂度。
b) 在卷积码译码能力之内, 能正确译码。
c)误比特率在可接受范围内,尽量保证最小。
2.2 设计依据.
吴晓富老师发来的任务书( E- mail) 及充分利用网络资源进行科学的调研。
3 主要功能与性能指标要求
3.1 主要功能
基于Convolutional编译码仿真的框图如下图所示:
随机 0,1 序
列
k bit->n bit
序列产生
信道编码
BPSK 调制
0,1->+1,-1
0.1 序列
n bit->k bit
n bit->k bit
0,1 序列
信息输出
Viterbi 软译码
y =x+noise
AWGN 信道
Viterbi 硬译码
+1,-1->0,1
BPSK 解调
y =x+noise
图1:基于Convolutional编译码的仿真的功能框图
1
基于 Convolutional 编译码的 Matlab 仿真
3.2 主要性能指标要求
a.输入端发送的信源为随机产生的1000个二进制数,即1000bit信息。在此,我可以定义信源
序列:L=1000; bit_sig=rand(1,L)>0.5;L为比特数,bit_sig为信源序列。
b.传输数据编码采用卷积码(2,1, 3),其组成如下:
输出码长n =2;
信息位k=1;
约束长度N=3;
约束关系(75 ;
门限0.5V;
编码补偿位0bits。
c.Viterbi译码器主要参数要求:
码长n =2;
信息位k=1;
约束长度N=3;
约束关系(75 ;
补偿位数1bits;
路径长度=
判决门限=0V;
4 总体方案设计
4.1 编码原理
(1)卷积码编码器构造
;
一个单输入双输出的离散时间系统可以用图2所示的框图表示。
2
基于 Convolutional 编译码的 Matlab 仿真
系统输入和输出之间的关系可以用z域或时域表示如下:
图2 单输入双输出系统
或
如果上述离散时间系统的k 路输入是待编码的k 位消息序列, n 路输出是n 位编码序列,
则一个离散时间系统就构成了一个( n , k) 卷积码编码器。
以(2,1,3)卷积码为例,其编码器构成框图如下:
图3 卷积码编码器构成框图
(2)生成矩阵 G(x)
给定了生成矩阵G(x),就给定了卷积码编码器,当知道信源消息序列时,可以由生成矩阵
完成序列的编码。
G( x) = [1 + x +
1 +
]
= 1
, =1 +
3
基于 Convolutional 编译码的 Matlab 仿真
(3)状态图
图4(2,1,3)卷积码状态图
4.2 BPSK 调制
经过信道编码产生的卷积码二进制 0,1 序列,经 BPSK 调制后变为双极性信号。BPSK
的时域表达式为
t)=Acos(
),通常用初始相位 0 和п分别表示二进制“1”和“0”,
即
4.3 AWGN 信道
AWGN 信道会产生加性高斯白噪声 n(t),其功率谱密度=1W/Hz,期望=0V。经过 AWGN
信道,接收信号 y(t)=x(t)+n(t),其中 x(t)为调制信号。
4.4 BPSK 解调
BPSK相干解调器结构如图5所示:
相乘器
LPF
抽样判决器
cos 其 中
定时脉冲
图5 BPSK解调器框图
4
基于 Convolutional 编译码的 Matlab 仿真
BPSK在这里的作用就是判决,恢复0,1序列,即:
rec-bit=
其中r为解调器接收的序列。
4.5 译码原理
表1 卷积码的三种译码方式及优缺点
译码方式
门限译码
(也称大树逻辑译码)
优点
性能最差
缺点
硬件实现简单
维特比译码
性能最佳
硬件实现复杂
序列译码
性能介于维特比译码
硬件实现难度介于维特比译码
和门限译码之间
和门限译码之间
卷积码的三种译码方式如表1所示。考虑到工程的需要和实际情况,选用最佳卷积译码
方式—Viterbi译码。我们在译码器的详细设计中给出其中两种译码算法,包括Viterbi硬判决
和软判决。
(1)Viterbi硬判决
硬判决译码即比较汉明距离作为累计度量。若在译码前不进行0,1判决而直接译码,则
是下面提到的软判决。
(2)Viterbi软判决
硬判决译码即比较欧式距离作为累计度量。直接计算欧式距离
2
d
n
1
(r x )
i
i
i
0
2
,找出其
中的最小欧式距离路径(本任务未进行Q进制量化,Q>2)。具体过程同Viterbi硬判决。
5 编码设计
5.1 原理介绍
卷积编码是通过采用移位寄存器以及异或逻辑电路实现的,将该卷积编码器用生成多项
式来表示,可表示为(有关该编码器的说明:设定输入信息序列为,那么输出序列为),所
以
5
基于 Convolutional 编译码的 Matlab 仿真
i=0,1,2……。
5.2 具体设计
对于(2,1,3)卷积码,n=2,k=1,可用图6实现。此时,生成矩阵G( x) =[1 + x +
1 +
]
图6 卷积码编码器构成框图
定义编码函数conv_code(x)及变量memory和new_memory。使用取余函数mod()来计
算模2加,并通过for循环以求得
i=0,1,2……。
6 BPSK 调制
6.1 原理介绍
BPSK调制的作用是产生双极性信号(+1,-1),即
bpsk_sig=
其中code_sig为信道编码后的发送序列,bpsk_sig为调制后的序列。
6.2 具体设计
为了简化设计,我们采用了基带传输,没有采用调频方式的BPSK,即:
bpsk_sig=1-2*code_sig;
6