一、实验目的

实现 BPSK 调制在 AWGN 信道下分别使用卷积码和不使用卷积码的性能仿真,并绘制信噪比-误比特率曲线进行对比分析。其中,卷积码的约束长度为 7,生成多项式为 [133,171],码率为 1/2;译码分别使用硬判决/软判决维特比译码。


二、仿真实验

clear all; clc;   EbNo=0:10;      % SNR的范围
N=1000000;      % 消息比特数
M=2;            % 调制阶数(BPSK调制)
L=7;            % 约束长度  trel=poly2trellis(L,[133,171]);     % 卷积码生成多项式
tblen=6*L;                          % Viterbi译码器回溯深度
msg=randint([0,1],1,N);             % 产生随机消息比特序列
msg1=convenc(msg,trel);             % 1/2卷积编码
x1=pskmod(msg1,M);                  % BPSK调制  for snr = 1:length(EbNo)   % 加入AWGN,因为码率为1/2,故每个符号能量比比特能量少3dB  y=awgn(x1,EbNo(snr)-3);  y1=pskdemod(y,M);                                         % 硬判决  y1=vitdec(y1,trel,tblen,'cont','hard');                   % Veterbi译码  [err,ber1(snr)]=biterr(y1(tblen+1:end),msg(1:end-tblen)); % 计算误比特率  y2=vitdec(real(y),trel,tblen,'cont','unquant');           % 软判决  [err,ber2(snr)]=biterr(y2(tblen+1:end),msg(1:end-tblen)); % 计算误比特率
end  ber=berawgn(EbNo,'psk',2,'nodiff');           % 计算未编码BPSK调制误比特率
semilogy(EbNo,ber,'-go',EbNo,ber1,'-r*',EbNo,ber2,'-b+');
legend('未编码BPSK调制误比特率','编码(硬判决译码)误比特率','编码(软判决译码)误比特率')
grid on;
title('卷积码性能对比')
xlabel('Eb/No');ylabel('误比特率')

三、结果分析

随着信噪比的增大,不论有无使用卷积码编码,误比特率都在降低。但以(硬判决)维特比译码为例,对比之下,在大信噪比时(约大于3dB),有经过编码的误比特率较低;而在小信噪比时(约小于3dB),编码后的误比特率反而大于未编码时的误比特率。原因在于:在小信噪比情况下,编码的纠错能力超过了纠错门限以至于纠错码不再纠错,反而造成了更多的错误。

相同情况下,随着信噪比的增大,软判决译码和硬判决译码误比特率都在降低,但前者的误比特率总比后者更低且差别越来越大,即:软判决的纠错能力优于硬判决译码。或者说,在相同误比特率下,软判决译码算法的信噪比相较硬判决译码算法提升2dB左右。原因在于:维特比译码的软判决算法与硬判决算法相比,软判决译码算法的路径度量采用“软距离(常用欧几里德距离)”而非汉明距离。在采用软距离的情况下,路径度量的值为模拟量,需经过一些处理以便于相加和比较。因此,计算复杂度有所提高。除了路径度量以外,软判决算法与硬判决算法在结构和过程上完全相同。然而,由于硬判决译码的判决过程损失了信道信息,其性能是不如软判决译码的。

【OFDM】AWGN 信道下 BPSK 调制 (卷积码) 性能对比仿真实验 (Matlab 实现)相关推荐

  1. mASK调制在AWGN信道下的可达信息速率的Monte Carlo仿真计算法

    本文探究mASK调制在AWGN信道下的可达信息速率用Monte Carlo仿真计算的方法.参考我的上一篇博文<mASK 调制在AWGN信道下的可达信息速率的积分计算>,解决的方法相同,只是 ...

  2. 最大玻尔兹曼分布的mASK信号在AWGN信道下的容量计算

    最大玻尔兹曼分布的mASK信号在AWGN信道下的容量计算_u011852612的博客-CSDN博客

  3. AWGN信道下的香农限

    香农限的概念 香农定义的信道容量为信道的输入信息X与信道的输出信息Y之间的最大互信息熵,即 对于信道带宽为B,信号功率为Ps ,噪声功率PN 的AWGN信道来说,其信道容量可做如下表示, 而香农限则是 ...

  4. 基于matlab的qpsk与bpsk信号性能比较仿真,基于matlab的QPSK与BPSK信号性能比较仿真.doc...

    基于matlab的QPSK与BPSK信号性能比较仿真.doc 2装订线目 录第一章概述2第二章QPSK通信系统原理与仿真22.1 QPSK系统框图介绍22.2QPSK信号的调制原理32.2.1QPSK ...

  5. php下curl与file_get_contents性能对比

    为什么80%的码农都做不了架构师?>>>    上一篇讲了 <php使用curl替代file_get_contents>, 后续贴出了curl和file_get_cont ...

  6. AWGN信道下卷积编码、viterbe译码、分别采用软硬判决,进行误码率分析

    一.卷积编码 仿真 (硬判决译码 误码率和理论值比较) 已知卷积码生成函数: 可知码率为1/3,相应的抽头系数为(557 663 711)的卷积码.编写程序,采用卷积编码.维特比译码(硬判决),BPS ...

  7. 【均衡器】LS均衡器,DEF均衡器以及LMMSE均衡器的误码率性能对比仿真

    1.软件版本 matlab2017b 2.系统概述 clc; clear all; close all; warning off; addpath 'func\' rng(1)N = 300000;% ...

  8. 多目标优化算法:MOFPA、MOFA、MOCS、MOBA、MOHHO五种多目标优化算法性能对比(提供MATLAB源码)

    多目标花朵授粉算法(MOFPA) 多目标萤火虫算法(MOFA) 多目标布谷鸟搜索算法(MOCS) 多目标蝙蝠优化算法(MOBA) 多目标哈里斯鹰优化算法(MOHHO) 参考文献: 将MOFPA.MOF ...

  9. matlab 通讯系统设计与仿真,基于BPSK通信系统的设计与仿真

    基于BPSK通信系统的设计与仿真 一.BPSK信号调制原理 1.1  系统原理 file:///C:\Users\ADMINI~1.KGH\AppData\Local\Temp\ksohtml\wps ...

  10. iLogtail 与Filebeat 性能对比

    简介:前段时间, iLogtail 阿里千万实例可观测采集器开源,其中介绍了iLogtail采集性能可以达到单核100MB/s,相比开源采集Agent有5-10倍性能优势.很多小伙伴好奇iLogtai ...

最新文章

  1. 硬件Pythia:将现实世界桥接到区块链
  2. CMMI/CMM组织的角色设置与行政角色设置的问题.
  3. C语言如何依次读取字符,C中的字符串,如何获取subString
  4. 栗子——自定义EditText实现右下角计数控件
  5. 一看就明白的超标量超流水线超线程简介
  6. 莫烦Python机器学习
  7. 数据库基础知识七:同义词
  8. java实现fp-growth算法
  9. python查询水果价格_C语言查询水果价格
  10. 人人网、7K7K、178等各网站迅雷地址。最新得到的各种URL。
  11. 电容击穿之后是开路还是短路?
  12. java坦克大战案例_JAVA实现经典坦克大战源代码
  13. 富文本编辑器mavon-editor文章回显
  14. 计算机一直重启故障原因可能是,电脑一直自己重启的原因与修复方法大全
  15. 2D骨骼动画工具DragonBones的使用教程
  16. 机器学习数学原理(1)——极大似然估计法
  17. 台湾半导体制造商台积电市值首次超越英特尔
  18. python笑傲江湖统计字数_python编程题----字符串的处理(统计)
  19. 上门预约程序公众号模块 完美版
  20. 每天学一个 Linux 命令(14):cat

热门文章

  1. Linux系统下安装Chrome浏览器
  2. 温度反转效应(文末附2018数字IC后端最新校招笔试题目)
  3. Linux环境下YUM和DNF详细介绍
  4. FBReader阅读引擎支持的功能
  5. 记录自已学习之ARM汇编语言之bic和orr
  6. 【测试理论】三、测试流程管理
  7. matlab 太阳系仿真,三维仿真太阳系
  8. python实现C4.5
  9. Android开关按键(左右复选)
  10. JAVA毕设项目基于vue框架的疫情防控知识在线答题系统设计与实现(java+VUE+Mybatis+Maven+Mysql)