本节研究结合基于QPSK调制解调方式的卷积编解码的MATLAB仿真实现。
(卷积码的介绍见本人博客卷积编解码的FPGA实现1,2,3)
仿真参数设计为:原始信息码元为随机生成的随机数,编码器初始值为“1000000”,卷积编码约束为(2,1,7),即编码长度n=2,信息长度k=1,编码约束长度m=7;卷积码的编码多项式为:f1=1+x3+x4+x5+x6,f2=1+x+x3+x4+x6;
原始信息数据(卷积编码前数据)经QPSK调制后仿真图如下图所示:
QPSK调制仿真
从图可以看出,原始信息码元为25个,编码后信息码元长度为50个,即编码码率为1/2,与(2,1,7)相呼应。经过QPSK调制后,得到数据的模值为0.707,相位为四个。QPSK调制后的数据经过高斯白噪声信道后为最终发射端输出的数据,也即是接收端接收到的数据,接收端接收到数据后先进行QPSK解调,QPSK解调后的信号如下图所示:
QPSK解调仿真
从图中可以看出,经过QPSK解调后的数据与卷积编码后的数据一模一样,即本系统正确的实现了QPSK解调。QPSK解调后进行卷积码的译码,卷积码译码仿真结果如下图所示:
QPSK解码仿真
从图中可以看出,本仿真系统正确的实现了维特比译码的仿真。